@charset "utf-8";
/*
Theme Name: KEA
Version: 1.0.0
Author: 株式会社グロウニッチ
Author URI: https://growniche.co.jp/
*/

/* ========================================================
  ROOT
========================================================= */
:root {
  --color-base: #333;
  --color-theme: #214ca3;
  --color-white: #ffffff;
  --color-blue: #4893d0;
  --color-blue-2: #1370b8;
  --color-border: #b4ab9061;
  --color-gray: #eaeaea;
  --color-bg: #fbf5ee;
  --border-radius: 15px;
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --font-family: "M PLUS Rounded 1c","Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic",-apple-system,BlinkMacSystemFont,Arial,Meiryo, sans-serif;
}

/* ========================================================
  RESET
========================================================= */
* {
	padding: 0px;
	margin: 0px;
	outline: none;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  background: transparent;
  border: 0;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  border: 0;
  -webkit-text-size-adjust: none;
  overflow-y: scroll;
}

body {
  background-color: #fff;
	color: var(--color-base);
	cursor: default;
  font-size: clamp(0.938rem, 0.866rem + 0.18vw, 1rem);
  font-weight: 400;
	line-height: 2;
  font-feature-settings: "pwid";
  letter-spacing: .02em;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: 0;
}

figure figcaption {
  margin-top: .5em;
}

a {
	color: var(--color-theme);
  text-decoration: none;
  transition: opacity .4s;

}
a:hover,
a:hover img {
  color: var(--color-blue);
  text-decoration: none;
	opacity: .8;
	-webkit-opacity: .8;
	-moz-opacity: .8;
}
a img {
  transition: all .3s;
}

/* ========================================================
  LAYOUT
========================================================= */
/*  header ------------------  */
.header {
  width: 100%;
  position: absolute;
  /* position: sticky; */
  z-index: 999;
  height: 100px;
  /* top:0; */
  left:0;
  transition: all .3s;
}
.header__inner {
  width: 97%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  margin: 0 auto;
  align-items: center;
  transition: all .3s;
}
.header__logo {
  /* position: fixed; */
  position: absolute;
  top: 0;
  left: 30px;
  z-index: 1000;
  transition: all .3s;
}
.header__logo a {
  background-image: url(../kea/images/common/logo-bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position-y: 100%;
  display: block;
  padding: 15px 20px 30px 20px;
  filter: drop-shadow(0px 2px 3px rgba(0, 0, 0, 0.14));
  line-height: 0;
}
.header__logo img {
  width: 135px;
  line-height: 1;
  vertical-align: text-bottom;
}
.fixed .header__logo {
  display: none;
}


.header.fixed {
  height: 65px;
}


/*  nav-global ------------------  */
.global-nav {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.global-nav__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
  flex-flow: row nowrap;
  justify-content: left;
  margin: 0;
  list-style: none;
  gap: 30px;
}
.global-nav li.global-nav__item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 0;
  letter-spacing: 0.08em;
}
.global-nav li.global-nav__item a {
  color: var(--color-base);
  text-decoration: none;
  font-size: 17px;
  font-weight: 500;
  display: block;
  position: relative;
  width: 100%;
  padding: 36px 0;
  /* transition: all .3s; */
}
@media only screen and (max-width: 1200px) {
.global-nav li.global-nav__item a {
  font-size: 15px;
}
}
.global-nav li.global-nav__item > a:hover {
  opacity: inherit;
}
.global-nav li.global-nav__item > a::before {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: var(--color-theme);
  bottom: 30px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.global-nav li.global-nav__item a:hover::before,
.product .global-nav li.global-nav__item.global-nav--product a::before,
.about .global-nav li.global-nav__item.global-nav--about a::before,
.shop .global-nav li.global-nav__item.global-nav--shop a::before,
.contact .global-nav li.global-nav__item.global-nav--contact a::before {
  transform: scale(1, 1);
  transform-origin: left top;
}

.global-nav li.global-nav__item.global-nav__mail a:hover::before  {
  display: none;
}

.global-nav__dropdown-menu {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: -10px;
  white-space: nowrap;
  list-style: none;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 10px 20px;
}
.global-nav .global-nav__item:hover .global-nav__dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: .8s;
  transition:  .8s;
}
.global-nav .global-nav__item .global-nav__dropdown-menu a {
  font-size: 15px;
  font-weight: 400;
  display: block;
  text-align: left;
  padding: 10px 0 5px 10px;
  position: relative;
}
.global-nav .global-nav__item .global-nav__dropdown-menu a::before {
  content: "";
  width: 5px;
  height: 1px;
  display: block;
  background-color: #000;
  position: absolute;
  top: 55%;
  left: 0;
  transform: translateY(-55%);
  -webkit-transform: translateY(-55%);
}
.global-nav .global-nav__item .global-nav__dropdown-menu a:hover {
  color: #2293d2
}
.global-nav .global-nav__item .global-nav__dropdown-menu a:hover::before {
  background-color: #2293d2;
}

.global-nav__pc-child {
  z-index: -1;
  /* display: none; */
  opacity: 0;
  position: absolute;
  width: 680px;
  z-index: 9;
  top: 90%;
  left: 0;
  background-color: #fff;
  padding: 0;
  -webkit-box-shadow: 0 6px 15px rgba(130, 115, 105, .2);
  box-shadow: 0 6px 15px rgba(130, 115, 105, .2);
  border-radius: 10px;
  visibility: hidden;
}
.js-mega-menu:hover .global-nav__pc-child {
  opacity: 1;
  visibility: visible;
  display: block;
  transition: .5s;
}
li.js-mega-menu.is-active .global-nav__pc-child {
  opacity: 100;
  transition: .3s;
}
li.js-mega-menu > a::after {
  position: relative;
  top: 2px;
  bottom: 0;
  right: -4px;
  width: 14px;
  height: 14px;
  /* transform: rotate(135deg);
  border-right: 2px solid var(--color-theme);
  border-top: 2px solid var(--color-theme); */
  background-image: url(../kea/images/common/icon_mega-menu.svg);
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
}

.home .global-nav li.global-nav__item > a,
.home .global-nav li.global-nav__item > a:hover,
.page-template-page-heroheader .global-nav li.global-nav__item > a,
.page-template-page-heroheader .global-nav li.global-nav__item > a:hover {
  color: var(--color-white);
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.8);
}
.home .global-nav li.global-nav__item.global-nav__mail a,
.page-template-page-heroheader .global-nav li.global-nav__item.global-nav__mail a {
  text-shadow: none;
}
.home li.js-mega-menu > a::after,
.page-template-page-heroheader li.js-mega-menu > a::after {
  filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.4));
}

.pc-child__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
  gap: 30px;
}
.pc-child__nav {
  flex: 1;
}
.pc-child__nav .pc-child__row {
  display: flex;
  align-items: stretch;
}
.pc-child__nav .pc-child__row .pc-child__title {
  width: 170px;
  background-color: var(--color-blue);
  border-radius: 10px 0 0 10px;
  padding: 0 20px;
}
.pc-child__nav .pc-child__row .pc-child__title a,
.pc-child__nav .pc-child__row .pc-child__title a:hover {
  font-size: 18px;
  color: #fff;
}
.pc-child__nav .pc-child__row .pc-child__title a span {
  display: block;
  font-size: 11px;
  color: #fff;
}
.pc-child__nav ul {
  margin-left: 0;
  display: -webkit-box;url(https://s-page.biz/gws/wp-content/uploads/sites/18/2025/09/main-1.png)
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  flex: 1;
  /* border-left: 1px solid #ddd; */
  padding: 20px 20px 20px 2em;
}
.pc-child__nav ul li.pc-child__item {
  width: 50%;
  margin: 0;
  position: relative;
}
.pc-child__nav ul li.pc-child__item a {
  font-size: 12px;
  font-weight: 500;
  padding: 10px 0;
  padding-left: 25px;
  position: relative;
  text-align: left;
  letter-spacing: 0.05em;
}
.pc-child__nav ul li.pc-child__item a:hover {
  color: var(--color-theme);
}
.pc-child__nav ul li.pc-child__item a::before {
  content: "";
  width: 15px;
  height: 10px;
  background-image: url(../kea/images/common/icon-arrow.svg);
  display: block;
  background-repeat: no-repeat;
  position: absolute;
  top: 18px;
  left: 0;
  transition: all .3s;
}
.global-nav li.global-nav__item a:hover {
  color: var(--color-base);
}

.global-nav li.global-nav__item.global-nav__mail a {
  background-color: var(--color-theme);
  border-radius: 100px;
  color: var(--color-white);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .08em;
  height: 44px;
  line-height: 44px;
  padding: 0 20px 0 20px;
  text-align: center;
  text-decoration: none;
  /* transition: all .3s; */
}
.global-nav li.global-nav__item.global-nav__mail a:hover {
  background-color: var(--color-blue);
  transition: all .3s;
}
.global-nav li.global-nav__item.global-nav__mail a:hover img {
  opacity: 1;
}
.global-nav li.global-nav__item.global-nav__mail a .icon {
  width: 18px;
  height: 18px;
}

.header__logo--sp {
  display: none;
}
.nav-in-logo {
  display: none;
  margin: 0 auto;
}
.panelactive .nav-in-logo {
  display: block;
  width: 150px;
  height: 120px;
  margin-top: 20px;
  z-index: 9;
}

.global-nav__logo {
  display: none;
}
.panelactive .global-nav__logo {
  display: block;
  width: 140px;
  height: auto;
  margin: 0 auto 20px;
}
@media only screen and (max-width: 480px) {
.panelactive .global-nav__logo {
  display: block;
  width: 80px;
  height: auto;
  margin: 0 auto 20px;
  position: relative;
}
}

.openbtn {
  /* display: none; */
  opacity: 0;
  visibility: hidden;
  top: 20px;
  right: 20px;
	cursor: pointer;
	width: 70px;
	height: 70px;
  background-color: var(--color-theme);
  border-radius: 100px;
  position: fixed;
	z-index: 9999;/*ボタンを最前面に*/
  transition: all .1s;
}
.openbtn.show {
  opacity: 1;
  visibility: visible;
  transition: all .3s;
}

/* PCなどホバー可能な端末だけにhoverエフェクトを適用 */
@media (hover: hover) and (pointer: fine) {
  .openbtn.show:hover {
    background-color: var(--color-blue);
    transform: scale(1.1);
  }
}

.nav-open .header__logo img {
	width: 70px;
}
.nav-open .global-nav {
	position: absolute;
	z-index: 998;
	width: 100%;
	height: auto;
  padding: 0;
}
.panelactive .nav-bg {
  opacity: 0;
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100vh;
  padding: 60px 20px 30px;
  background-color: #eef7ff;
  overflow: auto;
  left: 0;
  top: 0;
  visibility: hidden;
  background-image: url(../kea/images/common/manu_bg.svg);
  background-size: cover;
  background-position: center;
}
.nav-open .nav-bg.show {
  opacity: 1;
  visibility: visible;
}
.nav-open .global-nav {
  opacity: 0;
  position: fixed;
  z-index: 998;
  width: 100%;
  height: 100vh;
  padding: 80px 20px 30px;
  overflow: auto;
  left: 0;
  top: 0;
  visibility: hidden;
  transition: all .3s;
}
.nav-open .global-nav.panelactive {
  opacity: 1;
  visibility: visible;
}
.nav-open  .global-nav__wrap {
  display: flex;
  flex-wrap: wrap;
  border-right: none;
  border-radius: 10px;
  padding: 20px 5% 20px;
  gap: 0 20px;
  opacity: 0;
  width: 100%;
  height: fit-content;
  max-width: 1200px;
  margin: 0 auto;
  pointer-events: none;
  /* background-color: #ffffffd4; */
}
.nav-open .panelactive .global-nav__wrap {
  opacity: 1;
  pointer-events: initial;
}
.nav-open .global-nav__dropdown-menu {
  opacity: 1;
  position: static;
  width: 100%;
  white-space: nowrap;
  padding: 0px 20px 10px;
  background-color: inherit;
}
.nav-open .global-nav li.global-nav__item {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
.nav-open .global-nav li.global-nav__item a {
  padding: 20px 10px 20px 0;
  text-align: left;
  text-shadow: none;
  color: var(--color-base);
}
.nav-open .global-nav li.global-nav__item.global-nav__menu a {
  padding-bottom: 10px;
}

.nav-open .global-nav li.global-nav__item a:hover {
  color: var(--color-theme);
  text-shadow: none;
}
.nav-open .pc-child__nav ul li.pc-child__item a::before {
  top: 20px;
}
.nav-open .global-nav li.global-nav__item > a {
  border-top: 1px solid #074e8852;
  font-family: var(--font-serif);
  font-size: 20px;
  padding-left: 40px;
}
.nav-open .global-nav li.global-nav__item:nth-child(4) a,
.nav-open .global-nav li.global-nav__item:nth-child(5) a,
.nav-open .global-nav li.global-nav__item:nth-child(6) a {
  border-bottom: 1px solid #074e8852;
}
.nav-open .global-nav li.global-nav__item > a::before {
  content: '';
  background-color: var(--color-theme);
  border-radius: 100px;
  width: 30px;
  height: 30px;
  position: absolute;
  top: 39px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 0;
  transition: all .2s ease;
}
.nav-open .global-nav li.global-nav__item > a:hover::before {
  width: 34px;
  height: 34px;
  left: -2px;
  background-color: var(--color-blue);
}
.nav-open .global-nav li.global-nav__item.obal-nav__mail a::before {
  display: none;
}
.nav-open .global-nav li.global-nav__item > a::after {
  content: "";
  display: block;
  width: 30px;
  height: 30px;

  background-image: url(../kea/images/common/icon-arrow-w.svg);
  background-repeat: no-repeat;
  background-size: 10px 10px;
  background-position: 50%;
  border-radius: 100px;
  position: absolute;
  left: 0;
  top: 24px;
}
.nav-open .global-nav li.global-nav__item.global-nav__mail {
  width: 100%;
  padding: 40px 0 20px;
}
.nav-open .global-nav li.global-nav__item.global-nav__mail a {
  width: 80%;
  max-width: 460px;
  color: #fff;
  justify-content: center;
  padding: 28px 10px 28px 0;
}
.nav-open .global-nav li.global-nav__item.global-nav__mail > a::before,
.nav-open .global-nav li.global-nav__item.global-nav__mail > a::after {
  display: none;
}
.nav-open .global-nav li.global-nav__item.global-nav--contact a {
  border-bottom: 1px solid var(--color-border);
}
.nav-open .global-nav__item a::before {
  content: none;
}
.nav-open .global-nav li.global-nav__item.global-nav__home,
.nav-open .global-nav li.global-nav__item.global-nav__privacy,
.nav-open .global-nav li.global-nav__item.global-nav__policy {
  display: block;
}
.nav-open .global-nav li.global-nav__item.global-nav__menu {
  width: 100%;
}
.nav-open .global-nav li.global-nav__item {
  position: relative;
  width: calc(33% - 20px);
}
.nav-open li.js-mega-menu span.btn-plus {
  cursor: pointer;
  display: block;
  height: 63px;
  position: absolute;
  right: 0;
  top: 0;
  width: 60px;
}
.nav-open li.js-mega-menu span.btn-plus::before,
.nav-open li.js-mega-menu span.btn-plus::after {
  background: #fff;
  border-radius: 5px;
  content: '';
  display: block;
  height: 2px;
  position: absolute;
  right: 35%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 12px;
}
.nav-open li.js-mega-menu span.btn-plus::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: .3s;
  transition: .3s;
}
.nav-open li.js-mega-menu span.btn-plus.active::after {
  opacity: 0;
  -webkit-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition: .3s;
  transition: .3s;
}
.nav-open .global-nav__pc-child {
  opacity: 0;
  position: relative;
  max-width: inherit;
  width: 100%;
  background-color: transparent;
  box-shadow: none;
  border-radius: 10px;
  margin: 0 0 10px 0;
  padding: 0;
  visibility: visible;
  top: auto;
}
.nav-open .panelactive .global-nav__pc-child {
  opacity: 1;
}
.nav-open .pc-child__nav ul {
  margin-top: 0;
  padding: 0 .5em 0 .5em;
  gap: 0 5px;
  justify-content: space-between;
}
.nav-open .pc-child__nav ul li {
  width: calc(33% - 2px);
}
.nav-open .pc-child__nav ul li:nth-child(even) {
  border-right: none;
}
.nav-open .global-nav li.global-nav__item .pc-child__nav ul li a {
  font-size: 16px;
  padding: 8px 10px 8px 23px!important;
  background-position: center 10px;
  background-size: 35px;
}
.nav-open .pc-child__nav ul li:nth-child(n+7)::after {
  display: block;
}
.nav-open .pc-child__nav ul li:last-of-type:after {
  display: none;
}
.nav-open .global-nav li.global-nav__item.sp-nav {
  display: block;
}
.nav-open .pc-child__nav .pc-child__row .pc-child__title {
  display: none;
}

.openbtn.active {
  background-color: var(--color-theme);
  border-left: none;
}
.openbtn span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 19px;
	height: 3px;
	border-radius: 2px;
	background-color: #fff;
	width: 45%;
}
.openbtn span:nth-of-type(1) {
  top:20px; 
}
.openbtn span:nth-of-type(2) {
  top:28px;
}
.openbtn span:nth-of-type(3) {
  top:36px;
}
.openbtn.active span:nth-of-type(1) {
  top: 21px;
  left: 19px;
  transform: translateY(6px) rotate(-45deg);
  width: 45%;
  background-color: #fff;
}
.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(3){
  top: 33px;
  left: 19px;
  transform: translateY(-6px) rotate(45deg);
  width: 45%;
  background-color: #fff;
}
.openbtn .openbtn-menu {
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  position: absolute;
  bottom: 8px;
  left: 50%;
  color: #fff;
  transform: translateX(-50%);
  letter-spacing: 0.08em;
}


