@charset "UTF-8"; 

/* 全体のフォント指定 */
html { font-size: 62.5%;  scroll-behavior: smooth;  }
body {background: var(--color-white);  color: var(--color-black); 
font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo",sans-serif;  font-size: 1.6rem;  overflow-wrap: break-word; }
*,
*::before,
*::after { box-sizing: border-box; }
body,h1,h2,h3,p,ul,ol,figure { margin: 0;  padding: 0; }
h1,h2,h3,h4,h5,h6,p,ul,ol,li,a,span { font-weight: inherit; }
h1 { font-size: 4.8rem;  font-weight: 400;  line-height: 1.4;  letter-spacing: .5rem; }
h2 { font-size: 3rem;  font-weight: 400; letter-spacing: .08em; }
h3 { font-size: 2.4rem;  font-weight: 400; }
h4 { font-size: 1.5rem;  font-weight: 500;  letter-spacing: .09em; }
ul,ol { list-style: none; letter-spacing: .06em;}
a{ color: inherit;  text-decoration: none;  font-weight: 400; letter-spacing: .06em;}
p{letter-spacing: .06em;}
button,input,textarea { font: inherit; }
.pc_only {display: block; }
.sp_only {display: none; }

@media screen and (min-width:768px) and (max-width:1125px){
.pc_only {display: block; }
.sp_only {display: none; }
h2 { font-size: 2.6rem;}
h3 { font-size: 2rem; }
h4 { font-size: 1.4rem;  font-weight: 500;  letter-spacing:.1em; }
p { font-size: 1.2rem; }
}
@media screen and (max-width: 768px) {
h1 { font-size: 3.6rem;  line-height: 1.8;  letter-spacing: .5rem; }
h2 { font-size: 2.6rem; }
h3 { font-size: 1.8rem;  font-weight: 400; }
h4 { font-size: 1.6rem;  font-weight: 500;  letter-spacing:.1em; }
p { font-size: 1.3rem; }
.pc_only {display: none; }
.sp_only {display: block; }
}

/* mobile only: invert nav icons inside open mobile menu to make them white */
@media screen and (max-width:767px){
	.top-page .header .header_nav.is-open .header_nav_icon img,
	.top-page .header.is-scrolled .header_nav.is-open .header_nav_icon img,
	.sub-page .header .header_nav.is-open .header_nav_icon img{
		filter: brightness(0) invert(1) !important;
	}
}


/* 余白 */
html, body { width:100%; }
main{ overflow: hidden;}
img { max-width:100%;  height:auto;  display: block;  }
section { padding: 120px 0;   margin-inline: auto; }
.inner{ width: min(calc(100% - 80px), 1280px);  margin-inline: auto; }
.wrapper{ width:min(calc(100% - 40px),1220px);  margin-inline:auto; }

@media screen and (max-width: 768px) {
section { padding: 80px 0;  }
.wrapper { width: min(1100px, calc(100% - 40px));  margin: 0 auto;  }
}

/* リキャプチャのやつ */
.grecaptcha-badge{ visibility:hidden;}

/*==================================
	section
==================================*/
.section_title { font-size: 3rem;  font-weight: 100;  letter-spacing: 0.08em;  display: flex;  align-items: center;  gap: 12px;  flex-direction: column; }
.section_title .en { color: #9e9e9e;  font-size: 1rem;  font-weight: 400;  letter-spacing: 0.04em; }
.section_title h2{ color:#2c4198;  display: flex;  align-items: center;  gap: 12px;  flex-direction: column; font-weight: 500;}

@media screen and (max-width: 768px) {
.section-title { font-size: 2.5rem;  font-weight: 100;  letter-spacing: 0.1em; }
.section-title .en { margin-left: 20px; }
}

/*==================================
    header 
==================================*/
.header { z-index: 9999; }


/* ① トップページ FV */
.top-page .header{ display: block;  position:absolute;  z-index:10;  top:0;  left:240px;  transform:translateX(-50%);  height:720px;  padding:0;  background:transparent;    box-shadow:none; }

.top-page .header_logo { margin-top: 110px; }
.top-page .header_logo a{ display:flex;  align-items: flex-end; }
.top-page .header_logo_text{ margin:0;  font-size:2.8rem;  font-weight:500;  line-height:1.3;  letter-spacing:.05em; }
.top-page .header_logo_text p{ font-size: 1.5rem; margin-left: -3px; }
.top-page .header_logo img{width: 45px;  margin-left: 5px; }

.top-page .header_nav{ width:100%;  padding: 40px 0; }

.top-page .menu_btn{ display:none; }
.top-page .menu_close{ display:none; }

.top-page .header_nav ul{ display:grid;  grid-template-columns:repeat(2,1fr);  gap:10px; margin-right: 0; }
.top-page .header_nav li{ border-radius:15px; width: 100%; height: 100%;}
.top-page .header_nav li.about{ background:#2c4198; }
.top-page .header_nav li.service{ background:#cdac84; }
.top-page .header_nav li.guide{ background:#649dcd; }
.top-page .header_nav li.contact{ background:#88bb92; }
.top-page .header_nav_btn{ padding:24px 10px;  display:flex; gap: 8px; flex-direction: column; align-items:center;  justify-content:center;  color:#fff; }
.top-page .header_nav_icon{ display:flex;  align-items:center;  justify-content:center;  width:60px;  height:60px; }
.top-page .header_nav_icon img{ display:block;  max-width:40px;  max-height:40px;  width:auto;  height:auto;  margin:0; }
.top-page .header_nav h3{ min-height:52px;  margin:0;  display:flex;  flex-direction:column;  align-items:center;  justify-content:flex-start;  color:#fff;  font-size:1.5rem;  line-height:1.3;  text-align:center; letter-spacing: -0.05em;}
.top-page .header_nav .en{ display:block;  margin-top:4px;  color:#fff;  font-size:1rem;  line-height:1; letter-spacing: .1em;}

.top-page .tel_btn {margin-top: 40px;}
.top-page .tel_btn a{ display: flex;  width:auto;  height:auto; align-items: center; justify-content:flex-start;  gap:12px;  color:#2c4198;  background:transparent;  border-radius:0; }
.top-page .tel_btn img{ width:3rem;  height:3rem; }
.top-page .tel_btn_num{ font-size:3.4rem;  letter-spacing:.05em; }
.top-page .tel_btn_time{ margin-top:7px; margin-bottom: 10px; font-size:1.5rem;  letter-spacing:.08em; color: #2c4198;}
.top-page .tel_btn_fax{ font-size:2.4rem;  letter-spacing:.05em; margin: 20px 70px 0 0; color: #2c4198;}
.top-page .official_link{ display: none; }



/* ② 共通の追従ヘッダー（トップページのスクロール後 / サブページ共通） */

.top-page .header.is-scrolled,
.sub-page .header{ position:fixed; display: flex; top:0;  left:0;  transform:none;  width:100%;  height:100px;  padding:23px 0;  background:rgba(255,255,255,.96);  box-shadow:0 5px 20px rgba(0,0,0,.08);  z-index:10001; }
.top-page .header.is-scrolled .header_logo,
.sub-page .header .header_logo{ margin:0;  flex-shrink:0; }
.top-page .header.is-scrolled .header_logo a,
.sub-page .header .header_logo a{ display:flex; align-items:flex-end; color:#000;  left: 30px;  position: relative; }
.top-page .header.is-scrolled .header_logo_text,
.sub-page .header .header_logo_text{ margin:0;  font-size:2.4rem;  font-weight:500;  line-height:1.3;  letter-spacing:.05em; }
.top-page .header.is-scrolled .header_logo_text p,
.sub-page .header .header_logo_text p{ font-size:1.2rem; }
.top-page .header.is-scrolled .header_logo img,
.sub-page .header .header_logo img{ display:block; width: 45px; height:auto; margin-left: 5px; }

.top-page .header.is-scrolled .header_nav,
.sub-page .header .header_nav { flex:1;  width:auto;  padding: 0; right: 0; position: relative; display: flex; align-items:center; gap: 20px; justify-content: flex-end;}
.top-page .header.is-scrolled .header_nav ul,
.sub-page .header .header_nav ul{ display:flex; align-items:center; justify-content:flex-end; gap:1.2vw; position: relative; margin-right: 30px; margin-top: 0;}
.top-page .header.is-scrolled .header_nav li,
.sub-page .header .header_nav li{ background:transparent;  border-radius:10px; width: 135px; height: 30px;}
.top-page .header.is-scrolled .header_nav a,
.sub-page .header .header_nav a{ display: flex;  flex-direction:row;  align-items: center;  justify-content: center;  gap: 1vw;  color:#2c4198;  padding: 0; }
.top-page .header.is-scrolled .header_nav a{align-items: flex-start;}
.top-page .header.is-scrolled .header_nav_icon,
.sub-page .header .header_nav_icon{ width:34px;  height:34px;  margin:0; display: flex; align-items: center; justify-content: center; }
.top-page .header.is-scrolled .header_nav_icon img,
.sub-page .header .header_nav_icon img{ max-width:26px;  max-height:26px; }
.top-page .header.is-scrolled .header_nav h3,
.sub-page .header .header_nav h3{ color:#2c4198;  font-size:1.4rem;  font-weight:500;  line-height:1.3;  text-align:left;  white-space:nowrap; }
.top-page .header.is-scrolled .header_nav .en,
.sub-page .header .header_nav .en{ margin-top:3px;  color:#649dcd;  font-size:.9rem;  font-weight:400; }

.top-page .header.is-scrolled .tel_btn,
.sub-page .header .tel_btn{ margin:0; right: 30px; position: relative;}
.top-page .header.is-scrolled .tel_btn a,
.sub-page .header .tel_btn a{display:flex;  align-items:center;  position: relative;  right:0;  width:54px;  height:54px;  justify-content:center;  color:#fff;  background:#649dcd;  border-radius:10px; }
.top-page .header.is-scrolled .tel_btn img,
.sub-page .header .tel_btn img{ width:26px; }
.top-page .header.is-scrolled .tel_btn_num ,
.top-page .header.is-scrolled .tel_btn_time,
.top-page .header.is-scrolled .tel_btn_fax,
.sub-page .header .tel_btn_num,
.sub-page .header .tel_btn_time,
.sub-page .header .tel_btn_fax { display:none; }
.top-page .header.is-scrolled .menu_btn,
.sub-page .header .menu_btn{display:none; }
.top-page .header.is-scrolled .official_link,
.sub-page .header .official_link{ display: none!important; }

.sub-page .menu_btn{ display:none; }
.sub-page .menu_close{ display:none; }

@media screen and (min-width:768px) and (max-width:1125px){
.top-page .header { transform: scale(0.7); transform-origin: left top; left: 5vw; top: 10px;}
.top-page .header_logo_text { font-size: 3rem; }
.top-page .header_nav {padding: 100px 0;}
.top-page .tel_btn { margin-top: 70px; }
.top-page .tel_btn_num { font-size: 4rem; }
.top-page .tel_btn_time {  margin-top: 7px; margin-bottom: 20px; }
.top-page .tel_btn_fax { font-size: 3.2rem; white-space: nowrap;}

.top-page .header.is-scrolled .header_logo_text p, .sub-page .header .header_logo_text p { font-size: 1.2rem; margin-left: -5px;}
.top-page .header.is-scrolled .header_nav,
.sub-page .header .header_nav { align-items: stretch; gap: 5vw;}
.tel_btn a, .sub-page .header .tel_btn a { margin-top: 0;}
.top-page .header.is-scrolled .header_nav li,
.sub-page .header .header_nav li{ width: 115px;}
.top-page .header.is-scrolled .header_logo img,
.sub-page .header .header_logo img{ display: none;}
.top-page .header.is-scrolled .header_nav ul,
.sub-page .header .header_nav ul{ gap:0px; margin-right: 0; margin-top: -40px;}
.top-page .header.is-scrolled .header_nav a,
.sub-page .header .header_nav a{ flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.top-page .header.is-scrolled .header_nav h3,
.sub-page .header .header_nav h3{ text-align:center; line-height: 1;}
}

/* SP */
@media screen and (max-width:767px){
.header { display: flex; position:fixed;  top:0;  left:0;  transform:none;  width:100%;  height:auto;  padding:18px 20px;  background:#fff;  box-shadow:none;  z-index:1000;  justify-content: space-between; align-items: center;}
.top-page .header,
.top-page .header.is-scrolled,
.sub-page .header { position:fixed; top:0; left:0; transform:none; width:100%; height:auto; padding:18px 20px; display: flex; justify-content: space-between; align-items: center; background-color: #fff;}

.top-page .header .header_logo,
.top-page .header.is-scrolled .header_logo,
.sub-page .header .header_logo{ margin-top:0;  flex-shrink:1; max-width: calc(100% - 58px); }
.top-page .header .header_logo a,
.top-page .header.is-scrolled .header_logo a,
.sub-page .header .header_logo a{ display: flex;  flex-direction: column;   align-items: flex-start;  left: 0; }
.top-page .header .header_logo_text,
.top-page .header.is-scrolled .header_logo_text,
.sub-page .header .header_logo_text{ margin:0;  font-size:2rem;  font-weight:500;  line-height:1.2;  letter-spacing:.05em; }
.top-page .header .header_logo_text p,
.top-page .header.is-scrolled .header_logo_text p,
.sub-page .header .header_logo_text p{ margin:0 0 3px;  font-size:1.1rem; }
.top-page .header .header_logo img,
.top-page .header.is-scrolled .header_logo img,
.sub-page .header .header_logo img{ display:none; }

.top-page .header .header_nav ,
.top-page .header.is-scrolled .header_nav ,
.sub-page .header .header_nav { position: static; width:auto; min-width:38px; padding: 0; display:flex; align-items:center; justify-content:flex-end; flex-shrink:0; }
.top-page .header .menu_btn ,
.top-page .header.is-scrolled .menu_btn ,
.sub-page .header .menu_btn { display:flex;  position:relative;  flex-shrink:0;  z-index:1300;  width:38px;  height:38px;  padding:0;  border:0;  border-radius:50%;  background:#2c4198;  flex-direction:column;  align-items:center;  justify-content:center;  gap:4px;  }
.top-page .header .menu_btn span,
.top-page .header.is-scrolled .menu_btn span,
.sub-page .header .menu_btn span{ display:block;  width:14px;  height:1px;  margin:0;  background:#fff; }
.top-page .header .menu_close ,
.top-page .header.is-scrolled .menu_close ,
.sub-page .header .menu_close { display: none; }
.top-page .header .header_nav ul,
.top-page .header.is-scrolled .header_nav ul,
.sub-page .header .header_nav ul,
.top-page .header .header_nav .tel_btn,
.top-page .header.is-scrolled .header_nav .tel_btn,
.sub-page .header .header_nav .tel_btn,
.top-page .header .header_nav .official_link,
.top-page .header.is-scrolled .header_nav .official_link,
.sub-page .header .header_nav .official_link { display: none; }

/*menu open*/
.top-page .header .header_nav.is-open .menu_btn,
.top-page .header.is-scrolled .header_nav.is-open .menu_btn,
.sub-page .header .header_nav.is-open .menu_btn { display: none; }
.top-page .header .header_nav.is-open .menu_close,
.top-page .header.is-scrolled .header_nav.is-open .menu_close,
.sub-page .header .header_nav.is-open .menu_close { display: block; position: fixed; top: 20px; right: 20px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: #2c4198; color: #fff; font-size: 2rem; line-height: 1; z-index: 10001; pointer-events: auto; opacity: 1; transform: none; transition: none; }

.top-page .header .header_nav.is-open,
.top-page .header.is-scrolled .header_nav.is-open,
.sub-page .header .header_nav.is-open { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: #f0f5fa; z-index: 10000; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; opacity: 0; transform: none; animation: mobileMenuFadeIn .35s ease forwards;}
.top-page .header .header_nav.is-closing,
.top-page .header.is-scrolled .header_nav.is-closing,
.sub-page .header .header_nav.is-closing { opacity: 1; animation: mobileMenuFadeOut .35s ease forwards; }

@keyframes mobileMenuFadeIn { from { opacity: 0; } to { opacity: 1; }}
@keyframes mobileMenuFadeOut { from { opacity: 1; } to { opacity: 0; } }

.top-page .header .header_nav.is-open ul,
.top-page .header.is-scrolled .header_nav.is-open ul,
.sub-page .header .header_nav.is-open ul {	display:grid;  grid-template-columns:repeat(2,1fr);  gap:10px; margin: 0; padding: 90px 20px 0; width: 85%; opacity: 0; transform: none; animation: mobileMenuListFadeIn .28s ease .06s forwards; }
.top-page .header .header_nav.is-closing ul,
.top-page .header.is-scrolled .header_nav.is-closing ul,
.sub-page .header .header_nav.is-closing ul { animation: mobileMenuListFadeOut .24s ease forwards; }

@keyframes mobileMenuListFadeIn {from { opacity: 0; } to { opacity: 1; }}
@keyframes mobileMenuListFadeOut {from { opacity: 1; } to { opacity: 0; }}

.top-page .header .header_nav.is-open li,
.top-page .header.is-scrolled .header_nav.is-open li,
.sub-page .header .header_nav.is-open li { overflow:hidden; width: 100%; height: auto;}
.top-page .header .header_nav.is-open a,
.top-page .header.is-scrolled .header_nav.is-open a,
.sub-page .header .header_nav.is-open a{ padding:20px 5px;  display:flex;  flex-direction:column;  align-items:center;  justify-content:center;  color:#fff; }
.top-page .header .header_nav.is-open li.about,
.top-page .header.is-scrolled .header_nav.is-open li.about,
.sub-page .header .header_nav.is-open li.about{ background:#2c4198; }
.top-page .header .header_nav.is-open li.service,
.top-page .header.is-scrolled .header_nav.is-open li.service,
.sub-page .header .header_nav.is-open li.service{ background:#cdac84; }
.top-page .header .header_nav.is-open li.guide,
.top-page .header.is-scrolled .header_nav.is-open li.guide,
.sub-page .header .header_nav.is-open li.guide{ background:#649dcd; }
.top-page .header .header_nav.is-open li.contact,
.top-page .header.is-scrolled .header_nav.is-open li.contact,
.sub-page .header .header_nav.is-open li.contact{ background:#88bb92; }
.top-page .header .header_nav.is-open .header_nav_icon,
.top-page .header.is-scrolled .header_nav.is-open .header_nav_icon,
.sub-page .header .header_nav.is-open .header_nav_icon{ display:flex;  align-items:center;  justify-content:center;  width:60px;  height:60px; }
.top-page .header .header_nav.is-open .header_nav_icon img,
.top-page .header.is-scrolled .header_nav.is-open .header_nav_icon img,
.sub-page .header .header_nav.is-open .header_nav_icon img{ max-width:35px;  max-height:35px; width:auto;  height:35px; }
.top-page .header .header_nav.is-open h3,
.top-page .header.is-scrolled .header_nav.is-open h3,
.sub-page .header .header_nav.is-open h3{ min-height:52px;  margin:0;  display:flex;  flex-direction:column;  align-items:center;  justify-content:flex-start;  color:#fff;  font-size:1.4rem;  line-height:1.3;  text-align:center; letter-spacing: -0.05em;}
.top-page .header .header_nav.is-open .en,
.top-page .header.is-scrolled .header_nav.is-open .en,
.sub-page .header .header_nav.is-open .en{ display:block;  margin-top:4px;  color:#fff;  font-size:.8rem;  line-height:1; letter-spacing: .1em;}

.top-page .header .header_nav.is-open .tel_btn,
.top-page .header.is-scrolled .header_nav.is-open .tel_btn,
.sub-page .header .header_nav.is-open .tel_btn{ display: flex; flex-direction: column; align-items: center; margin-left: 49px; opacity:0; transform: none; animation: mobileMenuListFadeIn .28s ease .12s forwards;}
.top-page .header .header_nav.is-open .tel_btn{ margin-left: 0; margin-top: 20px;}
.top-page .header .header_nav.is-closing .tel_btn,
.top-page .header.is-scrolled .header_nav.is-closing .tel_btn,
.sub-page .header .header_nav.is-closing .tel_btn{ animation: mobileMenuListFadeOut .24s ease forwards; }
.top-page .header .header_nav.is-open .tel_btn a,
.top-page .header.is-scrolled .header_nav.is-open .tel_btn a,
.sub-page .header .header_nav.is-open .tel_btn a{ display: flex;  width:auto;  height:auto; align-items:center; justify-content:center; gap:12px; color:#2c4198;  background:transparent;  border-radius:0; padding: 10px 0 0 0 ; flex-direction: row; align-items: baseline;}
.top-page .header .header_nav.is-open .tel_btn img,
.top-page .header.is-scrolled .header_nav.is-open .tel_btn img,
.sub-page .header .header_nav.is-open .tel_btn img{ width:28px;  margin-bottom: 15px; }
.top-page .header .header_nav.is-open .tel_btn_num,
.top-page .header.is-scrolled .header_nav.is-open .tel_btn_num,
.sub-page .header .header_nav.is-open .tel_btn_num{ display: flex; font-size:3.6rem;  letter-spacing:.05em; }
.top-page .header .header_nav.is-open .tel_btn_time,
.top-page .header.is-scrolled .header_nav.is-open .tel_btn_time,
.sub-page .header .header_nav.is-open .tel_btn_time{ display: contents; margin-top:7px;  font-size:1.3rem;  letter-spacing:.08em; color: #2c4198;}
.top-page .header .header_nav.is-open .tel_btn_fax,
.top-page .header.is-scrolled .header_nav.is-open .tel_btn_fax,
.sub-page .header .header_nav.is-open .tel_btn_fax{ display: flex; flex-direction: row; align-items: baseline; font-size:2.4rem;  letter-spacing:.05em; margin: 20px 0 0 0; color: #2c4198;}
.top-page .header .header_nav.is-open .official_link,
.top-page .header.is-scrolled .header_nav.is-open .official_link,
.sub-page .header .header_nav.is-open .official_link{ display: flex !important;; height:42px;  margin-top:35px;  border:1px solid #649dcd;  align-items:center;  justify-content:center;  position:relative;  color: #649dcd;  font-size: 1.4rem;  border-radius: 5px;  width: 80%; opacity:0; transform: none; animation: mobileMenuListFadeIn .28s ease .18s forwards;}
.top-page .header .header_nav.is-closing .official_link,
.top-page .header.is-scrolled .header_nav.is-closing .official_link,
.sub-page .header .header_nav.is-closing .official_link{ animation: mobileMenuListFadeOut .24s ease forwards; }
.top-page .header .header_nav.is-open .official_link span,
.top-page .header.is-scrolled .header_nav.is-open .official_link span,
.sub-page .header .header_nav.is-open .official_link span{position:absolute; right:12px; width:22px; aspect-ratio:1; border-radius:50%; background:#649dcd; color:#fff; display:flex; align-items:center; justify-content:center; }
}

/*==================================
	fv
==================================*/
.fv{ position:relative; height:850px; width:100%; margin-inline:auto; margin-top: -100px;}
.fv_ph{ top:-30px; left:25%; right:0; width:80%; height:850px;}
.fv_ph .swiper-wrapper{ align-items:stretch;}
.fv_ph .swiper-slide{ width:500px; height:850px; flex-shrink:0; overflow: hidden; border-radius: 25px; }
.fv_ph .swiper-slide img{ display:block; width:100%; height:100%; object-fit:cover; object-position:center;}
.fv_ph .swiper-slide .fv_img01{ object-position:20% center; }
.fv_ph .swiper-slide .fv_img02{transform: scale(1.5);}
.fv_copy{ position:absolute;  z-index:2;  top:32%;  left:32%;  margin:0;  color:#2c4198;  font-size:4.8rem;  font-weight:500;  line-height:1.3;  letter-spacing:.2em; }
.fv_copy span{ display:table;  width:fit-content;  padding:0 .3em;  background:#fff; }
.fv_copy span+span{ margin-top:25px; }
.fv_text{ position:absolute;  z-index:2;  left:32%;  bottom:20%;  margin:0;  color:#565656;  font-size:1.6rem;  font-weight:400;  line-height:2;  letter-spacing:.05em; }
.fv_text span{ display:table;  width:fit-content;  padding:0 .2em;  background:#fff; }
.fv_text span+span{ margin-top:5px; }
.fv_illust{ position:absolute;  z-index:2;  left:0;  bottom:0;  width:320px;  height:180px;  pointer-events:none; }
.fv_bus{ position:absolute;  bottom: -20px;  right:-100px; width: 40%;}
.fv_tree{ position:absolute;  bottom:-70px;  left:70px; width: 45%;}
.fv_grass{ position:absolute;  top: 270px;  left:230px; width: 10%;}

@media screen and (min-width:768px) and (max-width:1125px){
.fv { height: 800px; }
.fv_copy{ font-size:4rem; }
.fv_text {font-size: 1.4rem;}
.fv_bus { right: 1vw; bottom: -25px; width: 30%; }
.fv_tree { bottom: -45px; width: 35%; }
.fv_grass {top: 230px; left: 20vw; }
.ft_tree { width: 6%; right: 5vw;}
}
@media screen and (max-width:767px){
.fv{ height:630px;  overflow:hidden;}
.fv_ph{ top: 100px; left: 20%; right:0; width:auto; height:650px; margin-top:0;}
.fv_ph .swiper-slide{ width:250px; height:350px;}
.fv_ph .swiper-slide img{ width:100%; height:100%; object-fit:cover; object-position:center;}
.fv_copy{ left: 5px;  top: 300px;  font-size: 3.5rem; }
.fv_copy span+span { margin-top: 10px; }
.fv_text{ display: none; }
.fv_illust{ width: 100px; }
.fv_bus{bottom: 42px;  right: -60vw;  transform: scaleX(-1);  width: 90%; }
.fv_tree{ bottom: 63px;  left: 80vw;  width: 100%; overflow: hidden;}
.fv_grass{top: 133px;  left: 82vw;  width: 25%; }
}

/*==================================
	news
==================================*/
#news{ background: #faf8f4;  border-radius: 100px;  height: 660px;  position: relative; }
#news .tori01{ position: absolute;  position: absolute;  top: -5%;  left: 9%; }
#news .wrapper{ display: flex;  margin:110px;  gap: 6vw; flex-direction: row; align-items: flex-start;  width:min(calc(100% - 80px),1220px);  margin-inline:auto; }
#news .section_title{ position: relative; }
#news .section_title h2{ align-items: flex-start; }
#news .btn_link{ display: flex;  align-items: center;  gap: 12px;  color: #649dcd;  font-size: 1.6rem;  font-weight: 400;  letter-spacing: .08em;  position: absolute;  bottom: 220px; }
#news .btn_link span{ background: #fff;  border-radius: 50%;  font-size: 1.4rem;  width: 30px;  height: 30px;  display: flex;  align-items: center;  justify-content: center; }
#news ul{ display: flex;  flex-direction: column;  gap: 30px; }
#news li{ display: flex;  gap: 30px; }
#news li.news_item--news time{ color: #649dcd; }
#news li.news_item--news p { color: #649dcd; }
#news li time{ letter-spacing: .06em; }
#news li .news_category{ display: inline-flex;  align-items: center;  justify-content: center;  width: 120px;  height: 30px;  border-radius: 4px;   font-size: 1.4rem;  letter-spacing: .08em; }
#news li .news_category{ border: 1px solid #649dcd;  color: #649dcd;  background: #faf8f4; }
#news li:first-child .news_category{ background:#649dcd; color:#fff;}
#news li p{ flex: 1;  letter-spacing: .06em; }
#news a{ display: flex;  gap: 29px;  align-items: center; }
#news .news_ilust{position: relative;  }
#news .news_bird{ position: absolute;  left: 65vw;  bottom: 40px; }
#news .news_grass02{ position: absolute;  left: 77vw;  bottom: 26px;  }
#news .news_grass03{ position: absolute;  left: 70vw;  bottom: 12px;  }

@media screen and (min-width:768px) and (max-width:1125px){
#news { height: 600px; }
#news .wrapper{ margin: 90px 110px; }
#news .btn_link { bottom: 180px; }
#news .news_grass02{  width:5%; }
#news .news_grass03{ width:2%; }
}
@media screen and (max-width:767px){
#news{ height: 1000px;  border-radius: 35px;  top: -150px; }
#news .tori01 {top: -2%;  height: 40px; }
#news .wrapper { flex-direction: column; gap:10px; margin: 60px;}
#news .wrapper .section-title { width: 100%; }
#news .wrapper .section-title .en { margin-left: 10px; }
#news ul{ margin-top: 30px; }
#news li .news_category { width: 110px;  height: 25px;  font-size: 1.2rem;  margin-left: 20px; }
#news a{ display: block; }
#news time{font-size: 1.8rem;}
#news p{ line-height: 2.5; font-size: 1.6rem;}
#news .btn_link{ bottom: 440px;  right: 30px;  font-size: 1.3rem; }
#news .news_ilust { transform: scaleX(-1); }
#news .news_bird{bottom: 20px; width: 10%; }
#news .news_grass02{bottom: 6px; width: 8%; }
#news .news_grass03{ bottom: -12px; width: 4%; }
}

/*==================================
	category
==================================*/
#category{ position: relative; margin-top: -100px; padding: 0 0 300px; }
#category::before{ content: "";  position: absolute;  inset: 0;  background: url("../img/bg.jpg") center/cover;  z-index: -1; }
#category .category_cards{ display:flex;  justify-content:center;  gap:40px;  flex-wrap:wrap; }
#category .category_cards li{ list-style:none;  border-radius: 30px;  background: #fff; }
#category .category_item_individual{ width: 650px;  height: 580px;  display: flex;  flex-direction: column;  align-items: center;  padding-top: 50px;  position: relative; }
#category .category_item_company{ width: 380px;  height: 580px;  display: flex;  flex-direction: column;  align-items: center;  padding-top: 50px;  position: relative; }
#category .category_item_individual h2,
#category .category_item_company h2{ color: #649dcd;  margin-top: 36px;  margin-bottom: 40px; }
#category .category_list{ margin: 0;  line-height: 1.4;  display: flex;  flex-direction: column;  align-items: flex-start;  justify-content: center;  line-height: 1.6;  letter-spacing: .08em;  gap: 10px; }
#category .category_list li::before{ border: 1px solid #649dcd;  margin-right: 14px;  border-radius: 50%;  width: 8px;  aspect-ratio: 1;  content: "";  display: inline-block; }
.category_list small{ display: block;  margin-left: 18px;  font-size: 1.4rem; }
#category .category_item_individual span,
#category .category_item_company span { background: #f0f5fa;  border-radius: 50%;  border: 5px solid #fff;  font-size: 2.6rem;  color: #649dcd;  display: flex;  width: 70px;  aspect-ratio: 1;  justify-content: center;  align-items: center;  position: absolute;  top: 540px; }

@media screen and (max-width:1125px){
#category .category_cards{ display:flex; flex-direction: row;  align-items:center;  justify-content: space-around;  width:100%; gap: 0;}
#category .category_cards li { width: 48%;}
#category .category_item_company,
#category .category_item_individual { width: 100%;}
#category .category_list {width: 100%; align-items: center;}
}
@media screen and (max-width:767px){
#category{ margin-top:-500px;  padding-bottom:200px; }
#category .category_cards{ display:flex;  flex-direction:column;  align-items:center;  justify-content: space-around;  gap:50px;  width:100%; }
#category .category_cards li{ width:100%; }
#category .category_item_individual,
#category .category_item_company{ width:100%;  height:auto;  min-height:0;  padding:40px 28px 55px; }
#category .category_item_individual img,
#category .category_item_company img{ width:70px;  height:auto; }
#category .category_item_individual h2,
#category .category_item_company h2{ margin-top:24px;  margin-bottom:24px;  font-size:2.2rem; }
#category .category_list{ width:90%;  gap:10px; }
#category .category_list li{ width:100%;  font-size:1.3rem;  line-height:1.6; }
#category .category_list small{ display:block;  margin-left:22px;  font-size:1.1rem; }
#category .category_item_individual span{ top: 375px; }
#category .category_item_company span{ top: 315px; }
}

/*==================================
	flow
==================================*/
#flow{ background: #faf8f4;  border-radius: 50px;  width:min(calc(100% - 40px),1220px); margin: -120px auto 0; }
#flow .wrapper{ display: flex;  justify-content: center;  flex-direction: column; gap: 36px; }
#flow .flow_step{ display: flex;  justify-content: center;  gap: 50px; }
#flow .step1 .flow_step img,
#flow .step2 .flow_step img{ padding-left: 20px; }
#flow .flow_step li{ position: relative;  overflow: visible;  border-radius: 30px;  display: flex;  flex-direction: column;  align-items: center;  width: 220px;  height: 460px; }
#flow .flow_step li:not(:last-child)::after{ content: "";  position: absolute;  top: 55%;  left: calc(100% + 7px);  transform: translateY(-50%);  width: 36px;  height: 4px;  background:radial-gradient(circle, #6ea3d8 1px, transparent 2px) left center / 7px 4px repeat-x; }
#flow .num{ position: absolute;  background: #2c4198;  color: #fff;  font-size: 2.4rem;  width: 60px;  aspect-ratio: 1;  border-radius: 50%;  display: flex;  align-items: center;  justify-content: center; }
#flow .flow_head{ width:100%;  background:#649dcd;  padding: 105px 40px 80px;  margin-top: 30px;  border-radius:30px 30px 0 0; }
#flow .flow_head h3{ letter-spacing: .08em;  color:#fff;  text-align:center;  margin-top: -40px; }
#flow .flow_body{ background: #fff;  padding: 20px 10px;  text-align: center;  display: flex;  flex-direction: column;  align-items: center;  width: 100%;  height: 100%;  border-radius: 0 0 30px 30px; }
#flow .flow_icon{ width:140px;  height:150px;  background:#f0f5fa;  border-radius:15px;  display:flex;  align-items:center;  justify-content:center;  margin-top: -90px; }
#flow .flow_body p{ margin-top: 31px;  line-height: 1.4;  letter-spacing: .02em; font-size: 1.6rem;}
#flow .guide_link{ display: flex;  justify-content: flex-end;  align-items: center;  gap: 12px;  color: #649dcd;  font-size: 2rem;  font-weight: 400;  letter-spacing: .08em;  margin-top: -6px;  margin-right: 80px; }
#flow .guide_link span{ background: #fff;  border-radius: 50%;  font-size: 1.4rem;  width: 30px;  aspect-ratio: 1;  display: flex;  align-items: center;  justify-content: center; }

@media screen and (min-width:768px) and (max-width:1125px){
#flow{padding: 80px 0;}
#flow .flow_head h3{font-size: 2rem; letter-spacing: 0em;  white-space: nowrap;}
#flow .flow_step{ gap: 4vw;}
#flow .guide_link {font-size: 1.6rem;}
#flow .flow_step li:not(:last-child)::after {left: calc(100% + 4px);}
}
@media screen and (max-width:767px){
#flow{ width:100%; height:auto;  margin:-60px auto 0;  border-radius:30px; }
#flow .wrapper{ gap:40px;  padding:20px 14px; }
#flow .flow_step{ flex-direction:row;  flex-wrap:wrap;  align-items:stretch;  justify-content:space-between;  gap:20px 12px; }
#flow .flow_step li{ width:calc((100% - 37px) / 2);  height:auto;  border-radius:15px; }
#flow .flow_step li:not(:last-child)::after{left: calc(100% + 3px); width: 32px; background: radial-gradient(circle, #6ea3d8 1px, transparent 2px) left center / 8px 4px repeat-x;}
#flow .flow_step .step3:not(:last-child)::before { content: ""; position: absolute; top: 55%; right: calc(100% + 2px); transform: translateY(-50%); width: 32px; height: 4px; background: radial-gradient(circle, #6ea3d8 1px, transparent 2px) left center / 8px 4px repeat-x;}
#flow .flow_head{ padding:52px 8px 55px;  border-radius:15px 15px 0 0; }
#flow .flow_head h3{ font-size:1.5rem;  margin-top:-20px; }
#flow .num{ width:42px;  font-size:1.7rem; }
#flow .flow_body{ padding:14px 6px 20px;  border-radius:0 0 15px 15px; }
#flow .flow_icon{ width:76px;  height:82px;  margin-top:-55px;  border-radius:8px; }
#flow .flow_icon img{ max-width: 60px;  max-height: 48px; }
#flow .step1 .flow_icon img,
#flow .step2 .flow_icon img{ padding-left: 10px; }
#flow .flow_body p{ font-size:1.1rem;  line-height:1.7;  margin-top:15px;}
#flow .flow_step::after{ left:50%;  top:calc(50% - 17px);  width:4px;  height:34px; }
#flow .guide_link{ margin-top:0;  margin-right:0;  align-self:center;  font-size:1.3rem; }
}

/*==================================
	footer
==================================*/
.ft{ position:relative;  padding-top: 150px;  margin-inline: auto; }
.ft .inner{ display:flex;  align-items:flex-start;  justify-content:space-between;  gap:90px;  width:1100px;  max-width:calc(100% - 80px);  margin-inline:auto; position: relative; margin-bottom: 50px;}
.ft_left{ width:56%;}
.ft_right{ width:40%; z-index: 2; height: 10vh;}
.ft_ilust{ position: relative; }
.ft_wind{ position: absolute;  right: 150px;  top: -100px; }
.ft_tree{ position: absolute;  right: 30px;  top: -130px; }
.ft_logo a{ display: flex;  gap: 20px;  align-items: flex-start; } 
.ft_logo p{ margin-left: -5px;  font-size: 1.6rem; }
.ft_logo h2{ font-size: 3.4rem;  font-weight: 500;  margin-top: 3px; }
.ft_address{ margin-top:26px; display: flex; flex-direction: column; }
.ft_address p{ display:flex;  align-items:baseline;  gap:8px;  margin: 5px 0 5px; font-size: 1.6rem; letter-spacing: .05em; }
.ft_address p span{ font-size:2rem;  letter-spacing:.08em; }
.ft_address .tel{ font-size:3.6rem;  font-weight:400;  line-height:1.2;  letter-spacing:.08em; }
.ft_address address{ font-size:2rem;  font-style:normal;  line-height:1.5;  letter-spacing:.04em; }
.ft_address a{ color:inherit; text-decoration:none!important; border-bottom:none!important;  white-space: nowrap;}
.ft_address .tel-fax{display: flex; flex-direction: row; align-items: flex-start; flex-wrap: wrap; gap: 2vw;}
.ft_address .tel,
.ft_address .fax{font-size: 3.6rem; }
.ft_address address{ text-decoration:none!important; border-bottom:none!important; margin-top: 20px;}
.footer-hours-note{font-size: 1rem;}
.calendar { display: flex; align-items: flex-start; margin-top: 24px; gap: 5px; flex-direction: column;}
.calendar p{ flex:1;  font-size:1.6rem;  line-height:1.6; }
.calendar a{ display:flex;  align-items:center; width: 50%; min-height:48px;  padding:0 20px;  color:#649dcd;  background:#f0f5fa;  border-radius:5px;  font-size:1.5rem;  white-space:nowrap; margin-top: 10px; min-width: 280px;} 
.calendar .text {margin:0 8px; }
.calendar a span{ display:flex;  align-items:center;  justify-content:center;  width:28px;  height: 28px;  aspect-ratio: 1;  margin-left:auto;  background:#fff;  border-radius:50%; }
.footer-hours{ width:100%;  margin-top:40px;  border:1px solid #649dcd;  border-collapse:separate;  border-spacing:0;  overflow:hidden;  border-radius:15px;  text-align:center;  letter-spacing: .2rem; }
.footer-hours th,.footer-hours td{ height:52px;  padding:10px 8px;  border-bottom:1px solid #649dcd;  font-size:1.4rem;  font-weight:400; }
.footer-hours thead th{ background:#faf8f4; }
.footer-hours tbody tr:last-child th,.footer-hours tbody tr:last-child td{ border-bottom:0; }
.footer-hours th:first-child{ width:145px; }
.footer-hours td{ color:#649dcd; }
.footer-hours th:nth-child(7),
.footer-hours td:nth-child(7){ width:55px; }
.footer-hours th:nth-child(8),
.footer-hours td:nth-child(8){ width:65px; }
.footer-hours-note{font-size: 1.4rem; margin-top: 10px; }
.ft_right iframe{ display:block;  width:100%;  height:650px;  border:0;  border-radius:30px; }
.access{ display:block;  margin-top:20px; }
.access > div{ display:grid;  grid-template-columns:140px 1fr;  align-items:center;  gap:18px;  margin-top:10px; }
.access dt{ padding:5px 10px;  background:#fff;  font-size:1.2rem;  text-align:center; }
.access dd{ margin:0;  font-size:1.3rem; }
.footer_nav{ position:relative;  z-index:1; min-height:410px;  padding:70px 0 30px;  background:#f0f5fa;  border-radius:100px 100px 0 0;}
.footer_nav_content { width:min(calc(100% - 80px),1220px);  margin-inline:auto; }
.tori{ position: absolute;   top: -30px;  left: min(calc(90% - 490px), 750px); }
.ft_nav{ width: 60%; }
.ft_nav a{ display: flex;  align-items: center; }
.ft_nav h4{ letter-spacing: .01em;  text-align: left;  color: #2c4198;  font-size: 2rem; line-height: 1;}
.ft_nav .en{ color:#649dcd;  font-size:1rem; }
.ft_nav img{ padding: 10px; }
.ft_nav ul{ display:grid;  grid-template-columns:repeat(2,1fr);  gap:20px;  padding: 0 7% 40px;  }
.copyright{ display: flex;  justify-content: space-between; align-items: center; width:90%;  margin-inline: auto;  font-size: 1.2rem;  color: #565656; }
.copyright a{ display: flex;  align-items: center;  gap: 5px;  left: 200px; }
.copyright span{ display: flex;  align-items: center;  justify-content: center;  padding:5px 12px;  color:#649dcd;  background:#fff;  border-radius:50%;  width: 30px;  height: 30px; }

@media screen and (min-width:768px) and (max-width:1125px){
.ft .inner { gap: 20px; }
.ft_address p{font-size: 1.2rem;}
.ft_logo a { transform: scale(0.7) translateX(-20%); flex-direction: row;}
.ft_address address{ white-space: nowrap; font-size: 1.4rem;}
.ft_address a{font-size: 1.4rem; margin-top: 5px;}
.ft_logo h2{ white-space: nowrap; font-size: 3rem;}
.ft_address .tel, .ft_address .fax { font-size: 2.6rem;}
.footer-hours th:first-child { width: 120px;}
.footer-hours th, .footer-hours td { font-size: 1.3rem; }
.footer-hours-note { font-size: 1.2rem; }
.calendar { display: flex; margin-top: 40px; flex-direction: column; align-items: flex-start;}
.calendar p { font-size: 1.2rem; }
.access > div {gap: 1.5vw; grid-template-columns: 40% 1fr;}
.tori { top: -20px; left: 450px; width: 3%; }
.ft_nav h4 {font-size: 1.6rem;}
.ft_wind { width: 5%;  right: 14vw; }

}
@media screen and (max-width:767px){
.ft{ padding-top: 100px; }
.ft .inner{ flex-direction: column;  gap: 50px; max-width: 82%; align-items: center; margin-bottom: -40px;}
.ft_left{ width: 100%; }
.ft_right{ width: 100%; height: 35vh;;}
.ft_wind{ right: 76px; top: -68px; width: 9%;}
.ft_tree{ right: 20px; top: -70px; width: 12%;}
.ft_logo a{ gap: 10px; }
.ft_logo img{ width: 70px;}
.ft_logo p{ letter-spacing:.05em;  font-size: 1.4rem; }
.ft_logo h2{ font-size: 2.4rem; }
.ft_address address{ font-size: 1.5rem;  text-align: center; }
.ft_address p{ justify-content: center;  font-size: 1.5rem; }
.ft_address span,
.ft_address a{font-size: 1.4rem; text-align: center;}
.ft_address .tel-fax{display: flex; flex-direction: column; align-items: center; }
.footer-hours{ margin-top: 30px; }
.footer-hours th,.footer-hours td{ height:45px;  font-size:1.2rem; }
.footer-hours th:nth-child(7), 
.footer-hours td:nth-child(7) { width: 30px;}
.footer-hours th:nth-child(8),
.footer-hours td:nth-child(8){ width:auto; }
.footer-hours-note { font-size: 1.2rem; text-align: center; }
.calendar{ display: flex; align-items: center; flex-direction: column;  margin-top: 30px; gap: 0;}
.calendar p{ margin: 0 0 10px; font-size: 1.3rem;}
.calendar a{  width: 80%; }
.ft_right iframe{ height: 380px; }
.access dd { font-size: 1.1rem; }
.footer_nav{ padding: 300px 0 50px;  border-radius: 35px 35px 0 0;}
.ft_nav{ width: 100%; }
.ft_nav h4{ font-size: 1.2rem;  font-weight: 500; }

.ft_nav ul{ padding: 0 0 40px; }
.copyright{ flex-direction: column-reverse;  align-items: center;  gap: 60px; }
.copyright p{ font-size: 1rem; letter-spacing: -0.04em;}
}


/*==================================
	common page title
==================================*/
.page_title{ position:absolute;  z-index:2;  top:-165px;  left:50%;  transform:translateX(-50%);  display:flex;  flex-direction:column;  align-items:center;  justify-content:center;  width:300px;  height:350px;  padding:45px 20px 55px;  color:#fff;  border-radius:25px; }
.page_title .icon{ width:70px;  height:auto;  margin-bottom:18px; }
.page_title .title{ margin:0;  color:#fff;  font-size:2.6rem;  font-weight:500;  line-height:1.4;  letter-spacing:.05em;  text-align:center; }
.page_title .en{ display:block;  margin-top:8px;  color:#fff;  font-size:1.6rem;  font-weight:400;  letter-spacing:.08em; }
.page_title .tori02{ position:absolute;  bottom:-25px;  left:50%;  transform:translateX(-50%);  height:auto; }

@media screen and (min-width:768px) and (max-width:1125px){
.page_title {  transform: scale(0.5) translateX(-100%); }


}

@media screen and (max-width:767px){
.page_title { top: -75px; width: 130px; height: 160px; padding: 0;}
.page_title .icon { width: 40px;}
.page_title .title { font-size: 1.35rem;}
.page_title .en { font-size: 0.9rem;}
.page_title .tori02 { bottom: -15px; width: 25%;}
}

/*==================================
	info
==================================*/
#info{ padding:180px 0 140px; background:#faf8f4;}
#info .wrapper{ width:min(calc(100% - 80px),1100px); margin-inline:auto;}
#info .section_title{ margin-bottom:60px;}
#info .section_title h2{ color:#2c4198;}
#info .info_filter{ display:flex; justify-content:center; gap:12px; margin-bottom:50px;}
#info .info_filter a{ min-width:120px; padding:12px 25px; border:1px solid #649dcd; border-radius:30px; color:#649dcd; font-size:1.4rem; text-align:center;}
#info .info_filter a.active{ background:#649dcd; color:#fff;}

#info .info_list{ border-top:1px solid #ddd;}
#info .info_item{ border-bottom:1px solid #ddd;}
#info .info_item > a{ position:relative; display:grid; grid-template-columns:220px 1fr 40px; gap:40px; align-items:center; padding:35px 20px; transition:.3s;}
#info .info_item > a:hover{ background:#fff;}
#info .info_meta{ display:flex; align-items:center; gap:18px;}
#info .info_meta time{ color:#565656; font-size:1.5rem; letter-spacing:.05em;}
#info .info_category{ min-width:90px; padding:7px 15px; border-radius:4px; font-size:1.2rem; text-align:center; border:1px solid #649dcd; color:#649dcd; background:#fff;}
#info .info_item:first-child .info_category{ background:#649dcd; color:#fff;}
#info .info_content h3{ margin-bottom:10px; color:#2c4198; font-size:1.8rem; font-weight:500; letter-spacing:.06em;}
#info .info_content p{ color:#565656; font-size:1.4rem; line-height:1.9; letter-spacing:.05em;}
#info .info_arrow{ display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:#fff; color:#649dcd; font-size:1.4rem;}

/*
#info .pagination{ display:flex; justify-content:center; gap:10px; margin-top:60px;}
#info .pagination a{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:#fff; color:#649dcd; font-size:1.4rem;}
#info .pagination a.current{ background:#649dcd; color:#fff;}
*/
#info .pagination{ margin-top:50px;}
#info .pagination .wp-pagenavi{ display:flex; justify-content:center; align-items:center; gap:10px;}
#info .pagination .wp-pagenavi .pages{ display:none;}
#info .pagination .wp-pagenavi a,#info .pagination .wp-pagenavi .current{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; margin:0; padding:0; border:none; border-radius:50%; background:#fff; color:#65a7d7; text-decoration:none;}
#info .pagination .wp-pagenavi .current{ background:#65a7d7; color:#fff;}

@media screen and (max-width:767px){
#info{ padding:110px 0 80px;}
#info .wrapper{ width:calc(100% - 40px);}
#info .section_title{ margin-bottom:40px;}
#info .info_filter{ gap:8px; margin-bottom:35px;}
#info .info_filter a{ min-width:auto; flex:1; padding:10px 5px; font-size:1.2rem;}
#info .info_item > a{ display:block; padding:25px 5px;}
#info .info_meta{ gap:12px; margin-bottom:15px;}
#info .info_meta time{ font-size:1.3rem;}
#info .info_category{ min-width:80px; padding:5px 10px; font-size:1.1rem;}
#info .info_content{ padding-right:35px;}
#info .info_content h3{ margin-bottom:8px; font-size:1.6rem; line-height:1.6;}
#info .info_content p{ font-size:1.3rem; line-height:1.8;}
#info .info_arrow{ position:absolute; right:5px; top:50%; transform:translateY(-50%);}
}
/*==================================
	news_detail
==================================*/
#news_detail{ background:#faf8f4; }
#news_detail .wrapper{ width:min(calc(100% - 80px),1100px); margin-inline:auto; }
#news_detail .section_title{ margin:70px; }
.news_detail{ max-width:900px; margin:0 auto; padding:70px 80px; background:#fff; border-radius:30px; }
.news_detail_meta{ display:flex; align-items:center; gap:20px; margin-bottom:25px; }
.news_detail_meta time{ color:#565656; font-size:1.4rem; letter-spacing:.05em; }
.news_detail_category{ min-width:90px; padding:7px 15px; border:1px solid #649dcd; border-radius:4px; color:#649dcd; background:#fff; font-size:1.2rem; text-align:center; }
.news_detail_category--news{ background:#649dcd; color:#fff; }
.news_detail_title{ padding-bottom:30px; border-bottom:1px solid #ddd; color:#2c4198; font-size:3rem; font-weight:500; line-height:1.6; letter-spacing:.06em; }
.news_detail_content{ margin-top:45px; }
.news_detail_content p{ margin-top:25px; color:#565656; font-size:1.6rem; line-height:2; letter-spacing:.05em; }
.news_detail_content h2{ margin-top:60px; color:#2c4198; font-size:2.2rem; font-weight:500; line-height:1.6; }
.news_detail_content h3{ margin-top:40px; color:#2c4198; font-size:1.8rem; font-weight:500; }
.news_detail_back{ display:flex; justify-content:center; margin-top:60px; }
.news_detail_back .btn_link{ display:flex; align-items:center; gap:12px; color:#649dcd; font-size:1.4rem; }

@media screen and (max-width:767px){
#news_detail{ padding:110px 0 80px; }
#news_detail .wrapper{ width:calc(100% - 40px); }
#news_detail .section_title{ margin-bottom:40px; }
.news_detail{ padding:35px 20px; border-radius:20px; }
.news_detail_meta{ gap:12px; margin-bottom:20px; }
.news_detail_meta time{ font-size:1.2rem; }
.news_detail_category{ min-width:80px; padding:5px 10px; font-size:1.1rem; }
.news_detail_title{ padding-bottom:25px; font-size:2.2rem; }
.news_detail_content{ margin-top:30px; }
.news_detail_content p{ margin-top:20px; font-size:1.4rem; line-height:1.9; }
.news_detail_content h2{ margin-top:45px; font-size:1.9rem; }
.news_detail_content h3{ margin-top:30px; font-size:1.6rem; }
.news_detail_back{ margin-top:40px; }
}

/*==================================
	greeting
==================================*/
#greeting{ position:relative;  padding:90px 0 150px; }
.greeting_bg{ display:block;  width:100%;  height:650px;  object-fit:cover;  object-position:top; }
#greeting .wrapper{ position:relative; }
#greeting .page_title{ background:#2c4198; }
.greeting_content{ position:relative;  min-height:1250px;  padding-top:300px; }
.greeting_content .section_title{ position:relative;  z-index:2;  text-align:center; }
.greeting_content .section_title h2{ font-size:2.8rem; line-height:1.8; }
.greeting_content .section_title .en{ display:block;  margin-bottom:8px;  color:#2c4198;  font-size:1.3rem;  line-height:1.4; }
.greeting_text{ position:relative;  z-index:2;  width:720px;  margin:65px auto 0;  text-align:center; }
.greeting_text p{ font-size: 1.6rem;  line-height:2.6;  letter-spacing:.06em; }
.greeting_text p+p{ margin-top:45px; }
.greeting_img{ position:absolute;  z-index:1;  display:block;  object-fit:cover;  border-radius:15px;  box-shadow:12px 15px 25px rgba(0,0,0,.08); }
.photo01{ top:250px;  right:80px;  width:240px; height:150px; object-position:75% 50%; }
.photo02{ top:550px;  left:0;  width:240px; height:150px; object-position:50% 50%;}
.photo03{ top:1000px;  right:0;  width:150px; height:220px; object-position:90% 25%;}
.greeting_item{ display:flex;  justify-content:center;  gap:80px;  margin-top:80px;  line-height: 1.5;  color: #fff;  font-size: 2.6rem; }
.greeting_item li{ position:relative;  width:300px;  aspect-ratio:1;  border-radius:50%;  background:#6ea3d8;  display:flex;  align-items:center;  justify-content:center;  text-align:center; }
.greeting_item li:not(:last-child)::after{ content:"";  position:absolute;  top:50%;  left:100%;  transform:translateY(-50%);  width:80px;  border-top:2px dotted #6ea3d8; }

@media screen and (min-width:768px) and (max-width:1125px){
#greeting .wrapper {display: flex; flex-direction: column; align-items: center;}
.greeting_bg {height: 345px;}
.greeting_content{ padding-top: 150px;}
.greeting_text{ width:100%; max-width:560px;}
.photo01{ width:160px; right: -120px; object-position: 0% 50%;}
.photo02{ width:150px; left: -160px;}
.photo03{ width:150px; right: -170px;}
.greeting_item { font-size: 1.8rem; width: 90%;}
}


@media screen and (max-width:767px){
.greeting_bg{ height:auto; margin-top: -15px;}
.greeting_content{ position: relative; min-height: 1250px; padding-top: 160px;}
.greeting_content .section_title h2{ font-size:1.8rem; gap:12px; margin-left: 15px;}
.greeting_content .section_title .en{ margin-bottom:0; margin-right: 15px;}
.greeting_text p{ font-size: 1.2rem; margin-top: 20px;}
.greeting_text p+p{ margin-top: 200px; }
.greeting_text{ position:relative;  width:100%;  left:auto;  right:auto;  margin:0;  transform:none; }
.photo01{ top:490px; left:50%; right:auto; width:200px; transform:translateX(-50%);}
.photo02{ top:925px; left:50%; right:auto; transform:translateX(-50%);}
.photo03{ top: 1315px; left:50%; right:auto; width: 120px; transform:translateX(-50%); height: 180px;}
.greeting_item{gap: 10px; margin-top: 60px;}
.greeting_item li{ width: 33%; height: auto; font-size: 1.1rem;}
.greeting_item li:not(:last-child)::after {width: 10px;}
}

/*==================================
	- bus
==================================*/
#bus { background-color: #faf8f4;  width: 100%;  height: 820px;  border-radius:100px;  margin-top: -200px; }
#bus .wrapper{ display: flex;  padding-top: 100px;  gap: 50px;  justify-content: center; flex-direction: row;}
#bus .bus_photo{ width: 40%;  border-radius:15px; }
#bus .bus_content{ display: flex;  flex-direction: column;  justify-content: flex-start;  gap: 30px;  width: 500px; }
#bus .section_title{ display: flex;  gap: 20px;  flex-direction: row;  align-items: flex-start; }
#bus .section_title h2{ color:#2c4198;  display: flex;  align-items: flex-start;  gap: 12px;  flex-direction: column; }
#bus .en{ color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em; }
#bus .bus_content p{ font-size:1.6rem;  line-height:2.4;  letter-spacing:.06em; }
#bus .road { width: 100%; height: 150px; position: relative; overflow: hidden; }
#bus .bus_ilust{ position: absolute; left: -180px; bottom: 75px; display: flex; gap: 10px; width: max-content; will-change: transform; animation: drive 20s linear infinite; }
#bus .bus_ilust01{ width: 120px; flex-shrink: 0; animation: gata-goto01 1s infinite; }
#bus .bus_ilust02{ width: 120px; flex-shrink: 0; animation: gata-goto02 1s infinite; }
@keyframes drive {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(100vw + 220px)); }
}

@keyframes gata-goto01 {
  10% { transform: translateY(-3px); animation-timing-function: cubic-bezier(0.4, 0, 1, 1.44);}
  15% { transform: translateY(0px); }
  65% { transform: translateY(-1px); animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3); }
  69% { transform: translateY(0px); }
}
@keyframes gata-goto02 {
  18% { transform: translateY(-2px); animation-timing-function: cubic-bezier(0.4, 0, 1, 1.3);}
  23% { transform: translateY(0px); }
  62% { transform: translateY(-5px); animation-timing-function: cubic-bezier(0.4, 0, 1, 1.44); }
  65% { transform: translateY(0px); }
}

@media screen and (min-width:768px) and (max-width:1125px){
#bus { height: 620px; }
#bus .wrapper{ padding-top: 0;}
}

@media screen and (max-width:767px){
#bus { border-radius: 35px; height: auto;}
#bus .wrapper{ flex-direction: column; padding-top: 50px; }
#bus .bus_photo { width: 100%; }
#bus .bus_content{ width: 100%; margin-left: 6px; }
#bus .bus_content p {font-size:1.3rem; line-height: 2.3; width: 97%;}
#bus .road { height: 80px;  }
#bus .bus_ilust{ left: -100px; bottom: 0; animation: drive 8s linear infinite; }
#bus .bus_ilust01{ width: 30%; flex-shrink: 0; }
#bus .bus_ilust02{ width: 30%; flex-shrink: 0; }
@keyframes drive {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(100vw + 120px)); }
}
}

/*==================================
	- equipment
==================================*/
#equipment .en{ color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em; }
#equipment .equipment_content{ margin-top: 60px;  }
#equipment .equipment_list{ display:grid; grid-template-columns:repeat(2,1fr); gap:70px 60px; width:min(calc(100% - 40px),1220px); margin-inline:auto;}
#equipment .equipment_item{ display:grid; grid-template-columns:220px 1fr; align-items:center; gap:42px; width:100%; min-width:0;}
#equipment .equipment_item img{ width:220px; object-fit:cover; border-radius:15px;}
#equipment .equipment_text{ width:auto; margin-left:0; min-width:0;}
#equipment .equipment_text p {margin-top: 20px;  font-size: 1.8rem;  letter-spacing: .06em;  line-height: 2; }

@media screen and (max-width:1200px){
#equipment{ padding: 80px 0;}
#equipment .equipment_list{ grid-template-columns:1fr; max-width:760px; gap: 30px;}
#equipment .equipment_item{ grid-template-columns:150px 1fr; width:100%;}
#equipment .equipment_text p { font-size: 1.5rem; }
}
@media screen and (max-width:767px){
#equipment .equipment_list{ grid-template-columns:1fr; gap:40px; padding-bottom:12px;}
#equipment .equipment_item{ gap:20px;}
#equipment .equipment_item img{ width:100%; height:auto; aspect-ratio:1; object-fit:cover;}
#equipment .equipment_text{ width:100%; margin-left:0;}
#equipment .equipment_text p{ margin-top:22px; width:100%;}
#equipment .equipment_text p{ font-size:1.3rem;}
}

/*==================================
	- sports
==================================*/
#sports .wrapper{ display: flex;  flex-direction: row;  justify-content: space-between; align-items: center;}
#sports .sports_content{ width: 45%;  display: flex;  flex-direction: column;  align-items: flex-start; }
#sports .sports_section_title{display: flex;  flex-direction: row;  align-items: center;  justify-content: space-between;  width: 100%; }
#sports .section_title { align-items: flex-start; }
#sports .section_title h2{ align-items: flex-start; }
#sports .section_title h3 {color:#2c4198}
#sports .en{ color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em; }
#sports .sports_content a{background: #f0f5fa;  border-radius: 50%;  border: 5px solid #fff;  font-size: 2.6rem;  color: #649dcd;  display: flex;  width: 70px;  aspect-ratio: 1;  justify-content: center;  align-items: center; }
#sports .sports_text{position: relative;  margin-top: 55px;  font-size: 1.6rem;  letter-spacing: .01em;  line-height: 2.4;  display: flex;  flex-direction: column; }
#sports .work_text{ margin-top: 55px;  font-size: 1.4rem;  letter-spacing: .06em;  line-height: 2.4;  background: #faf8f4;  padding: 20px 40px;  border-radius: 15px;  text-align: left;  }
#sports .sports_img{ position: relative;  width:49%;  margin-right: 0;  }
#sports .sports_photo{width: 100%;  background-color: #faf8f4;  border-radius:25px;  }
#sports .sports_logo{ display: flex;  align-items: center;  border-radius: 15px;}
#sports .sports_ilust01{ position: absolute;  top: -30px;  right: 40px;  width: 117px;  pointer-events:none; }
#sports .sports_ilust02{ position: absolute;  bottom: 0;  left: 95%;  width: 58px;  pointer-events:none; }
#sports .sports_ilust03{ position: absolute;  bottom: -70px;  right: 0;  width: 240px;  pointer-events:none; }
#sports .sports_ilust04{ position: absolute; width: 40%; left: -40px; top: -40px;}
#sports .sports_ilust05{ position: absolute; width: 16%; top: 260px; left: 20px;}

@media screen and (min-width:768px) and (max-width:1125px){
#sports{padding: 50px 0;}
#sports .en{font-size: 1rem;}
#sports .sports_text { margin-top: 35px;}
#sports .work_text {margin-top: 35px; font-size: 1.3rem;  line-height: 1.4; }
#sports .sports_content a { font-size: 2rem; width: 54px;}
}

@media screen and (max-width:767px){
#sports .wrapper{ flex-direction: column; }
#sports .sports_content { width: 100%;}
#sports .work_text{font-size: 1.3rem; letter-spacing: .06em; line-height: 2; padding: 20px 70px;}
#sports .sports_logo,
#sports .sports_ilust03 { display: none;}
#sports .sports_ilust01{ right: 150px;}
#sports .sports_ilust02{ left: 88%; }
#sports .sports_ilust04{ left: -100px; top: -130px; width: 50%;}
#sports .sports_ilust05{ display: none;}
}

/*==================================
	- overview
==================================*/
#overview .wrapper{ display: flex;  flex-direction: column;  align-items: center;  }
#overview .en{ color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em; }
#overview .overview_table{ width:100%;  margin-top:55px;  border-collapse:separate;  border-spacing:30px 0;  }
#overview .overview_table th,
#overview .overview_table td{ padding:30px 0;  vertical-align:middle;  }
#overview .overview_table th{ position: relative;  width: 300px;  padding: 30px 100px 30px 51px;  text-align: left;  font-weight: 400;  color: #565656;  border-bottom:1px solid #649dcd; }
#overview .overview_table th::before{ border: 1px solid #649dcd;  margin-right: 13px;  border-radius: 50%;  width: 8px;  aspect-ratio: 1;  content: "";  display: inline-block; }
#overview .overview_table td{ padding: 30px 50px;  border-bottom:1px solid #9e9e9e;  white-space: nowrap;}
#overview .overview_table tr:first-child th{ border-top:1px solid #649dcd; }
#overview .overview_table tr:first-child td{ border-top:1px solid #9e9e9e; }

@media screen and (min-width:768px) and (max-width:1125px){
#overview{ padding: 50px 0;}
#overview .en{font-size: 1rem;}
#overview .overview_table th,
#overview .overview_table td{font-size: 1.4rem;  padding: 20px 0px 20px 50px;}
#overview .overview_table th {width: 220px;}
}

@media screen and (max-width:767px){
	#overview .overview_table{border-spacing: 10px 0;}
	#overview .overview_table th { width: 75px; padding: 20px 0; text-align: center; font-size: 1.2rem;}
	#overview .overview_table th::before {display: none;}
	#overview .overview_table td { padding: 20px; font-size: 1.3rem; letter-spacing: .06em; line-height: 1.7;}
}

/*==================================
	service
==================================*/
#service{ position:relative;  padding:50px 0 150px; }
.service_bg{ display:block;  width:100%;  height:650px;  object-fit:cover;  object-position:center; }
#service .wrapper{ position:relative; }
#service .page_title{ background:#cdac84; }
.service_content{ position:relative;  padding-top:300px; }
.service_content .section_title{ position:relative;  z-index:2;  text-align:center; }
.service_select{ display:flex;  justify-content:center;  gap:4vw;  margin-top:80px; }
.tab_btn{ background-color: #faf8f4;  color: #2c4198;  font-size: 2rem;  font-weight: 400;  padding: 50px;  border-radius: 30px;  border:1px solid #faf8f4;  cursor: pointer;  width: 420px;  height: 305px;  display: flex;  flex-direction: column;  align-items: center;  justify-content: space-evenly;  gap:36px}
.tab_btn span{ display:flex;  align-items:center;  justify-content:center;  width:70px;  aspect-ratio: 1;  background:#f0f5fa;  border:5px solid #fff;  border-radius:50%;  margin: -7px; }

section#Individuals,
section#Companies{display: none; }
section#Individuals.active,
section#Companies.active{ display: flex;  flex-direction: column;  align-items: center; }
.tab_btn.active { background-color: #faf8f4;  color: #cdac84;  font-size: 2rem;  font-weight: 400;  padding: 50px;  border-radius: 30px;  border:6px solid #cdac84;  cursor: pointer;  width: 420px;  height: 305px;  display: flex;  flex-direction: column;  align-items: center;  justify-content: space-evenly;  gap:36px}
.tab_btn.active span{ background:#cdac84; color:#fff; transition: transform 0.3s ease; transform: rotate(90deg); }

@media screen and (min-width:768px) and (max-width:1125px){
.service_bg{ height:380px; }
.service_content{ padding-top: 150px;}
section#Individuals.active,
section#Companies.active{padding: 0;}
}

@media screen and (max-width:767px){
#service { padding: 0;}
.service_bg{ height:250px; }
.service_content { padding-top: 130px;}
.service_select{ gap:20px; margin-top:40px; }
.tab_btn{ padding: 25px 0 0 0; width: 420px; height: 200px; gap:20px}
.tab_btn img{width: 80px; height: auto;}
.tab_btn h2{font-size: 2rem;}
.tab_btn span{ width:40px; border:3px solid #fff; margin-top: 12px; }
.tab_btn.active { padding:25px 0 0 0 ; border:4px solid #cdac84; width: 420px; height: 200px; gap:20px}
}

/*==================================
	service01 Individuals
==================================*/
#Individuals .section_title { align-items: flex-start;  width: 45%; }
#Individuals .section_title h2{ align-items: flex-start; }
#Individuals .en{ color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em; }
#Individuals p{ margin-top: 52px;  margin-bottom: 5px;  font-size: 1.6rem;  letter-spacing: .06em;  line-height: 2.4;  }
#Individuals .text{ font-weight:400; }

#Individuals .checkup01_content{ display:flex;  align-items:center;  gap:4vw; flex-direction: row; }
#Individuals .checkup01_content a{ display:flex;  align-items:center;  gap:30px;  width:270px;  min-height:48px;  padding:8px 20px;  color:#649dcd;  background:#f0f5fa;  border-radius:5px;  font-size:1.5rem;  white-space:nowrap; }
#Individuals .checkup01_content a span{ display:flex;  align-items:center;  justify-content:center;  width:28px;  aspect-ratio: 1;  margin-left:auto;  background:#fff;  border-radius:50%; }
#Individuals .img_checkup01{ object-fit:cover;  width: 50%; }
#Individuals .img_checkup01 img{ width: 100%;  height: 400px;  object-fit:cover; object-position: center 30%; border-radius:25px; }

#Individuals .checkup02_content{ display: flex;  flex-direction: row; margin-top:110px;  gap: 4vw; }
#Individuals .img_checkup02{width: 50%;  display:flex;  align-items:center;  justify-content:center;  justify-content: space-between;  }
#Individuals .checkup02_content img{ width: 49%;  height: 400px;  object-fit:cover;  object-position:35%;  border-radius:25px; }

#Individuals .checkup03_content{ margin-top: 110px;  width: min(calc(100% - 40px), 1220px); }
#Individuals .checkup03_table { width:100%;  margin-top:60px;  border-collapse:separate;  border-spacing:30px 0;  border-collapse:  collapse;  table-layout: fixed;  }
#Individuals .checkup03_table colgroup col:first-child{ width:36%;  }
#Individuals .checkup03_table colgroup col:nth-child(n + 2){ width:16%;  }
#Individuals .checkup03_table thead { background: #2c4198;  color: #fff;  padding: 20px;  text-align: center;  font-size: 1.6rem;  letter-spacing: .08em;  line-height: 1.8;  }
#Individuals .checkup03_table th,
#Individuals .checkup03_table td { border: #649dcd solid 1px;  padding: 15px;  text-align: center;  font-size: 1.6rem;  letter-spacing: .08em;  line-height: 1.8;  }
#Individuals .checkup03_table tbody th{ font-weight: 400;  color: #565656;  text-align: left;  padding-left: 40px; background-color: #f5f5f5;}
#Individuals .checkup03_table tfoot { display: table-footer-group;  background: #f0f5fa;  color: #2c4198;  padding: 36px;  text-align: center;   border-top: thick double #649dcd;  }
#Individuals .checkup03_table tfoot tr{ display:table-row;  }
#Individuals .checkup03_table tfoot th,
#Individuals .checkup03_table tfoot td{ display:table-cell;  }
#Individuals .checkup03_table tfoot th{ font-weight: 600;  color: #2c4198;  text-align: left;  padding-left: 40px;  }
#Individuals .checkup03_table tfoot td{ align-items:baseline;  font-weight:600;  color:#2c4198;  white-space:nowrap;  }
#Individuals .checkup03_table .price-number{ display:inline-block;  font-size:2.8rem;  }
#Individuals .checkup03_table .price-unit{ display:inline-block;  font-size:1.6rem;  }
#Individuals .table-hint{display: none; }

@media screen and (min-width:768px) and (max-width:1125px){
#Individuals{ scroll-margin-top:120px; }
#Individuals .section_title h2{font-size: 2.4rem;}
#Individuals .en {font-size: 1rem;}
#Individuals p {letter-spacing: .03em; font-size: 1.4rem; margin-top: 22px;}
#Individuals .checkup03_table th, #Individuals .checkup03_table td {font-size: 1.3rem;}
}

@media screen and (max-width:767px){
#Individuals .checkup01_content,
#Individuals .checkup02_content { flex-direction: column; gap: 20px;}
#Individuals .section_title { width: 100%; }
#Individuals .checkup01_content a { width: 100%;}
#Individuals p { margin-top: 22px; font-size: 1.3rem; font-weight: 400; line-height: 2;}
#Individuals .img_checkup01,
#Individuals .img_checkup02 { width: 100%; aspect-ratio: 3 / 2;}
#Individuals .img_checkup02 img{ height: 100%; }
#Individuals .checkup01_content .section_title,
#Individuals .checkup02_content .section_title { order: 1; }
#Individuals .checkup01_content .img_checkup01,
#Individuals .checkup02_content .img_checkup02 { order: 2; }
#Individuals .checkup01_content .section_title,
#Individuals .checkup02_content .section_title { margin-bottom: 16px; }
#Individuals .checkup03_content{ position:relative; padding-bottom:12px; }
#Individuals .checkup03_content .table-scroll{ overflow-x:auto; -webkit-overflow-scrolling: touch; }
#Individuals .checkup03_table { min-width:700px; table-layout: fixed; width:100%; border-collapse:collapse; }
#Individuals .checkup03_table .price-number {font-size: 2rem;}
#Individuals .checkup03_table .price-unit {font-size: 1.2rem;}
#Individuals .checkup03_table tbody th {padding-left: 30px;}
#Individuals .checkup03_table thead th{ position: sticky; top: 0; z-index: 6; }
#Individuals .checkup03_table th,
#Individuals .checkup03_table td { padding: 10px; font-size: 1.4rem; letter-spacing: .03em; }
#Individuals .checkup03_table th:first-child,
#Individuals .checkup03_table td:first-child,
#Individuals .checkup03_table tbody th{ position: -webkit-sticky; position: sticky; left: 0; z-index: 3; box-shadow: 4px 0 8px rgba(0,0,0,0.05); }
#Individuals .checkup03_table thead th:first-child{ left: 0; z-index: 8; background: #2c4198; color:#fff; }
#Individuals .checkup03_table tfoot th:first-child{ left: 0; z-index: 7; background: #f0f5fa; color:#2c4198; }
#Individuals .table-hint{display: block; position: absolute; right: 12px; top: 8px; font-size: 1.2rem; color: #9e9e9e; background: rgba(255,255,255,0.95); padding: 6px 10px; border-radius: 20px; white-space: nowrap; pointer-events: none; z-index: 20; }
#Individuals .checkup03_content .section_title{ position: sticky; top: 0; z-index: 9; background: #fff; }
}



/*==================================
	service02 Companies
==================================*/
#Companies .section_title { align-items: flex-start; }
#Companies .section_title h2{ align-items: flex-start; }
#Companies .en{ margin-bottom: 40px;  color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em; }
#Companies p{ margin-bottom: 40px;  font-size: 1.6rem;  letter-spacing: .06em;  line-height: 2.4;  }

#Companies .checkup01_content { display:flex; flex-direction: column;  gap:20px; }
#Companies .checkup02_content,
#Companies .checkup03_content,
#Companies .checkup04_content { margin-top: 110px;  display:flex; flex-direction: column;  gap:20px; }

#Companies .co_item { display:flex;  flex-direction: column;  max-width:1220px;  min-height:100px;  padding:39px 51px;  color:#565656;  background:#faf8f4;  border-radius: 10px;}
#Companies .co_item > summary{ list-style:none;  cursor:pointer;  }
#Companies .co_item > summary::-webkit-details-marker{ display:none;  }
#Companies .item_title{ position:relative;  display:flex;  align-items:center;  justify-content: flex-start;  gap:14px;  width:100%;  font-size: 2.1rem;  letter-spacing: .08em;  line-height: 1.8;  }
#Companies .item_title::before{ border: 1px solid #649dcd;  border-radius: 50%;  width: 8px;  aspect-ratio: 1;  content: "";  display: inline-block;  flex-shrink:0;  }
#Companies .item_title{ position: relative; }

/* use the existing .btn inside .item_title to draw the +- icon with two bars (matches FAQ) */
#Companies .item_title .btn{ position: absolute; right: -20px; top: 0; bottom: 0; margin: auto; width: 30px; height: 30px; display: inline-block; pointer-events: none; }
#Companies .item_title .btn::before,
#Companies .item_title .btn::after{ content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; width: 30px; height: 2px; background-color: #aaa; transition: .2s; }
#Companies .item_title .btn::before{ transform: rotate(90deg); }

/* open state: rotate to form '-' and hide the other bar to mimic FAQ */
#Companies .co_item[open] > .item_title .btn::before{ transform: rotate(0deg); }
#Companies .co_item[open] > .item_title .btn::after{ background-color: transparent; }

#Companies .co_item ul{ display:flex;  gap:18px;  margin:30px;  padding:0;  list-style:none;  flex-direction: column; }
#Companies .co_item li{font-size: 1.4rem;}
#Companies .co_item .tag_list { display:flex;  gap:12.8px;  margin:30px 0;  padding:0;  list-style:none;  flex-direction: row;  flex-wrap: wrap; }
#Companies .co_item .tag_list li{ background-color: #649dcd;  padding: 10px 0;   width: 49.2%;  text-align: center;  border-radius: 3px;  color: #fff;  font-size: 1.6rem;  letter-spacing: .08em;  line-height: 1.8;}
#Companies .item_bold{ font-weight: 500;  color: #649dcd;  padding-top: 27px;  border-top: 2px solid #649dcd; }
#Companies .category_list{ margin: 0;  line-height: 1.4;  display: flex;  flex-direction: column;  align-items: flex-start;  justify-content: center;  line-height: 1.6;  letter-spacing: .08em;  gap: 20px; }

#Companies .co_item table{ width:100%;  margin-top:29px;  border-collapse:separate;  border-spacing:30px 0;  border-collapse:  collapse;  table-layout: fixed;  }
#Companies .co_item colgroup col:first-child{ width:36%;  }
#Companies .co_item colgroup col:nth-child(n + 2){ width:16%;  }
#Companies .co_item thead { background: #2c4198;  color: #fff;  padding: 20px;  text-align: center;  font-size: 1.6rem;  letter-spacing: .08em;  line-height: 1.8;  }
#Companies .co_item th,
#Companies .co_item td { border: #649dcd solid 1px;  padding: 15px;  text-align: center;  font-size: 1.6rem;  letter-spacing: .08em;  line-height: 1.8;  }
#Companies .co_item tbody th{ font-size: 2rem;  font-weight: 500;  color: #649dcd;  text-align: left;  padding-left: 40px;  }

#Companies .comment{ display:flex;  flex-direction: column;  align-items: center;  margin-top: 30px; }
#Companies .comment .rink{ display:flex;  align-items:center;  gap:30px;  width:400px;  min-height:48px;  padding:8px 20px;  color:#649dcd;  background:#f0f5fa;  border-radius:5px;  font-size:1.5rem;  }
#Companies .comment .rink span{ display:flex;  align-items:center;  justify-content:center;  width:28px;  aspect-ratio: 1;  margin-left:auto;  background:#fff;  border-radius:50%; }
#Companies .table-hint{display: none;}

@media screen and (min-width:768px) and (max-width:1125px){
#Companies{ scroll-margin-top:120px; }
#Companies .item_title {font-size: 1.6rem;}
#Companies .co_item .tag_list {gap: 10px;}
#Companies .co_item tbody th {font-size: 1.6rem;}
#Companies .co_item th, #Companies .co_item td {font-size: 1.3rem; letter-spacing: .03em;}
}

@media screen and (max-width:767px){
#Companies .en { margin-bottom: 0;}
#Companies p{ white-space: normal; overflow-wrap: break-word; word-break: break-word; font-size: 1.3rem; margin: 30px 10px; line-height: 2; font-weight: 400;}
#Companies .item_title{ flex-wrap: wrap; align-items: flex-start; font-size: 1.4rem; justify-content: flex-start; gap: 0;}
#Companies .item_title::before { display:none; }
#Companies .co_item{ width: 100%; box-sizing: border-box; padding: 20px; min-height: 0;}
#Companies .co_item ul{ white-space: normal; flex-direction: column; gap: 12px; margin: 30px 10px;}
#Companies .co_item li{ font-size: 1.4rem; }
#Companies .co_item .tag_list{ gap: 8px; }
#Companies .co_item .tag_list li{width: auto; padding: 8px 10px; font-size: 1.4rem; white-space: normal; }
#Companies .item_bold{ white-space: normal; overflow-wrap: break-word; word-break: break-word; padding: 16px 10px 0; border-top: 1px solid #649dcd; font-size: 1.6rem ;}
#Companies .co_item .table-scroll{ overflow-x: auto; -webkit-overflow-scrolling: touch; }
#Companies .co_item table { width: 860px; margin-top: 0; border-spacing: 0; border-collapse: collapse; }
#Companies .co_item thead th:first-child{ left: 0; z-index: 8; background: #2c4198; color:#fff; }
#Companies .co_item tbody th { font-size: 1.6rem; padding-left: 30px; }
#Companies .co_item th,
#Companies .co_item td { font-size: 1.4rem; }
#Companies .comment .rink { width: 90%; gap: 1%; }
#Companies .comment .rink span{ width: 25px; }

/* smaller icon for mobile to match FAQ */
#Companies .item_title .btn{ width: 15px; height: 15px; right: 20px; }
#Companies .item_title .btn::before,
#Companies .item_title .btn::after{ width: 15px; height: 1px; }
}

/*==================================
	guide
==================================*/
#guide{ position:relative;  padding:50px 0 150px; }
#guide .guide_bg{ display:block;  width:100%;  height:650px;  object-fit:cover;  object-position:center; }
#guide .wrapper{ position:relative; }
#guide .page_title{ background:#649dcd; }

@media screen and (min-width:768px) and (max-width:1125px){
#guide .guide_bg{height:380px; }
}

@media screen and (max-width:767px){
	#guide {padding: 74px 0;}
	#guide .guide_bg { height: 210px; }
}

/*==================================
	- step
==================================*/
#step .flow_list{ width:1020px;  max-width:100%;  margin:0 auto;  }
#step .flow_item{ display:grid;  grid-template-columns:70px minmax(0,1fr);  column-gap:80px;  position:relative;  margin: 60px 0; }
#step .flow_item:last-child{ margin-bottom:45px;  }
#step .step{ display:flex;  flex-direction:column;  align-items:center;  position:relative;  }
#step .num{ position:relative;  z-index:2;  display:flex;  align-items:center;  justify-content:center;  width:80px;  aspect-ratio:1;  border:2px solid #2c4198;  border-radius:50%;  background:#fff;  color:#2c4198;  font-size:3.6rem; font-weight: 500; }
#step .time{ position:relative;  z-index:2;  display:flex;  justify-content:center;  padding:8px 20px;  border-radius:22px;  background:#2c4198;  color:#fff;  font-size:2rem;  white-space:nowrap; }
#step .flow_item .step::after{ content:"";  position:absolute;  top:58px;  bottom:-60px;  left:50%;  width:2px;  background:#2c4198;  transform:translateX(-50%);  }
#step .flow_item .step::before{ content:"";  position:absolute;  z-index:1;  bottom:-60px;  left:50%;  width:9px;  height:9px;  border-right:2px solid #2c4198;  border-bottom:2px solid #2c4198;  transform:translateX(-50%) rotate(45deg);  }
#step .flow_content{ min-width:0;  padding-top:4px;  }
#step .flow_content h3{ display:flex; align-items: baseline;  gap:24px;  margin:0 0 20px;  color:#565656;  font-size:2.8rem;  font-weight:500;  }
#step .flow_content h3 small{ font-size:2rem;  font-weight:400;  }
#step .flow_content p{ margin-top:10px;  font-size:2rem;  line-height:1.8;  }
#step .flow_box{ display:grid;  grid-template-columns:300px minmax(0,1fr);  align-items:center;  gap:60px;  padding:30px 50px;  background:#faf8f4;  border-radius:12px;  justify-items: end; }
#step .flow_box .tel{ color:#2c4198;  font-size:3.6rem;  letter-spacing:.05em;  white-space:nowrap;  }
#step .flow_box .tel span{ margin-right:8px;  font-size:2rem;  }
#step .flow_box p{ font-size:1.8rem;  line-height:1.7;  }
#step .detail{ margin:0;  }
#step .detail_item{ display:grid;  grid-template-columns:130px minmax(0,1fr);  gap:50px;  margin-bottom:10px;  }
#step .detail_item dt{ font-size:2rem;  line-height:1.7;  }
#step .detail_item dd{ margin:0;  font-size:2rem;  line-height:1.7;  }
#step .result{ margin: 70px auto 0;  padding:30px 45px;  background:#faf8f4;  border-radius:12px;  }
#step .result h3{ margin:0 0 10px;  color:#565656;  font-size:2.8rem;  font-weight:500;  }
#step .result p{ font-size:2rem;  line-height:1.7;  }

@media screen and (min-width:768px) and (max-width:1125px){
#step { padding: 0  0 50px;}
#step .flow_content h3 {font-size: 2rem;}
#step .flow_content h3 small { font-size: 1.5rem; }
#step .flow_box {display: flex; flex-direction: row; justify-content: space-between; align-items: center;}

#step .num {width: 60px; font-size: 2.4rem; }
#step .time {font-size: 1.4rem;}
#step .flow_content p { margin-top: 0; font-size: 1.5rem;}
#step .detail_item dt { font-size: 1.6rem; }
#step .detail_item dd { font-size: 1.5rem; }
#step .detail_item{ gap: 0px; }
#step .result h3 { font-size: 2rem; }
#step .result p { font-size: 1.5rem; }

}

@media screen and (max-width:767px){
	#step .flow_item {column-gap: 20px;}
	#step .num { width: 50px; font-size: 3rem; margin-bottom: 20px; }
	#step .time { font-size: 1.4rem; padding: 4px 10px; margin-top: 0;}
	#step .flow_content h3 { font-size: 2rem; align-items: baseline; gap: 10px}
	#step .flow_content h3 small { font-size: 1.2rem;}
	#step .flow_box { display: flex; flex-direction: column; gap: 10px; }
	#step .flow_box .tel { font-size: 2.6rem; }
	#step .flow_box .tel span { margin-right: 4px; font-size: 1.4rem;}
	#step .flow_box p { font-size: 1.3rem; line-height: 1.6;}
	#step .flow_content p { font-size: 1.3rem; line-height: 1.6; letter-spacing: .03em;}
	#step .detail_item dt { font-size: 1.6rem;}
	#step .detail_item { display: flex; gap: 4px; flex-direction: column;}
	#step .detail_item dd { margin: 0 0 10px; font-size: 1.3rem;}
	#step .result h3 { font-size: 1.8rem;}
	#step .result p { font-size: 1.3rem;}
}

/*==================================
	- preparation
==================================*/
#preparation{ background-color: #faf8f4; border-radius:100px; }
#preparation .wrapper{ width: min(calc(100% - 40px), 1020px); }
#preparation .block{ background-color: #fff;  border-radius:20px;  margin-top: 60px; }
#preparation .block h3{ color: #fff;  padding: 20px;  text-align: center;  background-color: #649dcd;  border-radius:20px 20px 0 0; }
#preparation .block p{ text-align: center;  padding: 30px 0; }
#preparation p::before{ content: "";  display: inline-block;  border: 1px solid #649dcd;  margin-right: 14px;  border-radius: 50%;  width: 8px;  aspect-ratio: 1; }
#preparation .block_title h3{ color: #fff;  padding: 20px;  text-align: center;  background-color: #649dcd;  border-radius:40px;  max-width: 300px;  margin: auto;  margin-top: 80px; }
#preparation .block_title ul{ font-size: 2.4rem;  line-height: 2.3em; }
#preparation ul{ padding: 50px 0;  font-size: 2rem;  line-height: 2.2em;  margin: 0 60px; }
#preparation li::before{ content: "";  display: inline-block;  border: 1px solid #649dcd;  margin-right: 14px;  border-radius: 50%;  width: 8px;  aspect-ratio: 1; }
#preparation h4{ color: #649dcd;  font-size: 2.4rem;  font-weight: 400;  padding: 20px;  text-align: center;  border: 2px solid #649dcd;  border-radius:15px;  margin-top: 60px; }
#preparation small{ display: block;  text-align: end;  font-size: 1.2rem;  margin-top: 10px; }
#preparation .line{ background-color: #ede6da; }
#preparation .list{ margin: 0; }

@media screen and (min-width:768px) and (max-width:1125px){
#preparation { padding: 70px 0;}
#preparation h4 { font-size: 1.6rem;}
#preparation .block_title ul { font-size: 1.4rem; }
#preparation ul { font-size: 1.4rem; }
#preparation .block p{font-size: 1.5rem;}
}

@media screen and (max-width:767px){
	#preparation {height: auto; border-radius: 50px;}
	#preparation .block h3 { padding: 18px; border-radius: 18px 18px 0 0; }
	#preparation p::before { display: none; }
	#preparation .block p { padding: 30px 18px; border-radius:0 0 18px 18px; }
	#preparation h4 { font-size: 1.6rem; }
	#preparation ul { padding: 40px 35px; font-size: 1.2rem; line-height: 2.7em; letter-spacing: .03em; margin: 0;display: flex; flex-direction: column; gap: 10px;}
	#preparation .block_title ul {font-size: 1.4rem; line-height: 2.2em; display: flex; gap: 6px; flex-direction: column;}
	#preparation li {line-height: 1.8;}
	#preparation small {font-size: 1rem;}
}

/*==================================
	- faq
==================================*/
#faq .wrapper{ width:min(calc(100% - 40px),1020px); }
#faq .faq_list { width: 100%;  margin: 0 auto 30px auto; }
#faq .faq_list dt,
#faq .faq_list dd { text-align: left;  position: relative;  background: #faf8f4; }
#faq .faq_list dt { cursor: pointer;  margin-top: 20px;  padding: 20px 60px 20px 20px;}
#faq .faq_list dt span{ display:inline-flex;  align-items:center; }
#faq .faq_list dt span::before{ content:"";  width:8px;  aspect-ratio:1;  border:1px solid #649dcd;  border-radius:50%;  margin-right:14px;  flex-shrink:0; }
#faq .faq_list dt:before{ width: 30px;  height: 2px;  display: block;  content: "";  position: absolute;  top:0;  right: 20px;  bottom:0;  margin:auto;  background-color: #aaa;  transition: .2s;  transform: rotate(90deg);  -webkit-transform: rotate(90deg); }
#faq .faq_list dt:after{ width: 30px;  height: 2px;   display: block;  content: "";  position: absolute;  top: 0;  right: 20px;  bottom: 0;  margin: auto;  background-color: #aaa;  transition: .3s; }
#faq .faq_list dt.open:before{ transform: rotate(0deg);  -webkit-transform: rotate(0deg); }
#faq .faq_list dt.open:after{ background-color: transparent; }
#faq .faq_list dt.open + dd { display: block; }
#faq .faq_list dd { display: none;  padding: 0px 20px 20px 50px;  font-feature-settings: "palt"}

@media screen and (min-width:768px) and (max-width:1125px){
#faq{ padding: 80px 0;}
#faq .faq_list dd{ font-size: 1.3rem; }
#faq .faq_list dt:before { width: 20px; height: 1px;}
#faq .faq_list dt:after { width: 20px; height: 1px; }
}

@media screen and (max-width:767px){
#faq .faq_list dt:before,
#faq .faq_list dt:after {width: 15px; height: 1px; }
#faq .faq_list dt span::before {margin-right: 10px;}
#faq .faq_list dt span {font-size: 1.4rem; }
#faq .faq_list dd { font-size: 1.3rem;}

#faq .faq_list dt { padding: 20px 40px 20px 20px;}

}

/*==================================
	contact
==================================*/
#contact { position:relative;  padding:50px 0 150px; }
#contact .contact_bg{ display:block; width:100%;  height:650px;  object-fit:cover;  object-position:center; }
#contact .wrapper{ position:relative;  }
#contact .page_title{ background:#88bb92;  top: -446px; }
#contact .contact_aera{background-color: #faf8f4;  margin-top: 265px;  border-radius: 50px;  width:100%; margin-inline: auto;  padding: 150px 110px;  }

#contact .contact_tel{ display: flex;  flex-direction: column;  align-items: center;  }
#contact .contact_tel{ position:relative;  z-index:2;  text-align:center; gap: 20px;}
#contact .contact_tel h2{ margin:0;  color:#2c4198;  font-size:2.8rem;  font-weight:500;  line-height:1.8;  letter-spacing:.08em; }
#contact .contact_tel p{ display:flex;  align-items:baseline;  gap:8px;  margin: 5px 0 15px;  font-size: 1.6rem;  letter-spacing: .05em; }
#contact .contact_tel span{ font-size:2rem;  letter-spacing:.08em; }
#contact .contact_tel a{ font-size:3.6rem;  font-weight:400;  line-height:1.2;  letter-spacing:.08em; }

#contact form{ background-color: #fff;  width: 100%;  border-radius:50px;  padding: 110px 60px;  margin-top: 110px;  align-items: center;  display: flex;  flex-direction: column;  gap: 20px; }

#contact .section_title{  display: flex;  align-items: center;  gap: 12px;  flex-direction: column;  }
#contact .section_title h3{ color:#2c4198;  display: flex;  align-items: center;  gap: 12px;  flex-direction: column;  }
#contact .section_title .en{ color:#9e9e9e;  font-size:1.3rem;  font-weight:400;  letter-spacing:.08em;  margin-bottom: 61px; }

#contact .form_sell{ display: flex;  gap:20px;  justify-content: space-between;  flex-direction: row;  align-items: center;  width: 100%;  }
#contact .form_label{ display: flex;  flex-direction: row;  align-items: baseline;  width: 33%;  justify-content: space-between; }
#contact .form_item{font-size: 1.6rem;  color: #565656;  text-align: left;  font-weight: 400; }
#contact .form_tag{font-size: 1.6rem;  color: #88bb92;  text-align: center;  font-weight: 200; }
#contact .form_body{width:64%; }
#contact .form_text{ background-color: #faf8f4;  border-radius:10px;  height: 60px;   border: 1px solid #faf8f4;  width: 100%;  padding: 18px 30px; }

* { box-sizing: border-box; } *::before { box-sizing: border-box; } *::after { box-sizing: border-box; }
#contact .form_body_radio { display: flex; flex-direction: row; gap: 70px; align-items: center; justify-content: flex-start; width: 60%;}
#contact .form_body_radio .wpcf7-list-item { margin: 0;}
#contact .form_body_radio label { position: relative; display: inline-flex; align-items: center; cursor: pointer; margin-right: 6rem;}
#contact .form_body_radio input[type="radio"] { position: absolute; opacity: 0; pointer-events: none;}
#contact .form_body_radio .wpcf7-list-item-label { position: relative; display: flex; align-items: center; flex-direction: row; gap: 20px;}
#contact .form_body_radio .wpcf7-list-item-label::before { content: ''; display: block; border-radius: 50%; border: 1px solid #88bb92; width: 16px; height: 16px; background-color: #fff; flex-shrink: 0;}
#contact .form_body_radio .wpcf7-list-item-label::after { content: ''; position: absolute; left: 3px; top: 50%; transform: translateY(-50%) scale(0); display: block; border-radius: 50%; width: 10px; height: 10px; background-color: #88bb92; opacity: 0; transition: opacity .2s ease, transform .2s ease;}
#contact .form_body_radio input[type="radio"]:checked + .wpcf7-list-item-label::after { opacity: 1; transform: translateY(-50%) scale(1);}

#contact .form_select{ position:relative;}
#contact .form_select_item{ appearance:none; -webkit-appearance:none; background-color:#faf8f4; border-radius:10px; height:60px; border:1px solid #faf8f4; width:100%; padding:0 50px 0 30px;}
#contact .form_select::after{ content:""; position:absolute; right:25px; top:50%; width:8px; height:8px; border-right:1px solid #000; border-bottom:1px solid #000; transform:translateY(-70%) rotate(45deg); pointer-events:none;}
#contact .form_comment{ background-color: #faf8f4;  border-radius:10px;  height: 220px;   border: 1px solid #faf8f4;  width: 100%;  padding: 18px 30px; }

#contact .privacy_check{ position:relative; display:flex; flex-direction:column; align-items:center; width:100%; margin:50px 0 20px;}
#contact .privacy_check label{ position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; margin:0; cursor:pointer;}
#contact .privacy_check .wpcf7-not-valid-tip{ flex-basis:100%; margin-top:15px; text-align:center;}
#contact .wpcf7-not-valid-tip{ margin-top:10px;}
#contact .privacy_check input[type="checkbox"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none;}
#contact .privacy_check-Text { position: relative; display: inline-flex; align-items: center; padding-left: 34px; line-height: 1.6;}
#contact .privacy_check-Text::before { position: absolute; left: 0; top: 50%; transform: translateY(-50%); content: ''; display: block; background-color: #faf8f4; border-radius: 6px; border: 1px solid #88bb92; width: 25px; height: 25px;}
#contact .privacy_check-Text::after { position: absolute; left: 13px; top: 33%; transform: translateY(-60%) rotate(45deg); display: block; border-right: 2px solid #88bb92; border-bottom: 2px solid #88bb92; content: ''; width: 10px; height: 30px; opacity: 0; transition: opacity 0.2s ease;}
#contact .privacy_check:has(input[type="checkbox"]:checked) .privacy_check-Text::after { opacity: 1;}
#contact .privacy_policy { font-weight: 500; border-bottom: 1px solid #000;}

#contact .submit_wrap{ position:relative; width:100%; max-width:400px; margin:30px auto 0;}
#contact .contact-submit{ display:block; width:100%; margin:0; background-color:#88bb92; border:1px solid #88bb92; padding:20px 40px; color:#fff; font-size:2.2rem; font-weight:400; letter-spacing:.18em; border-radius:15px; cursor:pointer; transition:opacity .3s;}
#contact .contact-submit:hover{ opacity:.8;}
#contact .submit_wrap::before{ content:"→"; position:absolute; left:105px; top:37%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:28px; aspect-ratio:1; background:#fff; border-radius:50%; color:#88bb92; font-size:1.4rem; pointer-events:none; z-index:1;}
#contact .privacy_check .required{ font-size: 1.6rem;  color: #88bb92;  text-align: center;  font-weight: 200;}

@media screen and (min-width:768px) and (max-width:1125px){
#contact { padding: 0px 0 0px; }
#contact .page_title {top: -325px;}
#contact .contact_bg {height: 430px;}
#contact .contact_aera { margin-top: 160px; padding: 110px 60px;}
#contact .contact_tel h2 {font-size: 2.4rem;}
#contact .contact_tel span { font-size: 2rem;}
#contact .contact_tel a { font-size: 3rem; }
#contact form { padding: 110px 60px; margin-top: 60px; }
}

@media screen and (max-width:767px){
	#contact {padding: 50px 0;}
	#contact .wrapper{ width: 100%; border-radius: 35px;}
	#contact .contact_bg{ height: 340px;}
	#contact .page_title { top: -195px;}
	#contact .contact_aera {margin-top: 110px; padding: 80px 10px; height: auto;}
	#contact .contact_tel h2 {font-size: 2.1rem; letter-spacing: .01em;}
	#contact form { padding: 60px 20px; margin-top: 60px; border-radius: 35px;}
	#contact .form_sell { gap: 10px; flex-direction: column; align-items: flex-start;}
	#contact .form_label { justify-content: flex-start;  width: 100%; gap: 5px; }
	#contact .form_body { width: 100%;}
	#contact .form_item { font-size: 1.2rem;}
	#contact .form_tag { font-size: 1rem;}
	#contact .form_text { font-size: 1.4rem; height: 50px; padding: 0px 20px;}
	#contact .Radio-Text {font-size: 1.4rem; }
	#contact .form_select_item { height: 50px; font-size: 1.3rem; padding: 0px 20px;}
	#contact .form_comment { font-size: 1.4rem; padding: 18px 20px;}
	#contact .privacy_check-Text::before {width: 20px; height: 20px;}
	#contact .contact-submit{min-height: 48px; padding: 0 80px; font-size: 1.8rem;}
	#contact .contact-submit span {width: 20px; font-size: 1.2rem;}
	#contact .submit_wrap::before{ left: 90px; top: 34%;}
}