.global-nav li.global-nav__item .pc-child__nav ul li a {
  font-size: 13px;
}
.global-nav__wrap {
  gap: 25px;
  margin: 0 0 0 auto;
}

html.fixed {
  height: 100%;
  overflow: hidden;
}

@media only screen and (max-width: 1300px) {
.header__logo img {
  width: 120px;
}
}
@media only screen and (max-width: 1000px) {
.openbtn {
  display: block;
}
/* .header {
  position: fixed!important;
} */
.header__inner {
  padding: 0;
  transition: none;
  height: 60px;
  width: 94%;
}
.header__logo a {
  padding: 10px 15px 20px 15px;
}
.header__logo img {
  width: 80px;
}

.icon-tel {
  width: 18px;
}
.global-nav.panelactive .header__logo--sp {
  display: block;
  z-index: 999;
  margin: 0 auto;
  padding-top: 90px;
}
.global-nav.panelactive .header__logo--sp img {
  width: 140px;
}
.nav-open .global-nav li.global-nav__item > a:hover::before {
  width: 30px;
  height: 30px;
  left: 0px;
  background-color: var(--color-theme);
}
}
@media only screen and (max-width: 600px) {
.openbtn {
  top: 10px;
  right: 15px;
  width: 60px;
  height: 60px;
}
.openbtn span {
	left: 17px;
}
.openbtn span:nth-of-type(1) {
  top: 16px;
}
.openbtn span:nth-of-type(2) {
  top: 24px;
}
.openbtn span:nth-of-type(3) {
  top: 32px;
}
.openbtn.active span:nth-of-type(1) {
  top: 18px;
	left: 17px;
}
.openbtn.active span:nth-of-type(3){
  top: 30px;
	left: 17px;
}
.nav-open .global-nav li.global-nav__item .pc-child__nav ul li a {
  font-size: 12px;
  padding: 8px 5px 8px 20px !important;
}
.openbtn .openbtn-menu {
  font-size: 8px;
}
.nav-open  .global-nav__wrap {
  padding: 15px 15px 40px;
}
.nav-open .global-nav li.global-nav__item {
  width: 100%;
}
.nav-open .global-nav li.global-nav__item:nth-child(4) a {
  border-bottom: none;
}
.panelactive .nav-bg {
  background-color: #eef7ff;
}
.nav-open .global-nav li.global-nav__item:nth-child(5) a {
  border-bottom: none;
}
.nav-open .pc-child__nav ul li {
  width: 49%;
}
.nav-open .pc-child__nav ul li.pc-child__item a::before {
  top: 15px;
}
}

@media only screen and (max-width: 480px) {
.header__logo {
  position: relative;
  top: 10px;
  left: 0;
  z-index: 1;
  transition: none;
}
.nav-open .header__logo img {
	width: 70px;
}
}

/*---------------------------------
  header search
-----------------------------------*/
.home .global-nav .open-btn,
.page-template-page-heroheader  .open-btn {
  background-image: url("images/common/icon_search_w.svg");
}
/*========= 検索窓を開くための虫眼鏡ボタン設定 ===========*/
.open-btn{
	/* position: absolute; */
	top:10px;
	right:10px;
	background: url("images/common/icon_search.svg") no-repeat 10px center;
	background-size: 18px 18px;
	width:40px;
	height:40px;
	border-radius: 50%;
	cursor: pointer;
  transition: all .4s;
}
.open-btn:hover{
  background-color: var(--color-theme);
  background-image: url("images/common/icon_search_w.svg");
}
/*========= 検索窓の設定 ===============*/
/*==検索窓背景のエリア*/
#search-wrap{
  position:fixed;/*固定配置にして*/
  top: -15vh;
  left: 0;
  z-index: -1;/*最背面に設定*/
  opacity: 0;/*透過を0に*/
  transition: all 0.4s;/*transitionを使ってスムースに現れる*/
  width:100%;
  height: 15vh;
}
/*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後の見た目*/
#search-wrap.panelactive{
  opacity: 1;/*不透明に変更*/
  z-index: 3;/*全面に出現*/
  background: var(--color-theme);
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
}
/*==検索窓のエリア*/
#search-wrap .search-area{
	display: none;/*検索窓のエリアは、はじめ非表示*/
}
/*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後*/
#search-wrap.panelactive .search-area{
	display: block;/*検索窓エリアを表示*/
	width: 60%;
	position: relative;
}
/*==検索フォームの設定*/
#search-wrap form{
	position: relative;
	height: 66px;
}
/*==テキスト入力とボタンinput共通設定*/
#search-wrap input{
	-webkit-appearance:none;/*SafariやChromeのデフォルトの設定を無効*/
	outline: none;
	cursor: pointer;/*カーソルを指マークに*/
	color: #fff;
}
/*テキスト入力input設定*/
#search-wrap input[type="text"] {
	width: 100%;
	padding: 20px;
	border: none;
	transition: all 0.5s;
	letter-spacing: 0.05em;
  color: var(--color-base);
  border-radius: 10px;
  border: 1px solid #074e8852;
}
#search-wrap input[type="text"]:focus {
	background:#fff;
  box-shadow: inset 0px 0px 10px rgba(0,0,0,.1);
}
/*ボタンinput設定*/
#search-wrap input[type="submit"] {
  position: absolute;
  top:0;
  right:0;
  background:url("images/common/icon_search.svg") no-repeat 15px center;/*虫眼鏡アイコンを背景に表示*/
  background-size: 25px 25px;
  width: 60px;
  height: 60px;
  border: none;
}
/*=======　閉じるための×ボタン　========*/
.close-btn{
	position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
	right: 15%;
	z-index: 2;
	cursor: pointer;
  width: 60px;
  height:60px;
  display: none;
}
.panelactive .close-btn {
  display: block;
}
.close-btn span{
  display: inline-block;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #fff;
}
/*×マーク*/
.close-btn span:nth-of-type(1) {
  top: 21px;
  left: 16px;
  transform: translateY(6px) rotate(-135deg);
  width: 50%;
}
.close-btn span:nth-of-type(2){
  top: 32px;
  left: 16px;
  transform: translateY(-6px) rotate(135deg);
  width: 50%;
}

#search-wrap.footer-search {
  position: relative;
  z-index: 1;
  height: auto;
  margin-bottom: 2em;
  opacity: 1;
}
#search-wrap.footer-search .search-area {
  display: block;
}
.blog-footer #search-wrap {
  top: 0;
}
.nav-open .open-btn,
.nav-open .close-btn,
.nav-open .panelactive .close-btn {
  display: none;
}
.nav-open #search-wrap {
  opacity: 1;
  position: relative;
  margin: 10px 0 0;
  height: auto;
  z-index: 1;
  top: 0;
  width: 80%;
  max-width: 460px;
  background-color: transparent;
}
.nav-open #search-wrap .search-area {
  display: block;
}
.nav-open .global-nav li.global-nav__item.global-nav__search {
  width: 100%;
}

/*  ----------------------------------------------  */
/*  PAGE HOME   */
/*  ----------------------------------------------  */
.pickup-post {
  background-color: #fff;
  border-radius: 100px 0 0 100px;
  position: absolute;
  right: 0;
  bottom: 50px;
  margin-left: 50px!important;
  padding: 15px 25px;
  box-shadow: 1px 1px 9px 0px rgba(0, 0, 0, 0.15);
  font-size: 15px;
  z-index: 9;
  letter-spacing: 0.05em;
}
.pickup-post a {
  display: flex;
  align-items: center;
}
.pickup-post a:hover {
  opacity: 1;
}
.pickup-post a .pickup-heading {
  padding-right: 15px;
  border-right: 1px solid var(--color-gray);
  white-space: nowrap;
  font-weight: 700;
}
.pickup-post a:hover .pickup-heading {
  color: var(--color-theme)
}
.pickup-post a .pickup-title {
  padding-left: 15px;
  color: var(--color-base);
  transition: all .3s;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}
.pickup-post a:hover .pickup-title  {
  color: var(--color-blue);
}
@media only screen and (max-width: 600px) {
.pickup-post {
  bottom: 0;
  box-shadow: none;
  border-radius: 15px;
  margin: 0 auto;
  right: 0;
  left: 0;
  width: 90%;
  position: relative;
  margin-top: -2em !important;
}
.pickup-post a {
  flex-direction: column;
}
.pickup-post a .pickup-heading {
  border-right: none;
  margin-right: auto;
}
.pickup-post a .pickup-title {
  padding-left: 0;
  margin-right: auto;
}
}

.mainvisual {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  width: 100vw;
  height: 92vh;
}
.mainvisual.wp-block-cover .wp-block-cover__inner-container {
  max-width: 1300px!important;
  width: 100%;
  position: absolute;
  left: 5%;
  top: 15%;
}
.mainvisual .main-heading {
  transform: rotate(-8deg);
}
.mainvisual .main-heading .main-heading-en {
  font-size: clamp(1.5rem, -0.682rem + 5.45vw, 3.75rem)!important;
  display: inline-block;
  margin-bottom: .5em;
  letter-spacing: 0;
}
.mainvisual .main-heading .main-heading-jp {
  font-size: clamp(1.313rem, 0.04rem + 3.18vw, 2.625rem)!important;
  margin-top: .5em;
}
.scale-up {
  opacity: 0;
  transform: scale(0.9);
  transform-origin: left bottom;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.is-root-container .scale-up {
  opacity: 1;
}
.scale-up.show {
  opacity: 1;
  transform: scale(1);
}
.components-drop-zone .scale-up {
  opacity: 1;
}
/* ライン（最初は幅0） */
.line-anim {
  width: 0;
  height: 2px;
  background: var(--color-white);
  margin-top: 6px;
  margin-block-start: 0!important;
  transition: width 0.6s ease;
  position: absolute;
}

.mainvisual .award-medal {
  max-width: 180px;
  position: absolute;
  padding: 15px;
  left: 0;
  margin-top: 120px;
  opacity: 0;
  transform: scale(0.9);
  transform-origin: center center;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.is-root-container .mainvisual .award-medal {
  opacity: 1;
}
.mainvisual .award-medal.show  {
  opacity: 1;
  transform: scale(1);
}
.mainvisual .award-medal::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('images/home/school_award-medal_bg.png');
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: 50% 50%;
  animation: spin 20s linear infinite;
  z-index: -1; /* テキストの後ろに配置 */
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media only screen and (max-width: 600px) {
.mainvisual .award-medal {
  max-width: 150px;
  right: 30px;
  left: initial;
  margin-top: 220px;
}
}

/*  loader ------------------  */
/* ページローダー */
.page-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
/* 4つの丸 */
.loader-dots {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}
.loader-dots span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  animation: loader-dot 1.2s infinite ease-in-out;
}
/* 4色 */
.loader-dots span:nth-child(1) {
  background: #8ec31f;
  animation-delay: 0s;
}
.loader-dots span:nth-child(2) {
  background: #33b566;
  animation-delay: 0.15s;
}
.loader-dots span:nth-child(3) {
  background: #00b1c1;
  animation-delay: 0.3s;
}
.loader-dots span:nth-child(4) {
  background: #0186cd;
  animation-delay: 0.45s;
}
/* アニメーション */
@keyframes loader-dot {
  0%,
  60%,
  100% {
      transform: translateY(0);
      opacity: 0.5;
  }
  30% {
      transform: translateY(-10px);
      opacity: 1;
  }
}

/*  news-list ------------------  */
.home-news {
  position: relative;
}
.home-news__link {
  position: relative;
  margin-top: 2.5em!important;
}
@media only screen and (max-width: 781px) {
.home-news__link {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 0;
}
}

.news-list .news-list__date {
  white-space: nowrap;
  width: 6em;
}
.news-list .news-list__cate {
  white-space: nowrap;
}
.news-list .news-list__title {
  font-size: 15px;
}
.news-list a {
  transition: all .3s;
}
.news-list .news-list__title a:hover {
  opacity: 1;
}
@media only screen and (max-width: 600px) {
.news-list {
  flex-wrap: wrap!important;
}
.news-list .news-list__cate {
  font-size: 10px !important;
}
.news-list .news-list__title {
  font-size: 14px!important;
  width: 100%;
}
}

/*  ----------------------------------------------  */
/*  Common   */
/*  ----------------------------------------------  */
/*  heading ------------------  */
.heading-lv1 {
  font-size: clamp(2.125rem, 0.982rem + 2.86vw, 3.125rem);
  color: var(--color-theme);
  background-image: url(images/common/heading_dot.svg);
  background-repeat: no-repeat;
  background-size: 40px;
  background-position: 2px 100%;
  line-height: 1.1;
  padding-bottom: 20px;
  word-break: break-word;
  letter-spacing: 0;
}
.heading-lv1-sub {
  font-size: clamp(0.938rem, 0.723rem + 0.54vw, 1.125rem);
  font-weight: 400;
  margin-block-start: 0 !important;
  padding-top: 15px;
  word-break: break-word;
}
.heading-lv1.heading--center {
  text-align: center!important;
  background-position: 50% 100%;
}
.heading-lv1-2 {
  font-size: clamp(1.438rem, 0.653rem + 1.96vw, 2.125rem);
  font-weight: 500;
  color: var(--color-base);
  background-image: url(images/common/heading_dot.svg);
  background-repeat: no-repeat;
  background-size: 32px;
  background-position: 2px 100%;
  line-height: 1.3;
  margin-bottom: 1em!important;
  padding-bottom: 20px;
  word-break: break-word;
}
.heading-lv1-2.heading--center {
  font-size: clamp(1.625rem, 0.769rem + 2.14vw, 2.375rem);
  text-align: center!important;
  background-position: 50% 100%;
  background-size: 45px;
}
.heading-lv2 {
  font-size: clamp(1.25rem, 0.821rem + 1.07vw, 1.625rem);
  font-weight: 500;
  color: var(--color-theme);
  position: relative;
  letter-spacing: 0;
}
.heading-lv2-2 {
  font-size: clamp(1.25rem, 0.821rem + 1.07vw, 1.625rem);
  font-weight: 400;
  color: var(--color-theme);
  margin: 0 0 1em!important;
  position: relative;
}
.heading-lv2-2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2em;
  display: block;
  width: 10%;
  height: 1px;
  background-color: var(--color-theme);
}
.heading-lv3 {
  font-size: clamp(1.125rem, 0.624rem + 1.25vw, 1.563rem);
  font-weight: 500;
  line-height: 1.3;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-theme);
  margin: 1em 0 1em!important;
  padding-bottom: .8em;
}

.heading--insta {
  font-size: clamp(1.25rem, 0.821rem + 1.07vw, 1.625rem);
  line-height: 1.3;
}
.heading--insta::before {
  content: "";
  background-image: url(images/common/icon_Instagram.svg);
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  width: 32px;
  height: 32px;
  position: relative;
  margin-right: 10px;
  vertical-align: text-bottom;
}

.nav-title {
  background-color: #ffffff;
  padding: 16px 74px 18px 0;
  position: absolute;
  bottom: -15px;
  border-radius: 0 15px 0 0;
}
.nav-title h3 {
  padding-right: 15px;
}

.img-radius-r img {
  border-radius: 0 15px 15px 0;
}
.img-radius-l img {
  border-radius: 15px 0 0 15px;
}
@media only screen and (max-width: 781px) {
.img-radius-r img,
.img-radius-l img {
  border-radius: 15px 15px 0 0;
}
}

.feature-number {
  position: relative;
  min-height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 781px) {
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.feature-number {
  flex-basis: 90px !important;
  flex-grow: initial;
  margin: 0 auto;
}
}

.menu-3col__item {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 781px) {
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.menu-3col__item {
  flex-basis: calc(33% - 20px) !important;
}
}

.item-wrap {
  position: relative;
}
.item-wrap .layout-1-content {
  padding: 5% 30px 3%!important;
}
@media only screen and (max-width: 1080px) {
.item-wrap .layout-1-content {
  flex-basis: 60%!important;
  padding: 6% 30px 3%!important;
}
.item-wrap .layout-1-img {
  flex-basis: 40%!important;
  margin-left: auto!important;
}
}
@media only screen and (max-width: 781px) {
.item-wrap .layout-1-content {
  padding: 5%!important;
}
}

.subject-l {
  position: absolute!important;
  top: 0;
  left: 0;
  z-index: 2;
  margin-bottom: 0 !important;
}
.subject-r {
  position: absolute!important;
  top: 0;
  right: 0;
  z-index: 2;
  margin-bottom: 0 !important;
}
@media only screen and (max-width: 781px) {
.subject-r {
  right: inherit;
  left: 0;
  border-radius: 15px 0 15px 0!important;
}
}

.admission-flow {
  position: relative;
}
.admission-flow::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--color-theme);
  position: absolute;
  top: 50%;
}
@media only screen and (max-width: 1080px) {
.admission-flow.wp-block-columns {
  flex-wrap: wrap !important;
}
.admission-flow::before {
  display: none;
}
.admission-flow.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex-basis: 30% !important;
}
}
@media only screen and (max-width: 781px) {
.admission-flow.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
  flex-basis: 46% !important;
}
}

.label-green {
  background-color: #86c128;
  border-radius: 5px;
  color: #fff!important;
  font-size: 17px;
  font-weight: 400;
  padding: 6px 10px;
  line-height: 1.2;
  display: inline-block;
}
.label-blue {
  background-color: #298bd6;
  border-radius: 5px;
  color: #fff!important;
  font-size: 17px;
  font-weight: 500;
  padding: 6px 10px;
  line-height: 1.2;
  display: inline-block;
}
.label-beige {
  background-color: #c5ab70;
  border-radius: 5px;
  color: #fff!important;
  font-size: 17px;
  font-weight: 500;
  padding: 6px 10px;
  line-height: 1.2;
  display: inline-block;
}
@media only screen and (max-width: 781px) {
.label-green,
.label-blue,
.label-beige {
  font-size: 16px;
}
}


.annual-event.wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: wrap !important;
}
.annual-event__item {
  flex-basis: calc(50% - 20px) !important;
}
.annual-event-number {
  font-size: 14px;
  font-weight: 500;
  width: 55px;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 1100px) {
.annual-event-l,
.annual-event-r {
  display: none;
}
}
@media only screen and (max-width: 600px) {
.annual-event__item {
  flex-basis: 100% !important;
}
}

.fouryear-flow .fouryear-flow__header {
  display: flex;
  background-size: contain;
}
.fouryear-flow .fouryear-flow__header.fouryear-flow__header--1 { background-color: #86c90e; }
.fouryear-flow .fouryear-flow__header.fouryear-flow__header--2 { background-color: #0eaf62; }
.fouryear-flow .fouryear-flow__header.fouryear-flow__header--3 { background-color: #2bc8ce; }
.fouryear-flow .fouryear-flow__header.fouryear-flow__header--4 { background-color: #28aaf4; }

.fouryear-flow .fouryear-flow__header .wp-block-media-text__content {
  width: 45%;
  display: flex;
  height: stretch;
  border-radius: 15px 0 0 0;
  flex-direction: column;
  padding: 2% 2% 2% 3% !important;
  justify-content: center;
  background-size: cover;
  background-position: center;
}
.fouryear-flow .fouryear-flow__header .wp-block-media-text__media {
  width: 55%!important;
  display: flex;
}
.fouryear-flow .fouryear-flow__header .wp-block-media-text__media img {
  border-radius: 0 15px 0 0;
}
.fouryear-flow__header--junior .fouryear-flow__header .wp-block-media-text__content  {
  background-image: url(images/program/coreprogram/coreprogram_flow_1_bg.png);
}
.fouryear-flow__header--k1 .fouryear-flow__header .wp-block-media-text__content {
  background-image: url(images/program/coreprogram/coreprogram_flow_2_bg.png);
}
.fouryear-flow__header--k2 .fouryear-flow__header .wp-block-media-text__content {
  background-image: url(images/program/coreprogram/coreprogram_flow_3_bg.png);
}
.fouryear-flow__header--k3 .fouryear-flow__header .wp-block-media-text__content {
  background-image: url(images/program/coreprogram/coreprogram_flow_4_bg.png);
}
.fouryear-flow .fouryear-flow__header h2 {
  font-size: 45px;
  font-weight: 700;
  color: #fff;
  position: relative;
  line-height: 1.2;
  margin-bottom: .2em;
  padding-bottom: .5em;
}
.fouryear-flow .fouryear-flow__header h2::after {
  content: "";
  background-image: url(images/common/heading_dot_w.svg);
  background-repeat: no-repeat;
  background-size: 40px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 10px;
  opacity: .5;
}
.fouryear-flow .fouryear-flow__header p {
  font-size: 26px;
  font-weight: 400;
  color: #fff;
}
.fouryear-flow .fouryear-flow__content {
  padding: 2% 8%;
}
.fouryear-flow .fouryear-flow__heading {
  border-bottom: 2px solid var(--color-border);
  clear: both;
  font-weight: 400;
  margin-bottom: .5em;
  padding: 0 0 .5rem;
  position: relative;
}
.fouryear-flow .fouryear-flow__heading::before {
  background: #86c90d;
  border-right: 4px solid #fff;
  bottom: -2px;
  left: 0;
  width: 10%;
  height: 2px;
  content: '';
  margin: 0;
  position: absolute;
}
.fouryear-flow__header--k1.fouryear-flow .fouryear-flow__heading::before {
  background: #11af62;
}
.fouryear-flow__header--k2.fouryear-flow .fouryear-flow__heading::before {
  background: #2cc8ce;
}
.fouryear-flow__header--k3.fouryear-flow .fouryear-flow__heading::before {
  background: #24a4ed;
}
@media only screen and (max-width: 1150px) {
.fouryear-flow .fouryear-flow__content {
  padding: 2% 3%;
}
}
@media only screen and (max-width: 781px) {
.fouryear-flow .fouryear-flow__header {
  flex-direction: column;
}
.fouryear-flow .fouryear-flow__header .wp-block-media-text__content {
  width: 100%;
  padding: 3% 2% 3% 5% !important;
  border-radius: 15px 15px 0 0;
}
.fouryear-flow .fouryear-flow__header .wp-block-media-text__media {
  width: 100% !important;
}
.fouryear-flow .fouryear-flow__header .wp-block-media-text__media img {
  border-radius: 0;
}
.fouryear-flow .fouryear-flow__heading {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
}

/*  保護者様の声 ------------------  */
.voice-list {
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  gap: 30px;
  justify-content: center;
}
.voice-list .voice-list__item {
  width: calc(33.33% - 20px);
  background-color: #fff;
  border: 1px solid var(--color-border);
  border-radius: 15px;
  display: flex;
  flex-direction: column;
}
.voice-list .voice-list__item a {
  flex-grow: 1;
}
.voice-list-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  background-color: var(--color-blue-2);
  border-radius: 0 0 15px 15px;
  margin-top: 0;
  padding: 20px;
  position: relative;
}
.voice-list-footer::before {
  content: "";
  background-image: url(images/common/icon_bubble.svg);
  background-size: cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  width: 30px;
  height: 16px;
}
.voice-list-footer img {
  width: 60px;
}
.voice-list-name {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .1em;
  color: #fff!important;
}
.voice-list-name span {
  font-size: 14px;
}
.voice-list-title {
  padding: 6% 5% 4%;
  color: var(--color-theme)!important;
  line-height: 1.7;
}
.voice-list-text {
  flex-grow: 1;
  margin-bottom: 1em !important;
  padding: 0 5% 0%;
  line-height: 1.7;
}
.voice-list-link.link-arrow {
  text-align: right;
  display: block;
  margin: 0 5% 5%;
  line-height: 1.3;
}
.voice-list-empty {
  text-align: center;
}
.voice-list.voice-list__archive {
  flex-wrap: wrap;
  justify-content: flex-start;
}
.voice-list-term {
  font-size: 13px;
  margin-bottom: 0 !important;
  margin-top: auto;
  padding: 10px 20px;
  border-top: 1px solid var(--color-border);
  line-height: 1.4;
}
@media only screen and (max-width: 781px) {
.voice-list {
  flex-wrap: wrap;
  gap: 25px;
}
.voice-list .voice-list__item {
  width: 100%;
}
}

/*  よくある質問 ------------------  */
.faq-list {
  margin: 0 0 3em!important;
  display: flex;
  flex-wrap: wrap;
  gap: 4%;
}
.faq-item {
  border-bottom: 1px solid var(--color-border);
  padding: 1.5em 0;
  width: calc(50% - 2%);
}
.faq-question {
  display: flex;
  gap: 0 15px;
  margin-bottom: .7em;
}
.faq-question .faq-q {
  display: block;
  background-color: var(--color-theme);
  border-radius: 100px;
  color: #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  font-size: 18px;
  font-weight: 500;
}
.faq-question .faq-q-heading {
  font-size: clamp(1rem, 0.857rem + 0.36vw, 1.125rem);
  flex: 1;
  color: var(--color-theme);
  line-height: 1.6;
  padding-top: .2em;
}
.faq-answer {
  display: flex;
  gap: 0 15px;
}
.faq-answer .faq-a {
  display: block;
  background-color: #86c128;
  border-radius: 100px;
  color: #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  font-size: 18px;
  font-weight: 500;
}
.faq-answer .faq-answer-content {
  font-size: clamp(0.938rem, 0.866rem + 0.18vw, 1rem);
  flex: 1;
  line-height: 1.6;
  padding-top: .2em;
}
@media only screen and (max-width: 781px) {
.faq-list {
  flex-direction: column;
}
.faq-item {
  width: 100%;
}
.faq-question .faq-q,
.faq-answer .faq-a {
  width: 34px;
  height: 34px;
  line-height: 34px;
  font-size: 16px;
}
.faq-question,
.faq-answer {
  gap: 0 10px;
}
}


.tourbox {
  position: relative;
}
.tourbox::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.tourbox::after {
  content: "";
  background-image: url(images/common/icon_tour.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 6px;
  height: 40px;
  position: absolute;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  z-index: 2;
}
.tourbox-heading {
  font-size: 34px;
  font-weight: 600;
  line-height: 1.4;
  padding-top: 190px;
  padding-bottom: .5em;
}
.tourbox-heading strong {
  font-weight: 600;
  position: relative;
  z-index: 2;
}
.tourbox-heading::before {
  content: "";
  background-image: url(images/common/icon_flag.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 50px;
  position: absolute;
  top: 120px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
.tourbox-heading::after {
  content: "";
  background-image: url(images/program/tour_2.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 140px;
  position: absolute;
  top: 120px;
  left: 50%;
  background-position: 72% 30px;
  transition: background-position 1.2s ease-in-out;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  opacity: .5;
}
.tourbox-heading.is-show::after {
  background-position: 80% 0;
  opacity: 1;
}
.tourbox-innerbox {
  padding: 5% 8%;
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
}
.tourbox-flow {
  position: relative;
}
.tourbox-flow::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background-color: #c1d9dd;
  transform: translateX(-50%);
  z-index: 1;
}
.tourbox-flow__item {
  border: 1px solid #c1d9dd;
  position: relative;
  z-index: 2;
}
.tourbox-flow__item-txt {
  border-left: 1px solid #c1d9dd;
  padding-left: 1.5em;
}
.tourbox-footer {
  background-image: url(images/program/tour_bg.png);
  background-repeat: repeat-x;
  background-position: 50% 100%;
  padding: 4% 6%!important;
}
.tourbox-footer-heading {
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  line-height: 1;
}
.tourbox-footer-heading::before,
.tourbox-footer-heading::after {
  width: 1px;
  height: 40px;
  content: "";
  background-color: #fff;
}
.tourbox-footer-heading::before {
  margin-right: 0.5em;
  transform: rotate(-30deg);
}
.tourbox-footer-heading::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}
.single-post .entry h3.tourbox-footer-heading {
  border-bottom: none;
  margin-top: 0;
  font-size: clamp(1rem, 0.643rem + 0.89vw, 1.313rem);
}
.btn-visit,
.btn-line {
  width: 100%;
  font-size: clamp(1.125rem, 0.982rem + 0.36vw, 1.25rem);
}
.btn-visit strong {
  font-weight: 500;
  background-image: url(images/common/icon_flag_w.svg);
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: 0 50%;
  padding-left: 1.5em;
}
.btn-line strong {
  font-weight: 500;
  background-image: url(images/common/icon_line.svg);
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: 0 50%;
  padding-left: 1.5em;
}
.tourbox-footer__tel {
  border-left: 1px dashed #ffffff7a;
  padding-left: 1.5em;
}
.single-post .entry .tourbox-footer__tel {
  border-left: none;
  padding-left: 0;
}
.tourbox-footer-tellink {
  color: #fff;
  font-size: clamp(1.5rem, 1.071rem + 1.07vw, 1.875rem);
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  letter-spacing: -.04em;
  margin-top: .5em !important;
  margin-bottom: .5em!important;
}
.tourbox-footer-tellink  strong {
  font-weight: 700;
  background-image: url(images/common/icon_phone_w.svg);
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: 0 50%;
  padding-left: 1.3em;
  white-space: nowrap;
}
@media only screen and (max-width: 1080px) {
.tourbox-innerbox {
  padding: 4% 6%;
}
.tourbox-footer {
  padding: 8% 4%!important;
}
}
@media only screen and (max-width: 781px) {
.tourbox-heading {
  font-size: 26px;
}
.tourbox-flow__item {
  flex-wrap: wrap!important;
}
.tourbox-flow__item-title,
.tourbox-flow__item-txt {
  flex-basis: 100%!important;
}
.tourbox-flow__item-txt {
  border-left: none;
  padding-left: 0;
}
.tourbox-innerbox {
  padding: 4% 4%;
}
.tourbox-footer-heading {
  font-size: 20px;
}
.tourbox-footer__tel {
  border-left: none;
  padding-left: 0;
}
}
@media only screen and (max-width: 480px) {
.tourbox-footer-heading {
  font-size: 17px;
}
}
@media only screen and (max-width: 380px) {
.tourbox-footer-heading {
  font-size: 16px;
}
}

.number_list-2col.wp-block-columns {
  align-items: stretch !important;
}
.number_list-2col.wp-block-columns .number_list-2col__item {
  align-self: auto !important;
}

/*  ----------------------------------------------  */
/*  FLOATING BANNER   */
/*  ----------------------------------------------  */
.floating-banner {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 340px;
  z-index: 997;
  box-shadow: 0vw .13vw .36vw 0 rgba(0, 0, 0, .2);
}
.floating-banner a {
  display: block;
}
.floating-banner img {
  display: block;
  width: 100%;
  height: auto;
}
/* 閉じるボタン */
.floating-banner-close {
  position: absolute;
  top: -12px;
  right: -12px;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-size: 22px;
  line-height: 30px;
  text-align: center;
  cursor: pointer;
  z-index: 2;
}
.floating-banner-close:hover {
  opacity: 0.8;
}
@media screen and (max-width: 640px) {
.floating-banner {
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  bottom: 0;
  width: 280px;
}
.floating-banner-close {
  width: 26px;
  height: 26px;
  top: -10px;
  right: -10px;
  font-size: 19px;
  line-height: 26px;
}
}

/*  ----------------------------------------------  */
/*  PAGE COMMON   */
/*  ----------------------------------------------  */
/*  btn ------------------  */
.link-arrow {
  color: var(--color-base);
  position: relative;
  text-decoration: none;
  display: inline;
  padding-right: 33px;
}
.link-arrow:hover {
  color: var(--color-theme);
  opacity: 1;
}
.link-arrow::before {
  content: '';
  background-color: var(--color-theme);
  border-radius: 100px;
  width: 22px;
  height: 22px;
  position: absolute;
  right: 0;
  bottom: -1px;
  transition: all .2s ease;
}
.link-arrow::after {
  content: '';
  background-image: url("images/common/icon-arrow-w.svg");
  background-repeat: no-repeat;
  background-position: right center;
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 7px;
  bottom: 6px;
  transition: all .2s ease;
}
/* PCなどホバー可能な端末だけにhoverエフェクトを適用 */
@media (hover: hover) and (pointer: fine) {
.link-arrow:hover::before {
  background-color: var(--color-blue);
  transform: translate(0, 0) scale(1.12);
}
}
@media only screen and (max-width: 640px) {
.link-arrow {
  padding-right: 28px;
}
.link-arrow::before {
  width: 22px;
  height: 22px;
  bottom: 0;
}
.link-arrow::after {
  width: 8px;
  height: 8px;
  right: 7px;
  bottom: 7px;
}
}

.link-arrow-2 {
  position: relative;
  padding-left: 20px;
}
.link-arrow-2::before {
  content: '';
  background-image: url("images/common/icon-arrow.svg");
  background-repeat: no-repeat;
  background-position: right center;
  display: inline-block;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 4px;
  bottom: 4px;
}

.menu-arrow a {
  color: var(--color-base);
  position: relative;
  text-decoration: none;
  display: inline-block;
  padding-right: 50px;
}
.menu-arrow a:hover {
  color: var(--color-blue);
  opacity: 1;
}
.menu-arrow a::before {
  content: '';
  background-color: var(--color-theme);
  border-radius: 100px;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  right: 0;
  transition: all .2s ease;
}
.menu-arrow a::after {
  content: '';
  background-image: url("images/common/icon-arrow-w.svg");
  background-repeat: no-repeat;
  background-position: right center;
  display: inline-block;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  right: 11px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transition: all .2s ease;
}
/* PCなどホバー可能な端末だけにhoverエフェクトを適用 */
@media (hover: hover) and (pointer: fine) {
.menu-arrow a:hover::before {
  background-color: var(--color-blue);
  transform: translate(0, -50%) scale(1.15);
}
}
.nav-title .menu-arrow a {
  padding-right: 40px;
}
.nav-title .menu-arrow a::before {
  width: 30px;
  height: 30px;
}
.nav-title .menu-arrow a::after {
  width: 10px;
  height: 10px;
}
.contents .wp-block-list.link-list-arrow {
  list-style: none;
  margin-left: 0;
}
.contents .wp-block-list.link-list-arrow li {
  margin-bottom: 10px;
}
.wp-block-list.link-list-arrow li {
  list-style: none;
}
.wp-block-list.link-list-arrow a {
  padding-left: 38px;
  padding-right: 0;
}
.wp-block-list.link-list-arrow .menu-arrow a::before {
  left: 0;
}
.wp-block-list.link-list-arrow .menu-arrow a::after {
  background-position: left center;
  left: 0;
  transform: translateX(10px) translateY(-50%);
  -webkit-transform: translateX(10px) translateY(-50%);
}
.wp-block-list.link-list-arrow .menu-arrow a::before {
  width: 30px;
  height: 30px;
}
.wp-block-list.link-list-arrow .menu-arrow a::after {
  width: 10px;
  height: 10px;
}

.list-2col {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 30px;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.list-2col li {
  width: calc(50% - 15px);
}
@media only screen and (max-width: 781px) {
.link-arrow a::before {
  width: 35px;
  height: 35px;
}
.link-arrow a::after {
  width: 16px;
  height: 16px;
}
.list-2col {
  gap: 10px 15px;
}
.order-1 {
  order: 2;
}
}


.link-blank {
  color: var(--color-base);
  position: relative;
}
.link-blank:hover {
  color: var(--color-theme);
}
.link-blank::after {
  content: '';
  background-image: url("images/common/icon_blank.svg");
  background-repeat: no-repeat;
  background-position: right center;
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 0;
  right: -24px;
  transition: all .2s ease;
}

/*  背景パターン ------------------  */
.bg-full::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 94%;
  height: 100%;
  background-color: var(--color-bg);
  z-index: -1;
  border-radius: 15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
.bg-right::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - 10%);
  height: calc(100% - 2em);
  background-color: var(--color-bg);
  z-index: -1;
  border-radius: 15px 0 0 15px;
}
.bg-left::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% - 10%);
  height: calc(100% - 2em);
  background-color: var(--color-bg);
  z-index: -1;
  border-radius: 0 15px 15px 0;
}
.bg-half-bottom::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 94%;
  height: 50%;
  background-color: var(--color-bg);
  z-index: -1;
  border-radius: 15px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
@media only screen and (max-width: 1380px) {
.bg-right::after,
.bg-left::after {
  width: calc(100% - 2em);
}
}
@media only screen and (max-width: 1160px) {
.bg-right::after,
.bg-left::after {
  width: 100%;
  border-radius: 0;
}
}
@media only screen and (max-width: 1080px) {
.bg-full {
  margin: 0;
}
.bg-full::after {
  border-radius: 0;
  border-radius: 0;
  width: 100%;
}
.bg-half-bottom::after {
  border-radius: 0;
  width: 100%;
  height: 50%;
}
}


.wp-block-cover.alignfull {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.page-heroheader-bg.wp-block-cover.alignfull {
  min-height: 540px;
}
.page-heroheader {
  padding: 5.5em .2em;
}
.page-heroheader__h1 {
  font-size: clamp(1.875rem, 0.161rem + 4.29vw, 3.375rem)!important;
  font-weight: 500;
  line-height: 1.2;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
}
.page-heroheader__h1-sub {
  font-size: clamp(1rem, 0.714rem + 0.71vw, 1.25rem)!important;
  font-weight: 600;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
}
@media only screen and (max-width: 600px) {
.page-heroheader-bg.wp-block-cover.alignfull {
  min-height: 280px;
}
}

.lp-heroheader-bg.wp-block-cover.alignfull {
  min-height: 710px;
  padding: 1em 2em;
}
.lp-heroheader__h1 {
  font-size: clamp(1.875rem, 0.161rem + 4.29vw, 3.375rem)!important;
  font-weight: 600;
  line-height: 1.2;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
}
.lp-heroheader__h1-lead {
  font-size: clamp(1.25rem, 0.536rem + 1.79vw, 1.875rem)!important;
  font-weight: 500;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.6);
  line-height: 1.5;
}
@media only screen and (max-width: 640px) {
.lp-heroheader-bg.wp-block-cover.alignfull {
  min-height: 500px;
  padding: 1em;
}
}

.page-template-default .header,
.page-template-page .header,
.error404 .header,
.search-results .header {
  position: relative;
}
.page-header {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  text-align: center;
  background-image: linear-gradient(90deg, #eefcff 1%, #dff9ff 48%, #dffff4);
  margin-bottom: 2.5em;
  padding: 4em 1em;
}
.page-title-jp {
  font-size: clamp(1.375rem, 0.947rem + 1.07vw, 1.75rem);
  font-weight: 500;
}
.page-title-en {
  font-size: clamp(0.625rem, 0.482rem + 0.36vw, 0.75rem);
}

.w-1100 {
  width: calc(100% + 120px);
  margin-left: -60px;
  margin-right: -60px;
}
@media only screen and (max-width: 1200px) {
.w-1100 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
}

.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1024px;
  margin-left: auto !important;
  margin-right: auto !important;
}
.alignwide {
  max-width: 1300px;
}

.breadcrumbs {
  background-image: url(images/common/icon_house.svg);
  background-size: 20px;
  background-repeat: no-repeat;
  font-size: 12px;
  line-height: 1.4;
  margin: 4em auto 0;
  padding: .2em 0 1em 30px;
  letter-spacing: .05em;
  position: relative;
  left: 0;
  bottom: 0;
  color: var(--color-base);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  opacity: .8;
}
.breadcrumbs ul {
  margin: 0 auto 1em!important;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.breadcrumbs li {
  display: inline;
  margin: 0;
  vertical-align: bottom
}
.breadcrumbs li a {
  color: var(--color-base);
  text-decoration: none;
}
.breadcrumbs ul li a:after,.blogHeader-inner .breadcrumbs ul li a:after {
  content: '/';
  color: var(--color-base);
  margin: 0 7px
}
@media only screen and (max-width: 480px) {
  .breadcrumbs {
    font-size: 11px;
    background-size: 18px;
    padding: .2em 0 .2em 25px;
  }
}

/*  Page in Menu----------------------------------------------  */
.contents .nav-pagein {
  margin: 1em 0 3em;
}
.contents .nav-pagein ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin: 0;
  padding-bottom: .5em;
}
.nav-pagein ul li { 
  text-align: center;
  margin-bottom: .5em;
  line-height: 1.3;
}
.nav-pagein ul li a { 
  color: var(--color-base);
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
  padding: 1.5em 1.5em;
  position: relative;
}
.nav-pagein ul li a::after { 
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  width: 45px;
  height: 2px;
  background-color: var(--color-border);
  bottom: 5px;
  margin: 0 auto;
  transition: all .3s;
}
.nav-pagein ul li a:hover::after { 
  background-color: var(--color-base);
}
.nav-pagein ul li a:hover { 
  opacity: 1;
}
@media only screen and (max-width: 1000px) {
.contents .nav-pagein ul {
  padding-bottom: 1em;
}
.nav-pagein ul li a { 
  font-size: 13px;
}
.nav-pagein ul li { 
  width: 50%;
  border-left: none;
  margin-bottom: 0;
}
.nav-pagein ul li a { 
  padding: 1.5em .5em;
}
}


/*  ----------------------------------------------  */
/*  PAGE SITE MAP   */
/*  ----------------------------------------------  */
.sitemap #sitemap_list {
  margin: 3em 0;
}
.sitemap #sitemap_list a {
  color: var(--color-base);
  display: block;
  padding-right: 10px;
}
.sitemap #sitemap_list a:hover {
  color: var(--color-theme);
}
.sitemap .wsp-pages-list li {
  margin: 0;
  padding: 20px 0;
  background: none;
  border-bottom: 1px solid var(--color-border);
  list-style: none;
  line-height: 1.5;
}
.sitemap .wsp-pages-list li ul.children {
  display: flex;
  flex-wrap: wrap;
  margin-left: 1.5em;
  list-style: disc;
}
.sitemap .wsp-pages-list li ul.children li.page_item {
  border-bottom: none;
  width: 33.333%;
  padding: 15px 15px 1px 0;
  list-style: disc;
}
.sitemap .wsp-pages-list li ul.children li.page_item ul.children li.page_item {
  width: 100%;
}
@media only screen and (max-width: 640px) {
.sitemap .wsp-pages-list li ul.children {
  margin-left: 1em;
}
.sitemap .wsp-pages-list li ul.children li.page_item {
  width: 50%;
}
}

/*  ----------------------------------------------  */
/*  PAGE ETC   */
/*  ----------------------------------------------  */
.features-message {
  position: relative;
}
.features-message__w700 {
  max-width: 700px!important;
  padding: 0 20px;
}
.features-message__img-l {
  position: absolute!important;
  left: -13%;
  top: 5%;
  width: 24%;
  z-index: 2;
}
.features-message__img-r {
  position: absolute!important;
  right: -13%;
  top: 5%;
  width: 24%;
}
.features-message__img-top,
.features-message__img-btm {
  margin-top: -9.5em!important;
}
@media only screen and (max-width: 900px) {
.features-message__img-l,
.features-message__img-r {
  display: none!important;
}
.features-message__img-top,
.features-message__img-btm {
  margin-top: -4em!important;
}
}

/*  ----------------------------------------------  */
/*  PAGE CONTACT   */
/*  ----------------------------------------------  */
.section-contact .section__inner {
  max-width: 720px;
}

.form_01 {
  border-top: 1px solid var(--color-border);
  margin: 1.5em 0 2em;
}
.form_01 dt {
  font-weight: 400;
  clear: left;
  float: left;
  padding: 20px 0 20px;
  text-align: left;
  width: 19em;
}
.form_01 dt span.red {
  color: #fff!important;
  background-color: #ec0000;
  padding: 2px 6px;
  font-size: 12px;
  border-radius: 4px;
  margin-right: 10px;
  float: right;
}
.form_01 dd {
  padding: 20px 0 20px 21.5em;
  text-align: left;
  border-bottom: 1px solid var(--color-border);
}
.form_01 input {
    margin-right: 0;
}
.wpcf7-list-item {
  margin: 0!important;
}
.wpcf7-list-item label {
  margin: 0 1em 0 0!important;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
  width: 100%;
}

input, textarea, select {
  background: none repeat scroll 0 0 #fff;
  border: 1px solid #cacaca;
  color: #000;
  margin-bottom: 5px;
  margin-right: 5px;
  padding: 10px;
  font-size: 16px;
}
input.wpcf7-submit,
button[type="submit"],
input.button-primary {
  border: none;
  border-radius: 99px;
  background-color: var(--color-base);
  box-shadow: 0 0 0 rgba(255, 255, 255, 0.5) inset, 2px 2px 2px rgba(0, 0, 0, 0.1);
  color: #fff;
  cursor: pointer;
  min-width: 120px;
  margin: 0 0 20px;
  padding: 0;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .1em;
  -webkit-appearance: none;
  display: table;
  margin: 0 auto;
  transition: all .2s;
  letter-spacing: .1em;
}
input.button-primary {
  width: 100%;
}
input.wpcf7-submit:hover,
button[type="submit"]:hover,
input.button-primary:hover {
  background-color: var(--color-gray);
}
form[action*="gssc-cp-access"] {
  text-align: center;
}
input[type="submit"]:focus,
button[type="submit"]:focus {
  background-color: #333;
}
.width100 {
  width: 100%;
}
@media only screen and (max-width: 640px) {
.form_01 dt {
  float: none;
  width: 100%;
}
.form_01 dd {
  padding: 0 0 15px 0;
}
}

.grecaptcha-badge {
  bottom: 70px!important;
	opacity: 0;
  z-index: 0;
}
.grecaptcha-badge.UpMove{
	animation: UpAnime 0.5s forwards;
	z-index: 9;
}

/*  footer ------------------  */
.footer {
  background-color: var(--color-bg);
}
.footer__inner {
  max-width: 1300px;
  width: 92%;
  margin: 0 auto;
  display: flex;
  gap: 3%;
  justify-content: space-between;
  padding: 3em 0;
}
.footer__info {
  width: 40%;
}
@media only screen and (max-width: 1280px) {
.footer__info {
  width: 30%;
}
}
.footer__logo img {
  width: 208px;
  margin-bottom: 1.5em;
}
.footer__address {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1.5em;
}
.footer-contact-nav {
  width: 60%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  justify-content: flex-end;
  flex-direction: column;
}
@media only screen and (max-width: 1280px) {
.footer-contact-nav {
  width: 70%;
}
}
.footer-contact {
  border-bottom: 1px solid var(--color-border);
  display: flex;
  gap: 20px;
  align-items: center;
  padding-bottom: 1.5em;
}
.footer-contact .footer-contact__item.contact__item-tel {
  flex: 1;
  text-align: center;
}
.footer-contact .footer-contact__item.contact__item-tel p {
  font-size: 14px;
  line-height: 1;
}
.footer-contact .footer-contact__item.contact__item-tel a {
  color: var(--color-theme);
  font-size: clamp(1.875rem, 1.518rem + 0.89vw, 2.188rem);
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  letter-spacing: -.04em;
}
.footer-contact .footer-contact__item.contact__item-tel a img {
  width: 30px;
  margin-top: 2px;
}
.footer-contact .footer-contact__item.contact__item-line {
  width: 27%;
  text-align: center;
}
.footer-contact .footer-contact__item.contact__item-line a {
  color: #fff;
  background-color: #00b900;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  padding: 1em 2em 1em 2em;
  white-space: nowrap;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
}
.footer-contact .footer-contact__item.contact__item-line a img {
  width: 20px;
}
.footer-contact .footer-contact__item.contact__item-form {
  width: 27%;
  text-align: center;
}
.footer-contact .footer-contact__item.contact__item-form a {
  color: #fff;
  background-color: var(--color-theme);
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  padding: 1em 2em 1em 2em;
  white-space: nowrap;
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
}
.footer-contact .footer-contact__item.contact__item-form a img {
  width: 20px;
}
@media only screen and (max-width: 1080px) {
.footer__inner {
  gap: 5%;
}
.footer-contact {
  flex-wrap: wrap;
}
.footer-contact .footer-contact__item.contact__item-tel {
  flex: none;
  width: 100%;
}
.footer-contact .footer-contact__item.contact__item-line {
  width: calc(50% - 20px);
}
.footer-contact .footer-contact__item.contact__item-form {
  width: calc(50% - 20px);
}
}

.footer-nav-wrap {
  display: flex;
  justify-content:space-around;
}
.footer-nav__col {
  width: calc(100% / 3 - 10px);
}
.footer-nav__col.footer-nav__col--end {
  width: 100%;
}
.footer-nav__col ul {
  list-style: none;
  margin-bottom: 20px;
}
.footer-nav__col .footer-nav-heading {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}
.footer-nav__col ul li {
  margin-bottom: 10px;
}
.footer-nav__col ul a {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-base);
  text-decoration: none;
  position: relative;
  padding-left: 10px;
}
.footer-nav__col ul a::before {
  content: "";
  width: 5px;
  height: 1px;
  background-color: var(--color-base);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
}

.footer-lower__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1300px;
  width: 90%;
  margin: 0 auto;
  align-items: center;
  border-top: 1px solid var(--color-border);
}
.footer-lower__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  font-size: 13px;
  justify-content: center;
  margin: 2em 0 2em;
  gap: 25px;
}
.footer-lower__nav li a {
  color: var(--color-base);
  text-decoration: none;
}

.copyright {
  font-size: 14px;
  text-align: left;
  letter-spacing: .05em;
  margin-left: auto;
}

@media only screen and (max-width: 840px) {
.footer__inner {
  flex-direction: column;
}
.footer__info {
  width: 100%;
  text-align: center;
  margin-bottom: 1.5em;
}
.footer-contact-nav {
  flex-wrap: wrap;
  gap: 20px;
}
.footer-nav__col {
  width: 100%;
}
.footer-contact-nav {
  width: 100%;
}
.footer-lower__inner {
  flex-direction: column;
}
.footer-lower__nav li a {
  color: var(--color-base);
  text-decoration: none;
}
.copyright {
  text-align: center;
  margin: 0 auto 3em!important;
  font-size: 12px;
}
}
@media only screen and (max-width: 640px) {
.footer-contact .footer-contact__item.contact__item-line a {
  font-size: 16px;
}
.footer-contact .footer-contact__item.contact__item-form a {
  font-size: 16px;
}
.footer-contact {
  position: fixed;
  background-color: var(--color-blue);
  border-bottom: none;
  bottom: 0;
  left: 0;
  padding-bottom: 0;
  width: 100%;
  gap: 0;
  box-shadow: 0px -2px 5px 0px rgba(0, 0, 0, 0.15);
  z-index: 10;
}
.footer-contact .footer-contact__item {
  flex: 1;
}
.footer-contact .footer-contact__item.contact__item-tel p,
.footer-contact .footer-contact__item.contact__item-tel a span,
.footer-contact .footer-contact__item.contact__item-line a span,
.footer-contact .footer-contact__item.contact__item-form a span {
  display: none;
}
.footer-contact .footer-contact__item.contact__item-tel {
  flex: 1;
}
.footer-contact .footer-contact__item.contact__item-tel a {
  height: 50px;
  background-color: #fff;
}
.footer-contact .footer-contact__item.contact__item-tel a img {
  width: 20px;
}
.footer-contact .footer-contact__item.contact__item-line a {
  height: 50px;
  border-radius: 0;
  padding: 1em;
}
.footer-contact .footer-contact__item.contact__item-line a img {
  width: 20px;
  vertical-align: middle;
}
.footer-contact .footer-contact__item.contact__item-form a {
  height: 50px;
  border-radius: 0;
  padding: 1em;
}
.footer-contact .footer-contact__item.contact__item-form a img {
  width: 20px;
  vertical-align: middle;
}
.footer-nav-wrap {
  justify-content: normal;
  flex-wrap: wrap;
}
.footer-nav__col .footer-nav-heading {
  border-bottom: 1px solid var(--color-border);
}
.footer-nav__col {
    width: 100%;
}
.footer-nav__col ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5px 20px;
}
.footer-nav__col ul li {
  width: calc(50% - 20px);
}
.footer {
  padding-bottom: 45px;
}
}

/*  iframe ------------------  */
iframe#inlineframe { 
  width: 100%;
  border: none;
}

/*  common ------------------  */
.contents {
  /* max-width: 1024px; */
  width: 92%;
  word-break: break-word;
  margin: 0 auto 0;
}
.home .contents {
  max-width: inherit;
}
.fixed .contents {
  filter: blur(6px);
}
.page-template-default .contents,
.page-template-page .contents,
.search-results .contents {
  max-width: 1024px;
}
.error404 .contents {
  max-width: 1024px;
}

.contents p {
  margin-bottom: 1.2em;
}
.section {
  position: relative;
  padding: 3.5em 0;

}
.section__inner {
  max-width: 1200px;
  margin: 3em auto;
  width: 90%;
}
.section p {
  margin-bottom: 1em;
}
.section p:last-of-type {
  margin-bottom: 0;
}
.article p {
  margin-bottom: 1em;
}
@media only screen and (max-width: 840px) {
.section {
  padding: 3.5em 0 4em;
}
}

.col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col-inner {
  padding: 20px 8%;
}
.col .col-2 {
  width: calc(50% - 25px);
}
.col .col-3 {
  width: calc(33.333% - 25px);
}
.col .col-3 h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: .7em;
  text-align: center;
}
.col .col-4 {
  width: calc(25% - 38px);
}

@media only screen and (max-width: 840px) {
.col {
  flex-direction: column;
}
.col .col-2,
.col .col-3 {
  width: 100%;
}
}

.btn-link {
  display: block;
  text-align: center;
  padding: 13px 0px 13px;
  padding-right: 50px;
  line-height: 1;
  letter-spacing: .04em;
  font-size: 15px;
  font-weight: 600;
  margin: 1.5em 0;
  position: relative;
}
.btn-link::after {
  content: "";
  background-image: url("images/common/icon-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px;
  text-decoration: none;
  transition: all .4s;
  position: relative;
  background-color: #fff;
  width: 40px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 0;
  /* border: 1px solid #000;
  border-radius: 100px; */
}
.btn-link:hover::after {
  background-position: 70% center;
}
a.btn-link {
  color: var(--color-base);
}
a.btn-link:hover {
  color: var(--color-theme);
  opacity: 1;
  background-position: 97% center;
}
a.btn-link.width-300 {
  max-width: 300px;
  width: 100%;
}
a.btn-link.width-240 {
  max-width: 240px;
  width: 100%;
}
@media only screen and (max-width: 840px) {
.btn-link {
  font-size: 14px;
}
}

.layout-2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
}
.layout-2col__col {
  width: calc(50% - 20px);
}

.layout-col-border {
  margin-top: -9rem;
  padding-top: 9rem;
}
.layout-col-border__inner {
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  padding: 2em;
}

@media only screen and (max-width: 840px) {
.layout-2col {
  flex-direction: column;
  gap: 10px;
}
.layout-2col__col {
  width: 100%;
}
.layout-col-border {
  padding: 1em;
}
}

.corner-radius {
  border-radius: var(--border-radius);
}

.lead-text {
  line-height: 2.4;
}

.fadeItem {
  opacity: 0;
}
.fadeUpTrigger,
.fadeInTrigger,
.delayScroll li {
  opacity: 0;
}
.fadeIn {
animation-name: fadeInAnime;
animation-duration: 1.5s;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.fadeUp {
animation-name: fadeUpAnime;
animation-duration: .6s;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
  opacity: 0;
  transform: translateY(60px);
  }

  to {
  opacity: 1;
  transform: translateY(0);
  }
}
.blur {
	animation-name: blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
	filter: blur(10px);
	transform: scale(1.02);
  }

  to {
	filter: blur(0);
	transform: scale(1);
  }
}

.contents ul.wp-block-list {
  padding-left: 1.2em;
  margin-bottom: 1em;
}
.contents ol.wp-block-list {
  padding-left: 1.4em;
  margin-bottom: 1em;
}
.contents ul.wp-block-list li,
.contents ol.wp-block-list li {
  margin-bottom: .5em;
}
ul li,
ol li {
  margin-bottom: 0;
}

.contents ul.list-circle {
  margin: 0;
}
.contents ul.list-circle li {
  margin-left: .2em;
  margin-bottom: .3em;
  list-style-type: none;
  position: relative;
  padding-left: 1em;
}
.contents ul.list-circle li::before {
  border-radius: 50%;
  width: 7px;
  height: 7px;
  display: block;
  position: absolute;
  left: 0;
  top: .8em;
  content: "";
  background-color: var(--color-theme);
}

figure.wp-block-table {
  margin-bottom: 1.5em;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.5;
  border: 1px solid var(--color-border);
}
table th,
.wp-block-table table th {
  border: 1px solid var(--color-border);
  padding: 10px;
  vertical-align: top;
}
table td,
.wp-block-table table td {
  border: 1px solid var(--color-border);
  padding: 10px;
}
@media only screen and (max-width: 640px) {
table {
  font-size: 14px;
  text-align: left;
}
table td,
.wp-block-table table td {
  padding: 6px;
}
}

.br-sp {
  display: none;
}

.text-s {
  font-size: 12px;
  line-height: 1.6;
}
.text-m {
  font-size: 16px;
  line-height: 1.6;
}
.text-l {
  font-size: 18px;
  line-height: 1.6;
}
.text-l2 {
  font-size: 28px;
  line-height: 1.6;
}
.text-l3 {
  font-size: 32px;
  line-height: 1.6;
}
.text-b {
  font-weight: 600;
}

.red {
  color: var(--color-theme);
}
.red-l {
  color: #d80015;
}

.annotation {
  padding-left: 1em;
  text-indent: -1em;
}

.center {
  text-align: center;
}

.align-left {
  text-align: left;
}
.align-right {
  text-align: right;
}

.clearboth {
  clear: both;
}

.nowrap {
  white-space: nowrap;
  display: inline-block;
}

.margin_t0 {margin-top: 0!important;}
.margin_t10 {margin-top: 10px!important;}
.margin_t20 {margin-top: 20px!important;}
.margin_t30 {margin-top: 30px!important;}
.margin_t40 {margin-top: 40px!important;}
.margin_t50 {margin-top: 50px!important;}
.margin_b0 {margin-bottom: 0!important;}
.margin_b10 {margin-bottom: 10px!important;}
.margin_b20 {margin-bottom: 20px!important;}
.margin_b30 {margin-bottom: 30px!important;}
.margin_b40 {margin-bottom: 40px!important;}
.margin_b50 {margin-bottom: 50px!important;}
.margin_b60 {margin-bottom: 60px!important;}
.margin_b70 {margin-bottom: 70px!important;}
.margin_b3em {margin-bottom: 3em!important;}
.margin_b4em {margin-bottom: 4em!important;}
.margin_b5em {margin-bottom: 5em!important;}

/* .wp-block-post-content .wp-block-list {
  padding-left: 1.3em;
} */
ul.block-editor-block-list__block,
ol.block-editor-block-list__block {
  padding-left: 1.3em;
}
/* ========================================================
  TOC
========================================================= */
#toc_container span.toc_toggle {
  vertical-align: text-bottom;
}
body #toc_container {
  background-color: var(--color-bg);
  border: none;
  border-radius: 15px;
  width: 100%!important;
  margin-bottom: 2.5em!important;
  padding: 1.5em 1.5em!important;
}
body #toc_container p.toc_title {
  background-color: var(--color-bg);
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  padding: 0 0 .5em;
}
body #toc_container p.toc_title+ul.toc_list {
  background-color: #fff;
  border-radius: 15px;
  padding: 1.5em;
}
body #toc_container .toc_list li {
  font-weight: 500;
}
body #toc_container .toc_list li:last-child {
  margin-bottom: 0;
}
body #toc_container .toc_list li::before {
  display: none;
}
#toc_container .toc_list li .toc_number {
  color: var(--color-theme);
}
#toc_container .toc_list li .toc_number.toc_depth_2 {
  display: none;
}
#toc_container a {
  color: var(--color-base);
}
#toc_container .toc_list > li > a {
  font-size: clamp(1rem, 0.929rem + 0.18vw, 1.063rem);
}
#toc_container ul ul {
  margin-left: 1.5em;
  margin-right: 1.5em;
}
#toc_container a {
  display: block;
}
#toc_container .toc_list ul li a {
  border-bottom: 1px dotted #b8ada0;
  padding: .5em 0;
  line-height: 1.4;
}
@media only screen and (max-width: 640px) {
#toc_container ul ul {
  margin-left: 0!important;
  margin-right: 0;
}
}

/* ========================================================
  SEARCH
========================================================= */
.search-list {
  display: flex;
  border-bottom: 1px solid var(--color-border);
  padding: 10px 0;
}
.search-list .search-list__date {
  display: flex;
  width: 9em;
  font-size: 13px;
}
.search-list .search-list__link {
  flex: 1;
}


/* ========================================================
  BLOG
========================================================= */
/*  block ------------------  */
.wp-block-group {
  margin: 1em 0;
}
/*  entry ------------------  */
.entry .wp-block-image,
.entry .wp-block-image.aligncenter {
  margin-bottom: 1em;
}
.entry .wp-block-columns {
  margin: 1em 0;
}
.entry .wp-block-embed {
  margin-bottom: .5em;
}
.single-post .entry h1 {
  font-size: clamp(1.375rem, 0.804rem + 1.43vw, 1.875rem);
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: .5em;
}
.single-post .entry h2 {
  background-color: #edf4f7;
  font-size: clamp(1.25rem, 0.893rem + 0.89vw, 1.563rem);
  font-weight: 500;
  line-height: 1.5;
  margin: 1.4em 0 1em;
  padding: .8em .5em .8em;
  color: var(--color-base);
  border-bottom: 4px solid;
  border-image: linear-gradient(to right, #39b0ff, #1f96d6) 1;
  position: relative;
}
.single-post .entry h3 {
  font-size: clamp(1.125rem, 0.911rem + 0.54vw, 1.313rem);
  font-weight: 500;
  line-height: 1.5;
  margin: 1.2em 0 1em;
  padding: .5em 0;
  color: var(--color-base);
  border-radius: 5px;
  border-bottom: 3px solid;
  border-image: linear-gradient(to right, #39b0ff, #1f96d6) 1;
}
.single-post .entry h4 {
  font-size: clamp(1rem, 0.857rem + 0.36vw, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
  margin: 1.2em 0 .7em;
  padding: .4em .5em;
  border-left: 2px solid;
  border-image: linear-gradient(to bottom, #39b0ff, #1f96d6) 1;
  background-color: #deeaef5d;
}
.single-post .entry h5,
.single-post .entry h6  {
  font-size: clamp(0.938rem, 0.866rem + 0.18vw, 1rem);
  font-weight: 500;
  margin: 1.2em 0 .7em;
  padding: .2em 0;
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-image: linear-gradient(to right, #39b0ff, #1f96d6) 1;
}
.single-post .entry h2 strong,
.single-post .entry h3 strong,
.single-post .entry h4 strong {
  font-weight: 500;
}
.entry h2.is-style-heading-default,
.entry h3.is-style-heading-default,
.entry h4.is-style-heading-default {
  border: none;
  margin: 0.5em 0;
  padding: 0;
  font-size: revert;
  font-weight: revert;
  background-color: inherit;
  color: inherit;
}
.entry h2.is-style-heading-default::before {
  display: none;
}

/*  post-action ------------------  */
.single-post .entry .post-action {
  background-image: url("images/post/post-action_bg_pc.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 0;
  border-radius: 10px;
}
.post-action .contact-nav__wrap.flow-contents {
  justify-content: center;
  padding: 1em 20px;
  background-color: rgba(0, 0, 0, .4);
  border-radius: 0 0 10px 10px;
}
.post-action .icon-tel {
  fill: #fff;
}
.single-post .entry .post-action h2 {
  font-weight: 600;
  line-height: 1.5;
  margin-top: .3em;
  margin-bottom: 0.4em;
  padding: 0;
  color: #fff;
  border-bottom: none;
}
.single-post .entry .post-action h2 br {
  display: none;
}
.single-post .entry .post-action h2::before {
  display: none;
}
.single-post .entry .post-action h3 {
  color: #fff;
  background-color: inherit;
}
.single-post .entry .post-action a {
  color: #fff;
}
@media only screen and (max-width: 640px) {
.single-post .entry .post-action {
  background-image: url("images/post/post-action_bg_sp.jpg");
}
.single-post .entry .post-action h2 br {
  display: block;
}
.single-post .entry .post-action h3 {
  font-size: 14px;
}
}

blockquote {
  border: 2px solid var(--color-border);
  margin-bottom: 1.8em;
  padding: 3.5em 2.5em 2.5em;
  position:relative;
}
blockquote::before{
  color: #999;
  content: "“";
  font-size: 500%;
  left: .1em;
  line-height: 1em;
  position: absolute;
  top: .05em;
}
blockquote::after{
  bottom: 0;
  color: #999;
  content: "”";
  font-size: 500%;
  line-height: 0;
  position: absolute;
  right: .1em;
}
blockquote cite {
  display: block;
  margin: 5px 0 0;
}

.marker_yellow {
  background: linear-gradient(transparent 55%, rgba(255, 255, 0, .45) 55%);
  padding-bottom: .2em;
}
.marker_red {
  background: linear-gradient(transparent 55%, rgba(255, 0, 0, .25) 55%);
  padding-bottom: .2em;
}
.marker_blue {
  background: linear-gradient(transparent 55%, rgba(20, 140, 255, .30) 55%);
  padding-bottom: .2em;
}

/*  Article Header ------------------  */
.single-post,
.single-voc,
.category,
.tax-voice_class,
.post-type-archive-voc,
.single-teachers,
.archive {
  background-image: url(images/blog/blog_hedaer_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-attachment: fixed;
}
@media only screen and (max-width: 640px) {
.single-post,
.single-voc,
.category,
.tax-voice_class,
.post-type-archive-voc,
.single-teachers,
.archive {
  background-image: url(images/blog/blog_hedaer_bg_sp.jpg);
}
}

.single-teachers .blog-article h2.wp-block-heading {
  font-size: clamp(1rem, 0.785rem + 0.54vw, 1.188rem);
  margin-bottom: 0em;
  margin-top: .2em;
}

.blog-content {
  max-width: 840px;
  margin: 0 auto;
  padding: 8em 0 0;
}
.tax-voice_class .blog-content,
.post-type-archive-voc .blog-content {
  max-width: 1024px;
}
.blog-heading__thum img {
  border-radius: 5px;
}
.blog-heading.blog-heading--nothum {
  display: block;
  border: none;
}
.blog-heading.blog-heading--nothum .blog-heading__heading {
  border-bottom: 1px solid var(--color-border);
  max-width: 840px;
  width: 100%;
  align-items: center;
  margin: 0 auto;
  padding: 2em 0 1em;
  position: relative;
}
.blog-heading .icon-clock {
  width: 16px;
  vertical-align: baseline;
  margin: 0 6px -3px 0;
}
.blog-content__heading {
  font-size: clamp(1.375rem, 1.089rem + 0.71vw, 1.625rem);
  font-weight: 500;
  text-align: center;
  margin-bottom: 2em;
  position: relative;
}
.blog-content__heading::before {
  content: "";
  position: absolute;
  bottom: -5px;
  width: 70px;
  height: 3px;
  border-radius: 10px;
  background-color: var(--color-blue);
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
}
.blog-heading__title {
  font-size: clamp(1.313rem, 0.67rem + 1.61vw, 1.875rem);
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 1em;
  padding: .5em 0;
  border-bottom: 1px solid var(--color-border);
}
.blog-article__info__item {
  display: flex;
  gap: 15px;
  align-items: center;
}
.post-news__date {
  font-size: 13px;
  white-space: nowrap;
  width: 8em;
}
.post-news__cate {
  font-size: 13px;
  background-color: #ecf4fa;
  border-radius: 30px;
  padding: 1px 12px;
}
.post__list__item {
  border-bottom: 1px solid var(--color-border);
  padding: 2em 0;
}
.post__list__item a {
  display: flex;
  align-items: center;
  gap: 30px;
  color: var(--color-base);
  position: relative;
}
.post__list__thum {
  width: 40%;
}
.post__list__thum img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.post__list__thum.blog-heading--nothum img {
  border: 1px solid var(--color-blue);
}
.post-news__info {
  width: 60%;
}
.post-news__info .post-date {
  display: flex;
  gap: 5px;
  align-items: center;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 14px;
}
.post-news__info .post-date img {
  width: 16px;
}
.post-news__info .post-title {
  font-size: clamp(1rem, 0.715rem + 0.71vw, 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  padding: 2em 0;
}
@media only screen and (max-width: 640px) {
.blog-content {
  padding: 5em 0 2em;
}
.post-news__date,
.post-news__cate  {
  font-size: 12px;
}
.post__list__item {
  padding: 1em 0;
}
.post__list__item a {
  gap: 15px;
}
.post-news__info .post-date {
  font-size: 11px;
}
.post-news__info .post-date img {
  width: 14px;
}
.post-news__info .post-title {
  padding: 1.3em 0;
}
}

.post-queryloop .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.post-queryloop .wp-block-post-featured-image.fallback-image img {
  border: 1px solid var(--color-blue);;
}
.post-queryloop .icon-clock {
  background-image: url(images/common/icon_clock.svg);
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: 0;
  padding-left: 25px;
}

/*  voc ------------------  */
.voc-category {
  list-style: none;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex: 1;
}
.voc-article {
  border: 1px solid var(--color-border);
  border-radius: 15px;
}
.single-voc .vblog-article__inner {
  margin: 1em auto 2em;
}
.voc-article__inner {
  padding: 20px 30px 40px; 
}
.voc-article .blog-heading__title {
  border-bottom: none;
  margin-bottom: .5em;
}
.voc-post-nav {
  display: flex;
  justify-content: space-between;
  gap: 15px 30px;
  margin: 1.5em 0;
}
.voc-post-nav a {
  color: var(--color-base);
  line-height: 1.5;
}
.voc-article .voice-list-footer img {
  width: 75px;
}
.voc-post-nav__prev {
  width: 50%;
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.voc-post-nav__prev img {
  width: 15px;
  transform: scale(-1, 1);
}
.voc-post-nav__next {
  width: 50%;
  text-align: right;
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: end;
}
.voc-post-nav__next img {
  width: 15px;
}
@media only screen and (max-width: 640px) {
.voc-article__inner {
  padding: 20px 20px 30px;
}
.voc-post-nav {
  flex-direction: column;
}
.voc-post-nav__prev {
  width: 100%;
}
.voc-post-nav__next {
  width: 100%;
  justify-content: end;
}
}

/*  teachers ------------------  */
.teachers-article {
  border-radius: 15px;
}
.teachers-article__header {
  display: flex;
  align-items: center;
  background-color: #f6f1ee;
  border-radius: 15px;
  margin-bottom: 30px;
  padding: 0;
  gap: 0;
  background-image: url(images/teachers/teachers_header_bg.png);
  background-size: cover;
}
.teachers-article__header .header-name {
  width: 55%;
}
.teachers-article__header .header-thumbnail {
  width: 45%;
}
.teachers-article__header .header-thumbnail img {
  border-radius: 0 15px 15px 0;
}
.teachers-heading__title {
  font-size: clamp(1.5rem, 0.357rem + 2.86vw, 2.5rem);
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  padding: .8em 0 .8em .8em;
  position: relative;
}
.teachers-heading__title::after {
  content: "";
  width: 80px;
  height: 3px;
  background-color: #fff;
  display: block;
  margin-top: 10px;
}
.teachers_item {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px dashed #81c1ff;
  gap: 20px;
  padding: 1em 0 2em;
}
.teachers_item__heading {
  width: 34%;
}
.teachers_item__heading h2 {
  font-size: clamp(0.938rem, 0.866rem + 0.18vw, 1rem);
  font-weight: 500;
  line-height: 1.8;
  color: var(--color-theme);
}
.teachers_item__heading p {
  font-size: clamp(0.75rem, 0.607rem + 0.36vw, 0.875rem);
  color: #9785cc;
  line-height: 1.3;
  padding-top: 5px;
  flex: 1;
}
.teachers_item__content {
  margin-top: 0!important;
  flex: 1;
  line-height: 1.8;
}
.teachers_list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.teachers_list__item {
  width: calc(33.33% - 20px);
  background-color: #fff;
  border-radius: 15px;
  display: flex;
  flex-direction: column;
}
.teachers_list__item img {
  border-radius: 15px 15px 0 0;
}
.teachers_list__item .teachers_list__heading {
  font-size: clamp(1.125rem, 0.911rem + 0.54vw, 1.313rem);
  font-weight: 500;
  line-height: 1.4;
  background-image: url(images/teachers/teachers_header_bg.png);
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
  padding: 15px 10px;
  border-radius: 0 0 15px 15px;
}
@media only screen and (max-width: 640px) {
.teachers-article__header {
  flex-direction: column;
}
.teachers-article__header .header-name {
  width: 100%;
  order: 2;
}
.teachers-article__header .header-thumbnail {
  width: 100%;
  order: 1;
}
.teachers-article__header .header-thumbnail img {
  border-radius: 15px 15px 0 0;
}
.teachers-heading__title::after {
  width: 50px;
  height: 2px;
}
.teachers_item {
  flex-direction: column;
}
.teachers_item__heading {
  width: 100%;
}
.teachers_item__content {
  width: 100%;
}
}

/* ログイン ------------------  */
.tml-links {
  margin-left: 1em;
}
.tml .tml-checkbox {
  margin: 0;
}
.page-login .tml-button {
  padding: 10px;
}
.page-login .tml-button:hover {
  background-color: #666;
}

/*  pagination ------------------  */
.pagination{
  margin: 20px 0 50px;
  text-align: center;
}
.pagination a,
.pagination > span,
.pagination span.dots {
  color: var(--color-theme);
  display: inline-table;
  margin: 5px 2px;
  padding: 4px 15px;
  text-decoration: none;
}
.pagination a:hover {
  opacity: .5;
}
.pagination span.dots {
  border: none;
  background-color: inherit;
}
.pagination .current {
  background: var(--color-theme);
  border-radius: 50%;
  color: #fff;
}
.pagination h2.screen-reader-text {
  display: none;
}

.navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2em;
  text-align: center;
  max-width: 1080px;
  margin: 4em auto 2em;
  font-size: 15px;
}
.navigation-left {
  display: inline-block;
  width: 50%;
  text-align: left;
  position: relative;
  padding: 20px;
}
.navigation-right {
  display: inline-block;
  width: 50%;
  text-align: right;
  position: relative;
  padding: 20px;
}
.navigation-left a::before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px var(--color-theme);
  border-left: solid 2px var(--color-theme);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}
.navigation-right a::before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px var(--color-theme);
  border-right: solid 2px var(--color-theme);
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
}
.navigation a {
  display: block;
  text-decoration: none;
}
.navigation a:link,
.navigation a:visited {
  color: inherit;
}

.share-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  margin: 3.5em 0 1em;
  padding: 1em 0;
  align-items: center;
}
.share-link__message {
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  color: var(--color-theme);
  flex: 1;
}
.share-link__wrap {
  margin-left: auto!important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}
.share-link__btn {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: 0!important;
}
.share-link__btn li a {
  display: block;
  border-radius: 5px;
  padding: 10px 20px;
  line-height: 20px;
}
.share-link__btn li.tweet a {
  background-color: #000;
}
.share-link__btn li.facebooklink a {
  background-color: #315096;
}
.share-link__btn li.line a {
  background-color: #00b900;
}
.share-link__btn i {
  display: block;
  width: 20px;
}
.share-link__copy {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: 5px;
  padding: 0.5em 1em;
  min-width: 19em;
}
.share-link__copy i {
  display: inline-block;
  width: 20px;
  margin: -3px 10px 0px 0;
}
.copy_btn:hover {
	cursor: pointer;
	background: #ecf4fa;
}
.copy_btn.copied {
	pointer-events: none;
	background: #333333;
	color: #ffffff;
}
@media only screen and (max-width: 840px) {
.share-link {
  flex-direction: column;
  gap: 10px;
}
.share-link__wrap {
  margin: 0 auto;
}
}
@media only screen and (max-width: 640px) {
.share-link__btn li a {
  padding: 8px 8px;
}
.share-link__copy {
  font-size: 10px;
  letter-spacing: -.02em;
}
}

.tag-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  align-items: start;
}
.tag-message {
  background-color: var(--color-bg);
  font-size: 13px;
  font-weight: 600;
  padding: 5px 15px;
  position: relative;
}
.tag-message::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -8px;
  border: 8px solid transparent;
  border-left: 8px solid var(--color-bg);
}
.tag-btn {
  flex: 1;
}
.tag-btn a {
  background-color: #fff;
  border: 1px solid var(--color-border);
  border-radius: 5px;
  color: var(--color-base)!important;
  display: block;
  float: left;
  font-size: 11px;
  margin: 0 8px 8px 0;
  padding: 4px 10px;
  text-decoration: none;
}
.tag-btn a::before, a[class^="tag-link-"]::before, a[class^="tag-cloud-link"]::before {
  content: "#";
  font-weight: 500;
  margin-bottom: 5px;
  margin-right: 3px;
}
@media only screen and (max-width: 840px) {
.tag-link {
  flex-direction: column;
  gap: 10px;
}
.tag-message {
  background-color: inherit;
  margin: 0 auto;
}
.tag-message::before {
  display: none;
}
}

.relatedpost {
  margin: 0 0 2em;
}
.relatedpost__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.relatedpost__item {
  width: calc(50% - 20px);
  line-height: 1.4;
}
a.relatedpost__item  {
  color: var(--color-base);
  text-decoration: none;
}
a.relatedpost__item:hover {
  color: var(--color-theme);
}
.relatedpost__thum {
  height: auto;
  opacity: 1;
  padding-top: 52.5%;
  width: 100%;
  margin-bottom: 1em;
  border: 10px solid #fff;
  outline: 1px solid #ddd;
}
.relatedpost__title {
  font-weight: 600;
}
a .relatedpost__title {
  color: var(--color-base);
}
.heading-lr-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-theme);
  margin-bottom: 1.5em;
  position: relative;
  padding: 10px 0;
  border-bottom: 1px solid var(--color-border);
}
.blog-footer {
  max-width: 1200px;
  width: 100%;
  margin: 2em auto 1em;
}
.tag-category-link {
  display: flex;
  justify-content: space-between;
  gap: 10px 40px;
  margin-bottom: 2em;
}
.tag-category-link__item {
  width: 50%;
}
.tag-category-link__item ul {
  display: flex;
  gap: 0 30px;
  padding-left: .2em;
  list-style: none;
  flex-wrap: wrap;
}
.tag-category-link__item ul li {
  width: calc(50% - 30px);
  position: relative;
  padding-left: 1em;
}
.tag-category-link__item ul li::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  background-color: var(--color-theme);
  border-radius: 30px;
  top: 14px;
  left: 0;
}
.tag-category-link__item li a {
  color: var(--color-base);
  text-decoration: none;
}
.tag-category-link__item li a:hover {
  color: var(--color-theme);
}

.post-archive select {
  width: 100%;
  border-radius: 5px;
  height: 45px;
  padding: 0 45px 0 15px;
  border: 1px solid #ccc;
  background-color: #fff;
  color: #333;
  font-size: 16px;
  /* ブラウザ標準のデザインを無効化 */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 独自の矢印 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23333' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 12px auto;
}

.blog-footer__item ul {
  font-size: 15px;
  list-style: none;
  margin: 0;
}
.blog-footer__item ul a {
  color: var(--color-base);
}
.blog-footer__item .wp-block-archives {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: 100%;
}
.blog-footer__item .wp-block-archives::after {
  position: absolute;
  top: 20px;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #535353;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}
.blog-footer__item .wp-block-archives select {
  appearance: none;
  height: 2.8em;
  padding: .4em calc(.8em + 30px) .4em .8em;
  border: 1px solid var(--color-border);
  border-radius: 3px;
  background-color: #fff;
  color: #333333;
  font-size: 1em;
  cursor: pointer;
  width: 100%;
}
.blog-article__inner {
  max-width: 840px;
  margin: 2em auto;
  padding: 0;
}
.blog-footer {
  width: 100%;
}
.blog-article h2.wp-block-heading {
  font-size: clamp(1.063rem, 0.92rem + 0.36vw, 1.188rem);
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: .6em;
  margin-top: 1.4em;
}
.blog-article h3.wp-block-heading {
  font-size: clamp(1rem, 0.786rem + 0.54vw, 1.188rem);
  line-height: 1.5;
  font-weight: 500;
}
.blog-article h4.wp-block-heading,
.blog-article h5.wp-block-heading,
.blog-article h6.wp-block-heading {
  font-size: clamp(0.938rem, 0.795rem + 0.36vw, 1.063rem);
  line-height: 1.5;
  font-weight: 500;
}
@media only screen and (max-width: 840px) {
.relatedpost__wrap {
  gap: 20px;
}
.blog-footer {
  width: 100%;
}
.tag-category-link__item ul li {
  width: 100%;
}
.tag-category-link {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.tag-category-link__item {
  width: 100%;
}
}
@media only screen and (max-width: 640px) {
.relatedpost__wrap {
  flex-direction: column;
  gap: 30px;
}
.relatedpost__item {
  width: 100%;
}
}



@media only screen and (max-width: 1080px) {
.col {
  gap: 25px;
}
}
@media only screen and (max-width: 768px) {
.br-sp {
  display: block;
}
}
@media only screen and (max-width: 640px) {
body {
  font-size: 15px;
}
.article-heading {
  font-size: 20px;
}
.text-l3 {
  font-size: 21px;
}
}
@media only screen and (max-width: 560px) {
.br-pc {
  display: none;
}
}

.banner-800 {
  max-width: 800px;
  margin: 5em auto .5em;
  width: 90%;
}
.banner-900 {
  max-width: 900px;
  margin: 5em auto .5em;
  width: 90%;
}
.banner-900 {
  max-width: 900px;
  margin: 5em auto .5em;
  width: 90%;
}
.banner-1200 {
  max-width: 1200px;
  margin: 5em auto .5em;
  width: 90%;
}
.banner-800 img,
.banner-900 img,
.banner-1200 img {
  border-radius: 10px;
}