
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');
a{
cursor: pointer;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
@font-face {
font-family: 'OPTIMA'; /* 任意のフォント名 */
src: url('../font/OPTIMA.woff') format('woff');
font-weight: normal;
font-style: normal;
}
.eng{
font-family: "OPTIMA", serif;
}
.jp{
font-family: "Zen Kaku Gothic New", sans-serif;
}
.mincho{
font-family: "kinuta-mincho-stdn", sans-serif;
}
body{
font-family: "Zen Kaku Gothic New", sans-serif;
margin: 0;
overflow-x: clip;
color: #404751;
font-weight: 500;
background-color: #FFFFFF;
letter-spacing: .08em;
}
.form-privacy a {
text-decoration: underline;
}
html{
color: #3d3e41;
font-family: "Zen Kaku Gothic New", sans-serif;
}

img{
width: 100%;
height: auto;
}
.pagination {
justify-content: center;
display: flex;
margin-top: 80px;
gap: 24px;
align-items: center;
}
.pagination span.page-numbers.current {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
background-color: #71BDDB;
color: #fff;
line-height: 1;
border-radius: 1000000px;
}
.pagination a {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border:1px solid #71BDDB;
color: #fff;
line-height: 1;
border-radius: 1000000px;
color: #71BDDB;
transition: .25s;
}

.pagination a:hover {
transition: .25s;
background-color: #71BDDB;
line-height: 1;
border-radius: 1000000px;
color: #fff;
}
.w-1120{
width: 100%;
margin: auto;
max-width: 1140px;
}

.w-1000{
width: 100%;
margin: auto;
max-width: 1040px;
}

.w-810{
width: 100%;
margin: auto;
max-width: 810px;
}

.top-fv__inner{
position: absolute;
left: 50%;
width: calc(100% - 60px);
z-index: 2;
top: 50%;
transform: translate(-50%,-50%);
color: #fff;
    filter: drop-shadow(2px 4px 6px #00000070);
    text-align: center;
}
.top-fv__inner p{
  line-height: 2;
}

.top-fv__inner h1 span{
display: block;
}
.top-fv__inner h1{
font-size: 64px;
line-height: 1.5;
margin-bottom: 20px;
color: #fff;
letter-spacing: .05em;
}
header.section-header {
position: fixed;
width: 100%;
left: 0;
z-index: 99999;
background-color: #fff;
top: 0;
border-bottom: 1px solid #ccc;
}

.home header.section-header {
background-color: transparent;

}
.section-header_inner {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
padding: 14px 20px;
}

nav.section-header__navi.eng ul {
    display: flex;
    gap: 32px;
}

.section-header-contact {
    color: #fff;
    background-color: #71BDDB;
    width: 210px;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .25s;
    padding-top: 14px;
    padding-bottom: 14px;
    border-radius: 100000px;
}
.section-header-contact:hover{
  color: #71BDDB;
  background-color:#ececec;
  transition: .25s;
}
.section-header_inner__navi__wrap{
  display: flex;
  align-items: center;
  gap: 32px;
}


.hamburger-menu {
    display: none;
    width: 56px;
    height: 56px;
    background: #71BDDB;
    border: 0;
    border-radius: 0;
    position: relative;
    cursor: pointer;
}
.hamburger-menu span{
  position:absolute; left:50%; top:50%;
  width:26px; height:2px; background:#fff;  /* 線 白 */
  transform:translate(-50%,-8px);
  transition:transform .2s ease, opacity .2s ease;
}
.hamburger-menu span:nth-child(2){ transform:translate(-50%,0); }
.hamburger-menu span:nth-child(3){ transform:translate(-50%,8px); }

/* Xに変形 */
.hamburger-menu.is-active span:nth-child(1){ transform:translate(-50%,0) rotate(45deg); }
.hamburger-menu.is-active span:nth-child(2){ opacity:0; }
.hamburger-menu.is-active span:nth-child(3){ transform:translate(-50%,0) rotate(-45deg); }


/* メニュー開いたら背景のスクロールを止める */
.no-scroll{ overflow:hidden; height:100vh; }







.top-fv{
position: relative;
height: 100vh;
max-height: 880px;
}

.top-fv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


footer {
  background-color: #71BDDB;
background-size: cover;
background-position: top right;
color: #fff;
}
.footer__inner {
    padding-top: 80px;
    padding-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
}

.footer-logo {
width: 100%;
max-width: 240px;
display: block;
}

.footer-logo a{
display: block;
margin-bottom: 24px;
width: 100%;
max-width: 240px;
}

.footer-logo p{
  line-height: 1.5;
  font-size: 16px;
}
.footer-p-last{
  margin-top: 18px;
}
.footer-logo img{
width: 100%;
max-width: 240px;
object-fit: contain;
height: auto;
display: block;
}

.eng.pc-nav-footer {
display: flex;
justify-content: flex-end;
max-width:calc(100% - 240px);
width: 100%;
}

.eng.pc-nav-footer > ul{
margin-left: 60px;
}.eng.pc-nav-footer > ul > li {
    font-size: 16px;
    margin-bottom: 32px;
}
.eng.pc-nav-footer > ul > li ul{
margin-top: 20px;
}
.eng.pc-nav-footer > ul > li ul li a {
font-size: 14px;
margin-left: 10px;
margin-bottom: 20px;
padding-left: 18px;
display: block;
width: 100%;
position: relative;
font-weight: 300;
}

.eng.pc-nav-footer > ul > li ul li a::before{
width: 10px;
height: 1.5px;
background-color: #fff;
display: block;
left: 0;
top: 50%;
transform: translateY(-50%);
content: "";
position: absolute;
}.copy-right {
    margin-top: 64px;
    font-size: 14px;
    text-align: center;
    color: #fff;
    width: 100%;
}
.section-header__logo {
width: 220px;
height: 34px;
}

.section-header__logo a{
width: 100%;
height: 34px;
display: block;
}

.section-header__logo a img{
width: 100%;
display: block;
height: 100%;
object-position: left;
object-fit: contain;
}


.page-header.news{
background-image: url(../images/news/bg-news.png);
background-size: cover;
background-position: top center right;
}



section.top-about{
  padding-top: 80px;
  padding-bottom: 80px;
background-size: cover;
background-position: top center;
}
.top-about__inner{
  display: flex;
  gap: 40px;
  justify-content: space-between;
}

.top-about__inner__content{
  width: calc(60% - 40px);
}
.top-about__inner > img{
  width: 40%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.top-about__inner__content h3{
  font-size: 30px;
  margin-bottom: 18px;
  line-height: 1;
  color: #71BDDB;
  letter-spacing: .05em;
}

.top-about__inner__content h2{
  font-size: 30px;
  margin-bottom: 24px;
  line-height: 2;
  letter-spacing: .14em;
}

.top-about__inner__content p{
  font-size: 14px;
  line-height: 2.4;
  font-weight: 400;
}

.top-concept-flow{
  padding-top: 80px;
  padding-bottom: 80px;
  background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
  color: #fff;
}

ul.top-concept-flow__links__list {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

ul.top-concept-flow__links__list li{
  width: calc((100% - 40px) / 2);
}
ul.top-concept-flow__links__list .top-concept-flow__links__list__content:hover  div::before{
  background-color: #fff;
    transition: .25s;
}

ul.top-concept-flow__links__list .top-concept-flow__links__list__content:hover  div::after{
    border-right: 2px solid #71BDDB;
    border-bottom: 2px solid #71BDDB;
    transition: .25s;
}

.top-concept-flow__links__list__content div{
  position: relative;
  height: 225px;
}

.top-concept-flow__links__list__content div::before{
  background-color: #71BDDB;
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  z-index: 2;
  width: 50px;
    transition: .25s;
  height: 50px;
  border-radius: 10px 0 0 0 ;
}
.single-main figure {
    margin: 0 auto 40px;
    display: block;
}


.top-concept-flow__links__list__content div::after{
  z-index: 3;
    content: "";
    position: absolute;
    transition: .25s;
    bottom: 20px;
    right: 20px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(0%) rotate(-45deg);
    transition: transform .25s ease;
}

.top-concept-flow__links__list__content div img{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-concept-flow__links__list__content div h3{
  position: absolute;
  left: 20px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  font-size: 40px;
  gap: 4px;
  line-height: 1.2;
  z-index: 2;
}
.top-concept-flow__links__list__content div h3 span{
display: block; 
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.top-concept-flow__links__list__content a p{
  line-height: 2.5;
  font-size: 14px;
  margin-top: 18px;
  letter-spacing: .08em;
  font-weight: 400;
}

.top-staff{
  padding-top: 120px;
  padding-bottom: 120px;
background-size: cover;
background-position: top center;
}

.top-staff__inner__intro h2{
font-size: 40px;
line-height: 1.2;
gap: 4px;
color: #71BDDB;
flex-direction: column;
margin-bottom: 18px;
}

.top-staff__inner__intro h2 span {
font-size: 24px;
line-height: 1.5;
display: block;
color: #323232;
}


.top-staff__inner__intro p{
  font-size: 14px;
  max-width: 610px;
  width: 100%;
  line-height: 2.5;
  font-weight: 400;
}

.top-staff__inner__list{
  margin-top: 60px;
}

.top-staff__inner__list{
  display: flex;

}







/* 矢印をインナー右端に合わせる（外置き） */
.top-staff__arrows {
  position: relative;
  display: flex;
  gap: 16px;
  margin-right: 0;
  margin-left: auto;
  justify-content: flex-end;
}
.top-staff__arrows button {
  background: none; 
  border: 0; 
  padding: 0; 
  cursor: pointer; 
  line-height: 0;
  width: 48px;
  height: 48px;
}
.top-staff__arrows button img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.top-staff__arrows .is-disabled { opacity: .35; pointer-events: none; }

.top-staff__inner__list .slick-list {
  overflow: visible;
  padding-right: 80px;
}
.top-staff__inner__list .slick-track { display: flex; }
.top-staff__inner__list .slick-slide { 
  margin-right: 44px; 
  height: 100%;
  background-color: #fff;
    filter: drop-shadow(4px 4px 8px #00000020);
    transition: .25s;
}

.top-staff__inner__list .slick-slide:hover { 
    filter: drop-shadow(0px 0px 0px #00000020);
    transition: .25s;
}

/* カード幅（PC想定） */
.top-staff__inner__list li { width: 446px; }
.top-staff__inner__list li a { display: block; text-decoration: none; }

/* 最終ページでは右を止める（覗かせをゼロ） */
.top-staff.is-end .slick-list { padding-right: 0; }

/* スマホ例：1枚表示＆覗かせ量を少し縮める */
@media (max-width: 768px) {
  .top-staff__inner__list .slick-slide { margin-right: 20px; }
  .top-staff__inner__list .slick-list { padding-right: 48px; }
  .top-staff.is-end .slick-list { padding-right: 0; }
  .top-staff__inner__list li { width: calc(100vw - 48px); }
}


.top-staff__inner__list__text{
  padding: 24px 14px 32px;
}

.top-staff__inner__list__text h2{
  font-size: 24px;
  display: flex;
  gap: 12px;
  position: relative;
  padding-bottom: 16px;
  align-items: last baseline;
  margin-bottom: 14px;
  font-weight: 400;
}

.top-staff__inner__list__text h2::before{
position: absolute;
left: 0;
bottom: 0;
background-color: #ccc;
height: 1.5px;
width: 100%;
content: "";
}

.top-staff__inner__list__text h2::after{
position: absolute;
left: 0;
bottom: 0;
background-color: #71BDDB;
height: 1.5px;
width: 56px;
z-index: 2;
content: "";
}

.top-staff__inner__list__text h2 span{
  font-size: 14px;
  color: #71BDDB;
}

.btn-style{
  position: relative;
}
.btn-style .hover-img{
  display: block;
  opacity: 0;
  position: absolute;
  z-index: 2;
  transition: .25s;
}
.top-column__inner .btn-style .hover-img{
  left: 0;
}
.btn-style .before-img{
  display: block;
  position: relative;
  opacity: 1;
  transition: .25s;
}
.btn-style:hover .hover-img{
  opacity: 1;
  transition: .25s;
}
.btn-style:hover .before-img{
  opacity: 0;
  transition: .25s;
}

.top-staff__inner__list__text p{
  font-size: 14px;
  line-height: 1.5;
}

.top-intro{
  padding-top: 120px;
  padding-bottom: 120px;
  background: #71BDDB;
background-size: cover;
background-position: top center;
color: #fff;
}

.top-intro__inner__text{
  margin-bottom: 40px;
}
.top-intro__inner__text h2{
font-size: 40px;
display: flex;
flex-direction: column;
gap: 8px;
font-weight: 400;
margin-bottom: 18px;
}

.top-intro__inner__text h2 span{
font-size: 24px;
font-weight: 500;
}

.top-intro__inner__text p{
font-size: 14px;
font-weight: 400;
line-height: 2.5;
margin-bottom: 32px;
}

.btn-style{
  display: flex;
  gap: 20px;
  align-items: center;
  font-size: 20px;

}

.btn-style img{
  display: block;
  width: 48px;
  height: 48px;
}


.top-intro__inner__list{
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.top-intro__inner__list li {
    width: calc((100% - 40px) / 2);
    height: 225px;
    position: relative;
    overflow: hidden;
transition: .25s;
  }

.top-intro__inner__list__bg{
  width: 100%;
  height: 100%;
  object-fit: cover;
transition: .25s;
  object-position: center;
}
.top-intro__inner__list li:hover .top-intro__inner__list__bg,
li:hover .introduction-content__inner__list__bg{
  scale: 1.1;
transition: .25s;
}
.introduction-content__inner__list li a {
    display: block;
}
.top-intro__inner__list__arrows.before-img,
.top-intro__inner__list__arrows.before-img{
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
opacity: 1;
transition: .25s;
}

.top-intro__inner__list__arrows.hover-img,
.introduction-content__inner__list li .hover-img{
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
opacity: 0;
transition: .25s;
}

li:hover .top-intro__inner__list__arrows.before-img,
li:hover .top-intro__inner__list__arrows.before-img{
opacity: 0;
transition: .25s;
}

li:hover .top-intro__inner__list__arrows.hover-img,
li:hover .top-intro__inner__list__arrows.hover-img{
opacity: 1;
transition: .25s;
}

.column-single-wrap a.btn-style img.top-intro__inner__list__arrows.hover-img{
  left: 0;
  top: 0;
}


.top-intro__inner__list li h3{
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 18px;
  line-height: 1.5;
  z-index: 4;
}



.top-faq{
  padding-top: 80px;
  padding-bottom: 80px;
background-size: cover;
background-position: top center;
}


.top-faq h2 {
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    display: flex;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 18px;
    display: flex;
  }
  
  .top-faq p {
    font-size: 14px;
    font-weight: 400;
    line-height: 2.5;
    margin-bottom: 32px;
}

.top-faq h2 span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #323232;
}


.top-faq__inner__content{
  border-top: 1px solid #CCCCCC;
}

/* 行（区切り線） */
.top-faq__inner__content > li{
  border-bottom: 1px solid #CCCCCC;
  line-height: 1.5;
}

/* 見出し行（クリック領域） */
.top-faq__inner__content__ttl{
  position: relative;
  display: flex;
  gap: 12px;
  padding: 14px 36px 14px 0;
  cursor: pointer;
  user-select: none;
  align-items: center;
  font-weight: 400;
}

/* 見出し行（クリック領域） */
.top-faq__inner__content__ttl span.eng{
display: block;
color: #71BDDB;
font-size: 24px;
}

.top-faq__inner__content__ttl span:last-of-type{
font-size: 16px;
width: calc(100% - 24px);
display: block;
}

/* 右端の山カッコ（>）っぽい矢印 */
.top-faq__inner__content__ttl::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #323232;  /* 色はお好みで */
  border-bottom: 2px solid #323232;
  transform: translateY(-50%) rotate(-45deg);
  transition: transform .25s ease;
}

/* 開いた時は下向きに */
.top-faq__inner__content li.is-open .top-faq__inner__content__ttl::after{
  transform: translateY(-50%) rotate(45deg);
}

/* 回答（閉じたときは高さ0） */
.top-faq__inner__content__answer{
  display: block;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  padding: 0px 0 0px;            /* 開いた時だけ余白を付ける */
  transition: .28s;
  line-height: 1.9;
}

/* A. を少し目立たせたい場合（任意） */
.top-faq__inner__content__answer .eng{ color:#71BDDB; font-weight: 600; }

/* 開いた状態 */
.top-faq__inner__content li.is-open .top-faq__inner__content__answer{
  opacity: 1;
  padding: 12px 0 18px;
  font-weight: 400;
}


.top-access {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #ECECEC;
}

.top-access__inner__ttl{
  display: flex;
  flex-direction: column;
  font-size: 40px;
  color: #71BDDB;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 32px;
}
.top-access__inner__ttl span{
  display: block;
  font-size: 24px;
  text-align: center;
  color: #323232;
}

.top-access__inner__table{
  max-width: 840px;
  width: 100%;
  margin: auto;
}
.top-access__inner iframe,
section.access-content iframe,
.feature-content-access iframe{
    max-width: 840px;
  width: 100%;
  margin: auto;
  margin-top: 32px;
  display: block;
}

.top-access__inner__table tbody{
  width: 100%;
  border-top: 1px solid #ccc;
}

.top-access__inner__table tbody tr{
  display: flex;
  justify-content: space-between;
  padding-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #ccc;
}

.top-access__inner__table tbody tr th{
  width: 160px;
  line-height: 1.5;
  color: #71BDDB;
  font-weight: 500;
}

.top-access__inner__table tbody tr td{
  width: calc(100% - 172px);
  line-height: 1.5;
  font-weight: 500;
}

section.top-column{
  padding-top: 120px;
  padding-bottom: 120px;
}

section.top-column h2 {
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    display: flex;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 18px;
}

section.top-column h2 span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #323232;
}

section.top-column p { 
    font-size: 14px;
    font-weight: 400;
    line-height: 2.5;
    margin-bottom: 32px;
}

.top-column__inner__list__taggroup{
  display: flex;
  font-size: 14px;
  gap: 16px;
  align-items: center;
  font-weight: 500;
}

.top-column__inner__list__taggroup .column-cat{
  display: block;
  color: #fff;
  background-color: #71BDDB;
  padding: 5px 16px;
  width: max-content;
}

.top-column__inner__list{
  display: flex;
  gap: 24px;
  flex-direction: column;
  margin-bottom: 32px;

}
.top-column__inner__list li a{
  display: flex;
  gap: 14px;
  flex-direction: column;
}
.top-column__inner__list li a:hover h3{
  color: #71BDDB;
  transition: .25s;
}
.top-column__inner__list li h3{
  font-size: 18px;
  line-height: 1.2;
  transition: .25s;
}
.top-column__inner__list li p{
  font-size: 14px;
  line-height: 1.8;
}


.top-column__inner .btn-style{
  color: #71BDDB;
    justify-content: flex-end;
    width: max-content;
    margin-left: auto;
}

.top-feature{
  padding-top: 80px;
  padding-bottom: 80px;
background-image: url(../images/top/top-feature-bg.png);
background-size: cover;
background-position: top center;
color: #fff;
}


.top-feature__inner__ttl{
  display: flex;
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}

.top-feature__inner__ttl span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #fff;
}

.top-feature p {
    font-size: 14px;
    font-weight: 400;
    line-height: 2.5;
    margin-bottom: 32px;
    width: 100%;
    max-width: 610px;
}

.contact-link-section{
  padding-top: 80px;
  padding-bottom: 80px;
background-image: url(../images/top/top-contact-bg.png);
background-size: cover;
background-position: top center;
color: #fff;
  margin-top: 80px;
}


.contact-link-section h2.contact-link-section__inner__ttl{
  display: flex;
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-bottom: 32px;
    font-weight: 500;
}
.contact-link-section h2.contact-link-section__inner__ttl span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #fff;
    text-align: center;
    font-weight: 400;
}

.contact-link-section a{
  width: 100%;
  height: 64px;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 360px;
  margin: auto;
  background-color: transparent;
  color: #fff;
  border:  1px solid #fff;
  border-radius: 1000000000px;
transition: .25s;
}

.contact-link-section a:hover{
transition: .25s;
background-color: #71BDDB;
color: #fff;
  border:  1px solid #71BDDB;
}



/*下層ページ用コード*/

/*共通コード*/
.under-head{
  padding-top: calc(100px + 73px);
  padding-bottom: 100px;
background-size: cover;
background-position: top center;
background-color: #f5f5f5;
}

.under-head h2 {
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    display: flex;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 18px;
}
.under-head h2 span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #323232;
}


.under-intro__inner__text{
  padding-top: 120px;
  padding-bottom: 120px;
  width: calc(50% - 40px);
}

.under-intro__inner__text h2{
  color: #71BDDB;
  font-size: 24px;
  margin-bottom: 24px;
}

.under-intro__inner__text p{
  color: #323232;
  font-size: 16px;
  line-height: 2;
}

section.under-intro{
  position: relative;
}

.under-intro__inner.w-1120 img{
  width: 50vw;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  object-fit: cover;
  object-position: center;
}


/*コンセプト*/
/*
.under-head.concept{
background-image: url(../images/common/under-bg.png);
}
*/

.concept-content{
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #ECECEC;
}

.concept-content__list{
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.concept-content__list li{
  display: flex;
  justify-content: flex-start;
  position: relative;
}

.concept-content__list li:nth-of-type(2){
  display: flex;
  justify-content: flex-end;
}


.concept-content__list__text-box {
    padding: 40px;
    width: 55%;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
    position: relative;
    z-index: 2;
    margin-top: 100px;
}


.concept-content__list__text-box h3{
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: 14px;
  font-weight: 400;
}

.concept-content__list__text-box p{
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
}
.concept-content__list__text-box > span{
  position: absolute;
  font-size: 24px;
  left: 0;
    top: 8px;
  transform: translateY(-100%);
  color: #71BDDB;
}

.concept-content__list__text-box > span span{
  font-size: 40px;
}

.concept-content__list__image-box{
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 58%;
  max-width: 650px;
  height: calc(100% - 20px);
  object-fit: cover;
  object-position: center;
}


.concept-content__list li:nth-of-type(2) .concept-content__list__image-box{
  position: absolute;
  left: 0;
  right: auto;
  bottom: 20px;
  width: 58%;
  max-width: 650px;
  height: calc(100% - 20px);
  object-fit: cover;
  object-position: center;
}

.concept-content__list li:nth-of-type(2) .concept-content__list__text-box > span{
   position: absolute;
  font-size: 24px;
  left: auto;
  right: 0;
    top: 8px;
  transform: translateY(-100%);
  color: #71BDDB;
}
p.intro-text-single{
  line-height: 2;
  font-weight: 400;
  margin-bottom: 32px;
}


/*Q&A*/
/*
.under-head.concept{
background-image: url(../images/common/under-bg.png);
}
*/

.faq-content{
  padding-top: 80px;
  padding-bottom: 80px;
background-image: url(../images/faq/faq-bg.png);
background-position: center;
background-size: cover;
}



/*flow*/
.flow-content{
  padding-top: 80px;
  padding-bottom: 80px;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
}
.flow-content__inner__list{
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: space-between;
}
.flow-content__inner__list li{
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #fff;
  padding-bottom: 24px;
  align-items: center;
}

.flow-content__inner__list li .flow-content__inner__list__text-box{
  display: flex;
  width: calc(100% - (350px + 24px));
  flex-direction: column;

}

.flow-content__inner__list li > img{
  display: block;
  width: 350px;
  height: 200px;
  object-fit: cover;
  object-position: center;
}


.flow-content__inner__list li .flow-content__inner__list__text-box h3{
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  display: flex;
  align-items: last baseline;
  gap: 18px;
}

.flow-content__inner__list li .flow-content__inner__list__text-box h3 span{
  font-size: 40px;
  font-weight: 400;
  line-height: 1.5;
}

.flow-content__inner__list li .flow-content__inner__list__text-box p{
  line-height: 2;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .03em;
}


.flow-content__inner__list li:last-of-type{
  padding-bottom: 0;
  border-bottom: 0;
}




.introduction-content {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #ECECEC;
}

.introduction-content__inner__list{
    display: flex;
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

.introduction-content__inner__list li {
    width: calc((100% - 40px) / 2);

    position: relative;
    overflow: hidden;
  }
.introduction-content__inner__list li a div{
  overflow: hidden;
    width: 100%;
    height: 280px;
        box-shadow: 0px 0px 15px -5px #777777;
}
.introduction-content__inner__list__bg{
  width: 100%;
    height: 100%;
  object-fit: cover;
  object-position: center;
  transition: .25s;
}
.introduction-content__inner__list li a:hover .introduction-content__inner__list__bg{
  scale: (1.05);
  transition: .25s;
}

.introduction-content__inner__list__arrows{
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
}

.introduction-content__inner__list li h3 {
    bottom: 20px;
    left: 20px;
    font-size: 20px;
    line-height: 1.5;
    z-index: 4;
    display: block;
    margin-top: 18px;
    margin-bottom: 14px;
    font-weight: 700;
}


.introduction-content__inner__list li p {
    color: #ccc;
    border-radius: 100000px;
    max-width: 100%;
    width: max-content;
}

/* メイン */
.single-introduction-slider { margin: 0 0 10px; }
.single-introduction-slider img{
  width:100%; height:auto; display:block; object-fit:cover;
}

/* サムネ */
.single-introduction-slider-thumbnail .slick-track{ display:flex; }
.single-introduction-slider-thumbnail .slick-slide{ margin-right:10px; }
.single-introduction-slider-thumbnail li{ width:180px; }         /* 横幅固定 */
.single-introduction-slider-thumbnail img{
  width:100%; height:100px; object-fit:cover; display:block;     /* 好みで高さ調整 */
}
.page-under-bread{
  display: flex;
  gap: 14px;
  font-size: 14px;
  padding-top: 80px;
  padding-bottom: 60px;
  font-weight: 400;
}

.main-content-wrap{
    display: flex;
    justify-content: space-between;
    gap: 80px;
    align-items: flex-start;
}
.main-content-wrap .left-content{
  width: 740px;
}

.main-content-wrap .right-content{
  width: 300px;
}

.introduction-single-content__inner .left-content h2{
  font-size: 24px;
  margin-bottom: 24px;
  color: #71BDDB;
  line-height: 1.2;
  font-weight: 400;
}

.content-box{
  margin-top: 20px;
  line-height: 2;
  font-weight: 400;
}

.introduction-single-content__inner .right-content{
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 18px 0;
}


.introduction-single-content__inner .right-content h2{
  font-size: 24px;
  color: #71BDDB;
  margin-bottom: 18px;
  line-height: 1.2;
}

.introduction-single-content__inner .right-content h2:last-of-type{
  padding-top: 18px;
  margin-bottom: 18px;
  border-top: 1px solid #ccc;
  margin-top: 18px;
}

.introduction-single-content__inner .right-content ul:last-of-type{
  display: flex;
  gap: 10px 10px;
  flex-wrap: wrap;
}
.introduction-single-content__inner .right-content ul:last-of-type li{
  width: max-content;
}
.introduction-single-content__inner .right-content ul:last-of-type li a{
  width: max-content;
  padding: 8px 14px;
  background-color: #71BDDB;
  color: #fff;
  display: block;
  border: 1px solid #71BDDB;
  font-size: 14px;
  transition: .25s;
}
.introduction-single-content__inner .right-content ul:last-of-type li a:hover{
  color: #71BDDB;
  background-color: transparent;
  border: 1px solid #71BDDB;
  transition: .25s;
}
.introduction-single-content__inner .right-content ul:first-of-type{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.introduction-single-content__inner .right-content ul:first-of-type li{
  display: block;
  height: 160px;
  overflow: hidden;
}

.introduction-single-content__inner .right-content ul:first-of-type li img{
  display: block;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}


section.staff-content{
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #ececec;
}

ul.staff-content__inner__list{
  flex-direction: column;
  display: flex;
  gap: 56px;
}

ul.staff-content__inner__list li a{
  display: flex;
  gap: 56px;
  justify-content: space-between;
  flex-wrap: wrap;
}

ul.staff-content__inner__list li a .staff-content-left{
  width: 50%;
  position: relative;
}

ul.staff-content__inner__list li a .staff-content-left h3{
  padding: 20px 32px;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
    position: absolute;
    left: -10px;
    bottom: 18px;
    font-size: 32px;
    width: max-content;
    display: flex;
    gap: 12px;
    align-items: last baseline;
    font-weight: 400;
}
ul.staff-content__inner__list li a .staff-content-left h3 span{
  font-size: 20px;
}

ul.staff-content__inner__list li a .staff-content-right{
  width: calc(50% - 56px);
}

.staff-content-right .staff-content-post,
p.staff-content-history-about,
.acf_staff_comment_ttl__in p,
.acf_staff_comment_ttl__out p{
  line-height: 2;
  font-size: 16px;
  letter-spacing: .03em;
  font-weight: 400;
}

.acf_staff_comment_ttl__in h3,
.acf_staff_comment_ttl__out h3{
  padding: 0 0px 0 40px;
  position: relative;
  color: #71BDDB;
  font-size: 24px;
}

.acf_staff_comment_ttl__in h3 span,
.acf_staff_comment_ttl__out h3 span{
  z-index: 2;
  position: relative;
  font-size: 24px;
  padding-left: 16px;
  padding-right: 32px;
  background-color: #ececec;
  margin-bottom: 18px;
  display: block;
  width: max-content;

}
.acf_staff_comment_ttl__in h3::before,
.acf_staff_comment_ttl__out h3::before{
  z-index: 0;
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #ccc;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.acf_staff_comment_ttl__out,
.acf_staff_comment_ttl__in{
  border-bottom: 1px solid #ccc;
  padding-bottom: 32px;
}

.staff-content-right .staff-content-post{
  margin-bottom: 24px;
}

.staff_history{
  font-size: 16px;
  font-weight: 400;
  display: flex;
  flex-direction: column;
  width: 100%;
  border-top: 1px solid #ccc;
  margin-bottom: 24px;
}

.staff_history li{
  display: flex;
  padding-top: 14px;
  padding-bottom: 14px;
  align-items: center;
  border-bottom: 1px solid #ccc;
}

.staff_history li span.staff_history_ttl{
  display: block;
  color: #71BDDB;
  width: 160px;
}
.staff_history li span.staff_history__text{
  display: block;
  width: calc(100% - 170px);
}

section.access-content{
padding-top: 120px;
padding-bottom: 120px;
background-image: url(../images/access/access-bg.png);
background-size: cover;
background-position: top right;
}

section.access-content h2 {
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 18px;
    display: flex;
}
section.access-content h2 span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #323232;
}

















.access-content02{
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #ECECEC;
}

.access-content02__list{
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.access-content02__list li{
  display: flex;
  justify-content: flex-start;
  position: relative;
}

.access-content02__list li:nth-of-type(2){
  display: flex;
  justify-content: flex-end;
}


.access-content02__list__text-box {
    padding: 40px;
    width: 55%;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
    position: relative;
    z-index: 2;
    margin-top: 100px;
}


.access-content02__list__text-box h3{
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: 14px;
  font-weight: 400;
}

.access-content02__list__text-box p{
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
}
.access-content02__list__text-box > span{
  position: absolute;
  font-size: 24px;
  left: 0;
    top: 8px;
  transform: translateY(-100%);
  color: #71BDDB;
}

.access-content02__list__text-box > span span{
  font-size: 40px;
}

.access-content02__list__image-box{
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 58%;
  max-width: 650px;
  height: calc(100% - 20px);
  object-fit: cover;
  object-position: center;
}


.access-content02__list li:nth-of-type(2) .access-content02__list__image-box{
  position: absolute;
  left: 0;
  right: auto;
  bottom: 20px;
  width: 58%;
  max-width: 650px;
  height: calc(100% - 20px);
  object-fit: cover;
  object-position: center;
}

.access-content02__list li:nth-of-type(2) .access-content02__list__text-box > span{
   position: absolute;
  font-size: 24px;
  left: auto;
  right: 0;
    top: 8px;
  transform: translateY(-100%);
  color: #71BDDB;
}


.fee-content{
  padding-top: 80px;
  padding-bottom: 80px;
}

.fee-content:nth-of-type(2n){
  background-size: cover;
  background-position: top right;
  background-image: url(../images/fee/fee-bg.png);
}

.fee-content__inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fee-content__inner__text{
  width: calc(50% - 35px);
}
.fee-content__inner__table{
  width: calc(50% - 35px);
  border-top: 1px solid #ccc;
}
.fee-content__inner__table table,
.fee-content__inner__table tbody{
  width: 100%;
}
.fee-content__inner__table tr{
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #ccc;
  padding: 14px;
  width: 100%;
}

.fee-content__inner__table tr.first-ttl{
color: #71BDDB;
}
.fee-content__inner__table tr th{
  width: 160px;
}
.fee-content__inner__table tr td{
  width: calc(100% - 170px);
}
.fee-content__inner__text h2{
  font-size: 24px;
  color: #71BDDB;
  margin-bottom: 18px;
}

.fee-content__inner__text p{
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}


.fee-content:nth-of-type(2n) .fee-content__inner__table{
  order: 1;
}
.fee-content:nth-of-type(2n) .fee-content__inner__text{
  order: 2;
}



.contact-link-box{
  display: flex;
  justify-content: space-between;
  padding: 56px;
  background-image: url(../images/contact/contact-link-box-bg.png);
  color: #fff;
  align-items: center;
  background-size: cover;
  background-position: center right;
}


.contact-link-box h2{
  font-size: 32px;
  line-height: 1.5;
  width: 50%;
}

.contact-link-box-list{
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.contact-link-box-list li{
  display: flex;
  flex-direction: column;
  gap: 4px;
}


.contact-link-box-list li span{
  display: block;
  width: 155px;
  height: 40px;
  background-color: #fff;
  color: #71BDDB;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-link-box-list li a{
  display: block;
  line-height: 1.5;
  font-size: 40px;
  color: #fff;
  letter-spacing: .14em;
}

section.contact-content__intro .page-under-bread{
  padding-bottom: 40px;
}

section.contact-content__intro{
  padding-bottom: 120px;
}

.contact-content{
  padding-top: 120px;
  padding-bottom: 120px;
  align-items: center;
  background-size: cover;
  background-position: center right;
}
.contact-content h2 {
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 18px;
    display: flex;
}

.contact-content h2 span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #323232;
}


.contact-content p{
  letter-spacing: .08em;
  line-height: 2.5;
  font-size: 14px;
}


.contact-form {
    margin-top: 40px;
}


.contact-form th{
  width: 260px;
}

.contact-form td{
  width: calc(100% - (260px + 32px));
}

.contact-form table tr td span{
  display: block;
  width: 100%;
}

.contact-form table,
.contact-form tbody{
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 100%;
}

.contact-form table tr{
  display: flex;
  justify-content: space-between;
}

input[type="text" i] ,
input[type="tel" i] ,
input[type="email" i],
textarea {
  padding: 18px;
  border-radius: 10px;
  background-color: #EEEEEE;
  display: block;
  width: 100%;
  font-size: 18px;
}
th.form-content__ttl {
    position: relative;
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 18px;
    letter-spacing: 0;
}

th.form-content__ttl span{
   padding: 5px 10px;
   background-color: #71BDDB;
   color: #fff;
   border-radius: 10000px;
   line-height: 1;
   display: block;
   width: max-content;
   height: auto;
}
th.form-content__ttl span.req{
   background-color: #71BDDB;

}
th.form-content__ttl span.opt{
   background-color: #ccc;
   color: #fff;
}

td.form-content__input .wpcf7-list-item label {
    display: flex;
    gap: 8px;
}
.contact-form table tr td span{
  margin-left: 0;
}

span.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required{
  display: flex;
  flex-direction: column;
  gap: 14px;
  line-height: 1.5;
}

.form-privacy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 32px;
    font-size: 18px;
    gap: 12px;
    margin-bottom: 40px;
}

.form-privacy a,
.form-privacy p {
  font-size: 18px;
    text-decoration: none !important;
}

.submit-wrap  {
    color: #fff;
    position: relative;
    width: 170px;
    height: 40px;
    background-color: #71BDDB;
    border-radius: 1000000px;
    margin: auto;
    position: relative;
}
.submit-wrap::before{
    color: #fff;
    position: absolute;
    content: "";
    border-radius: 100000px;
    width: 4px;
    background-color: #fff;
    height: 4px;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    transition: .25s;
}
.submit-wrap:hover::before{
    width: 8px;
    background-color: #fff;
    height: 8px;
    transition: .25s;
    right: 16px;
}
.submit-wrap input{
  width: 100%;
  height: 100%;
  display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 700;
    padding-left: 20px;
    position: relative;
}

.sitemap-content__inner{
  padding: 32px 40px;
  margin-top: 80px;
  background-image: url(../images/sitemap/sitemap-bg.png);
  align-items: center;
  background-size: cover;
  background-position: center right;
  color: #fff;
}
.sitemap-content__inner h2{
  font-size: 24px;
  text-align: center;
  margin-bottom: 24px;
  line-height: 1.2;
  font-weight: 400;
}

.sitemap-content__inner ul{
  display: flex;
  gap: 14px;
  flex-direction: column;
  font-weight: 400;
}
.sitemap-content__inner ul li a{
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: underline;
}
.sitemap-content__inner ul li a::before{
  display: block;
  content: "";
  background-color: #fff;
  border-radius: 100000px;
  top: 0px;
  position: relative;
  width: 4px;
  height: 4px;
}

.sitemap-content__inner ul ul{
  padding-left: 14px;
  padding-top: 12px;
}











.feature-content02{
  padding-top: 120px;
  padding-bottom: 120px;
  background-image: url(../images/feature/feature-bg-content.png);
  align-items: center;
  background-size: cover;
  background-position: top right;
}

.feature-content02__list{
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.feature-content02__list li{
  display: flex;
  justify-content: flex-start;
  position: relative;
}

.feature-content02__list li:nth-of-type(2n){
  display: flex;
  justify-content: flex-end;
}


.feature-content02__list__text-box {
    padding: 40px;
    width: 55%;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
    position: relative;
    z-index: 2;
    margin-top: 30px;
}

.feature-content02-01__list__text-box{
    margin-top: 100px;
}

.feature-content02__list__text-box .btn-style{
  font-size: 16px;
  margin-top: 24px;
  font-weight: 400;
  gap: 24px;
}
.feature-content02__list__text-box .btn-style img{
order: 2;
width: 34px;
height: 34px;
}

tr.form-content.cont__big {
    align-items: flex-start;
}

.feature-content02__list__text-box h3{
  font-size: 24px;
  line-height: 1.2;
  margin-bottom: 14px;
  font-weight: 400;
}

.feature-content02__list__text-box p{
  font-size: 16px;
  line-height: 2;
  font-weight: 400;
}
.feature-content02__list__text-box > span{
  position: absolute;
  font-size: 24px;
  left: 0;
    top: 8px;
  transform: translateY(-100%);
  color: #71BDDB;
}

.feature-content02__list__text-box > span span{
  font-size: 40px;
}

.feature-content02__list__image-box{
  position: absolute;
  right: 0;
  bottom: 20px;
  width: 58%;
  max-width: 650px;
  height: calc(100% - 20px);
  object-fit: cover;
  object-position: center;
}


.feature-content02__list li:nth-of-type(2n) .feature-content02__list__image-box{
  position: absolute;
  left: 0;
  right: auto;
  bottom: 20px;
  width: 58%;
  max-width: 650px;
  height: calc(100% - 20px);
  object-fit: cover;
  object-position: center;
}

.feature-content02__list li:nth-of-type(2n) .feature-content02__list__text-box > span{
   position: absolute;
  font-size: 24px;
  left: auto;
  right: 0;
    top: 8px;
  transform: translateY(-100%);
  color: #71BDDB;
}

.top-faq__inner__content li .top-faq__inner__content__answer {
    font-weight: 400;
  }


.feature-all-link{
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #ECECEC;
}


.feature-all-link__inner__list{
    display: flex;
    justify-content: space-between;
    gap: 24px 40px;
    flex-wrap: wrap;
}

.feature-all-link__inner__list li {
    width: calc((100% - 40px) / 2);
    height: 225px;
    position: relative;
    overflow: hidden;
  }

.feature-all-link__inner__list__bg{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .25s;
  object-position: center;
}

li:hover .feature-all-link__inner__list__bg{
  scale: 1.1;
  transition: .25s;
}
p.confidential-note {
    margin-bottom: 32px;
    line-height: 2;
    padding: 20px 24px;
    border: #dc3232 1.5px solid;
    color: #dc3232;
}
.feature-all-link__inner__list__arrows{
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 48px;
  height: 48px;
}


.feature-all-link__inner__list li h3{
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 18px;
  line-height: 1.5;
  z-index: 4;
  color: #fff;
}




.feature-all-link__inner h2 {
    font-size: 40px;
    line-height: 1.2;
    gap: 8px;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 32px;
    display: flex;
}
.feature-all-link__inner h2 span {
    font-size: 24px;
    line-height: 1.5;
    display: block;
    color: #323232;
}




/* 共通（a も span も） */
.pagination .page-numbers{
  width:32px;
  height:32px;
  display:grid;          /* ← 中央寄せに強い */
  place-items:center;    /* ← 縦横センター */
  box-sizing:border-box; /* 枠線込みで32px */
  border:1px solid #71BDDB;
  border-radius:9999px;
  color:#71BDDB;
  line-height:1;
  transition:.25s;
  letter-spacing:0;
}

/* 現在ページ */
.pagination .page-numbers.current{
  background:#71BDDB;
  color:#fff;
  pointer-events:none;
}

/* ホバー例（任意） */
.pagination a.page-numbers:hover{
  background:#71BDDB;
  color:#fff;
}

a.next.page-numbers{
  position: relative;
}

a.next.page-numbers::before{
  position: absolute;
    z-index: 3;
    content: "";
    position: relative;
    transition: .25s;
    top: 0px;
    left: -2px;
    width: 8px;
    height: 8px;
    border-right: 1px solid #71BDDB;
    border-bottom: 1px solid #71BDDB;
    transform: translateY(0%) rotate(-45deg);
    transition: .25s;
}



.feature-content-access{
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #ECECEC;
}


.feature-content-access h2{
  display: flex;
  flex-direction: column;
  font-size: 40px;
  color: #71BDDB;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 32px;
}

.feature-content-access h2 span{
  display: block;
  font-size: 24px;
  text-align: center;
  color: #323232;
}

.section-feature-attention{
  padding-top: 80px;
  padding-bottom: 80px;
}

.section-feature-attention h2{
  font-size: 24px;
  letter-spacing: .03em;
  line-height: 1.2;
  text-align: center;
  font-weight: 400;
}
.section-feature-attention p{
  line-height: 2;
  margin-top: 14px;
  font-size: 16px;
  letter-spacing: .03em;
  font-weight: 400;
}

.privacy-content__inner h2{
  margin-bottom: 18px;
  font-size: 24px;
  margin-top: 24px;
  font-weight: 500;
  color: #71BDDB;
}

.privacy-content__inner h3{
  margin-bottom: 18px;
  font-size: 18px;
  margin-top: 24px;
  font-weight: 500;
  color: #71BDDB;
}

.privacy-content__inner p{
  line-height: 2;
  font-size: 18px;
  font-size: 16px;
  font-weight: 400;
}

.privacy-content__inner{
  padding-top: 80px;
  padding-bottom: 80px;
}

.privacy-content__inner h3.mb-40{
  margin-top: 40px;
}




@media screen and (max-width:1120px){
.w-1120,
.w-1000,
.w-810{
  padding-left: 20px;
  padding-right: 20px;
}
section.sitemap-content{
  padding-left: 20px;
  padding-right: 20px;
}
}
@media screen and (max-width:1120px) {
  .top-staff{
    overflow: hidden;
  }
}

@media screen and (max-width:1120px) {
.top-about__inner {
    display: flex;
    gap: 24px;
    justify-content: space-between;
    flex-direction: column;
}
.top-about__inner__content {
    width: 100%;
}
.top-about__inner > img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}
.top-about__inner__content h2 {
    font-size: 24px;
    margin-bottom: 14px;
    line-height: 2;
    letter-spacing: .14em;
}
.top-about__inner__content h2 br {
  display: none !important;
}
.top-about__inner__content h3 {
    font-size: 24px;
    margin-bottom: 8px;
}
ul.top-concept-flow__links__list {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 20px;
}
ul.top-concept-flow__links__list li {
    width: 100%;
}
.top-concept-flow__links__list__content div {
    position: relative;
    height: 50vw;
}
.top-concept-flow__links__list__content div h3 {
    left: 10px;
    bottom: 10px;
    font-size: 24px;
    gap: 4px;
}
.top-concept-flow__links__list__content div h3 span {
    display: block;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}
.top-concept-flow__links__list__content a p {
    line-height: 2.5;
    font-size: 14px;
    margin-top: 8px;
    letter-spacing: .08em;
    font-weight: 400;
}
.top-concept-flow__links__list__content div::before {
    width: 32px;
    height: 32px;
    border-radius: 5px 0 0 0;
}
.top-concept-flow__links__list__content div::after {
    bottom: 12px;
    right: 13px;
}
.top-staff {
    padding-top: 80px;
    padding-bottom: 80px;
    background-image: url(../images/top/top-staff-bg.png);
    background-size: cover;
    background-position: top center;
}
.top-staff__arrows button {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    line-height: 0;
    width: 32px;
    height: 32px;
}
.top-staff__inner__intro p{
  margin-bottom: 24px;
}
.top-staff__inner__intro h2,
.top-intro__inner__text h2,
.top-faq h2,
section.top-column h2,
.top-feature__inner__ttl,
.contact-link-section h2.contact-link-section__inner__ttl,
section.access-content h2,
.feature-all-link__inner h2,
.contact-content h2 {
    font-size: 32px;
    margin-bottom: 18px;
    display: flex;
}
.top-staff__inner__intro h2 span,
.top-intro__inner__text h2 span,
.top-faq h2 span,
section.top-column h2 span,
.top-feature__inner__ttl span,
.contact-link-section h2.contact-link-section__inner__ttl span,
section.access-content h2 span,
.feature-all-link__inner h2 span,
.contact-content h2 span {
    font-size: 18px;
    line-height: 1.5;
    display: block;
}
.top-staff__inner__list__text h2 {
    font-size: 20px;
    display: flex;
    gap: 8px;
    position: relative;
    padding-bottom: 12px;
    align-items: last baseline;
    margin-bottom: 12px;
    font-weight: 400;
}
.top-staff__inner__list__text h2::before,
.top-staff__inner__list__text h2::after {
    height: 1px;
}
.top-staff__inner__list__text p {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 400;
}
.top-intro {
    padding-top: 80px;
    padding-bottom: 80px;
}
.top-intro__inner__list {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    flex-direction: column;
}
.top-intro__inner__list li {
    width: 100%;
        position: relative;
        height: 50vw;
    position: relative;
}
.top-intro__inner__list li h3 {
    position: absolute;
    bottom: 16px;
    left: 16px;
    font-size: 16px;
    line-height: 1.5;
}
.top-intro__inner__list__arrows {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 32px;
    height: 32px;
}
.footer-logo a {
    margin-left: auto;
    margin-right: auto;
}
.top-feature{
background-image: url(../images/top/top-feature-bg-sp.png);
}
.footer-logo p {
    line-height: 1.5;
    font-size: 14px;
    text-align: center;
}
.eng.pc-nav-footer {
    text-align: center;
}

.top-faq__inner__content__ttl {
    position: relative;
    display: flex;
    gap: 12px;
    padding: 14px 24px 14px 0;
    cursor: pointer;
    user-select: none;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
}
.top-faq__inner__content li.is-open .top-faq__inner__content__answer {
    opacity: 1;
    padding: 12px 0 18px;
    font-weight: 400;
}
.top-faq__inner__content li .top-faq__inner__content__answer {
    font-size: 14px;
    font-weight: 400;
  }

.top-faq__inner__content__ttl {
  display: flex;
}
.top-faq__inner__content__ttl span.eng {
    display: block;
    color: #71BDDB;
    font-size: 24px;
    width: 24px;
}

.top-faq__inner__content__ttl span:last-of-type{
font-size: 14px;
width: calc(100% - 24px);
display: block;
}
.top-access__inner__ttl span {
    display: block;
    font-size: 16px;
    text-align: center;
    color: #323232;
}
.top-access__inner__ttl {
    font-size: 32px;
    line-height: 1.5;
    margin-bottom: 32px;
}
.top-access__inner__table tbody tr {
    display: flex;
    justify-content: space-between;
    padding-top: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #ccc;
    flex-direction: column;
}
.top-access__inner__table tbody tr th,
.top-access__inner__table tbody tr td {
    width: 100%;
    font-size: 14px;
}
.top-access__inner iframe, section.access-content iframe, .feature-content-access iframe {
   
    height: 60vw;
}
section.top-column {
    padding-top: 80px;
    padding-bottom: 80px;
}
.top-column__inner__list li h3 {
    font-size: 16px;
    line-height: 1.2;
}
.top-column__inner__list {
    display: flex;
    gap: 18px;
    flex-direction: column;
    margin-bottom: 24px;
}
.btn-style {
    display: flex;
    gap: 14px;
    align-items: center;
    font-size: 18px;
}
.btn-style img {
    display: block;
    width: 32px;
    height: 32px;
}
.contact-link-section a {
    width: max-content;
    height: 56px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 360px;
    margin: auto;
    background-color: #fff;
    color: #323232;
    border-radius: 8px;
    padding-left: 32px;
    padding-right: 32px;
}
.footer-logo {
    width: 100%;
    max-width: 100%;
    display: block;
}
.eng.pc-nav-footer {
    display: flex;
    justify-content: flex-end;
    max-width: 100%;
    width: 100%;
    flex-wrap: wrap;
    flex-direction: column;
    margin-top: 40px;
}
.eng.pc-nav-footer > ul {
    margin-left: 0;
}
.eng.pc-nav-footer > ul > li {
    font-size: 14px;
    margin-bottom: 20px;
}
.footer-logo p {
    line-height: 1.5;
    font-size: 14px;
}
.copy-right {
    margin-top: 32px;
    font-size: 10px;
    text-align: center;
    color: #fff;
    width: 100%;
}
.section-header__logo {
    width: 140px;
}
.top-fv {
    position: relative;
    height: 90vh;
    max-height: 680px;
}
.under-head {
    padding-top: calc(40px + 40px);
    padding-bottom: 40px;
    background-image: url(../images/common/under-bg-sp.png);
}
.under-head h2 {
    font-size: 32px;
    line-height: 1.2;
    gap: 8px;
    display: flex;
    color: #71BDDB;
    flex-direction: column;
    margin-bottom: 18px;
}
.under-head h2 span {
    font-size: 18px;
    line-height: 1.5;
    display: block;
    color: #323232;
}
.under-intro__inner__text {
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
}
.under-intro__inner.w-1120 img {
    width: 100%;
    height: auto;
    position: relative;
    top: 0;
    right: 0;
    object-fit: cover;
    object-position: center;
    margin-top: 32px;
}
.under-intro__inner.w-1120 {
    padding-top: 80px;
    padding-bottom: 80px;
}
.under-intro__inner__text h2 {
    color: #71BDDB;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 24px;
}
.under-intro__inner__text p {
    color: #323232;
    font-size: 14px;
    line-height: 2;
    font-weight: 400;
}
.concept-content {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #ECECEC;
}
.concept-content__list__text-box,
.access-content02__list__text-box,
.feature-content02__list__text-box {
    padding: 20px;
    width: 100%;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
    position: relative;
    z-index: 2;
    margin-top: 0;
}
.concept-content__list__text-box h3,
.access-content02__list__text-box h3,
.feature-content02__list__text-box h3 {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 10px;
    font-weight: 400;
}
.concept-content__list__text-box p,
.access-content02__list__text-box p,
.feature-content02__list__text-box p{
    font-size: 14px;
    line-height: 2;
    font-weight: 400;
}
.concept-content__list__image-box,
.concept-content__list li:nth-of-type(2) .concept-content__list__image-box,
.access-content02__list__image-box,
.access-content02__list li:nth-of-type(2) .access-content02__list__image-box,
.feature-content02__list__image-box,
.feature-content02__list li:nth-of-type(2n) .feature-content02__list__image-box
 {
    position: relative;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.concept-content__list li,
.concept-content02__list li,
.feature-content02__list li:nth-of-type(2n) {
    display: flex;
    justify-content: flex-start;
    position: relative;
    flex-wrap: wrap;
}
.access-content02__list li,
.feature-content02__list li,
.feature-content02__list li:nth-of-type(2n) {
    display: flex;
    justify-content: flex-start;
    position: relative;
    flex-direction: column;
}
.feature-all-link {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #ECECEC;
}
.concept-content__list,
.access-content02__list {
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.feature-content02 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .section-feature-attention p {
    line-height: 2;
    margin-top: 14px;
    font-size: 14px;
    letter-spacing: .03em;
    font-weight: 400;
}
.section-feature-attention h2 {
    font-size: 20px;
    letter-spacing: .03em;
    line-height: 1.5;
    text-align: left;
    font-weight: 400;
}
.footer-logo a {
    display: block;
    margin-bottom: 24px;
    width: 100%;
    max-width: 180px;
}
.flow-content__inner__list li .flow-content__inner__list__text-box {
    display: flex;
    width: 100%;
    flex-direction: column;
}
.flow-content__inner__list li > img {
    display: block;
    width: 100%;
    height: max-content;
    object-fit: contain;
    object-position: center;
}
.flow-content__inner__list li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #fff;
    padding-bottom: 24px;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}
.flow-content__inner__list li .flow-content__inner__list__text-box h3 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    display: flex;
    align-items: last baseline;
    gap: 18px;
    margin-bottom: 14px;
}
.flow-content__inner__list li .flow-content__inner__list__text-box h3 span {
    font-size: 32px;
    font-weight: 400;
    line-height: 1.5;
}
.flow-content__inner__list li .flow-content__inner__list__text-box p {
    line-height: 2;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .03em;
}
.flow-content__inner__list li .flow-content__inner__list__text-box h3 {
    display: flex;
    align-items: center;
}
section.access-content {
    padding-top: 80px;
    padding-bottom: 80px;
    background-image: url(../images/access/access-bg.png);
    background-size: cover;
    background-position: top right;
}
.access-content02 {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #ECECEC;
}.fee-content__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 24px;
}
.fee-content__inner__text,
.fee-content__inner__table {
    width: 100%;
}
.fee-content__inner__text p {
    font-size: 14px;
    line-height: 2;
}
.fee-content__inner__text h2 {
    font-size: 20px;
    color: #71BDDB;
    margin-bottom: 16px;
}
.fee-content__inner__table tr th {
    width: 110px;
    font-weight: 400;
    font-size: 14px;
}
.fee-content__inner__table tr td {
    width: calc(100% - 120px);
    font-weight: 400;
    font-size: 14px;
}
.fee-content:nth-of-type(2n) .fee-content__inner__text{
  order: 1;
}
.fee-content:nth-of-type(2n) .fee-content__inner__table {
    order: 2;
}
.fee-content:nth-of-type(2n) {
    background-size: cover;
    background-position: top right;
    background: #ECECEC;

}
.feature-all-link__inner__list {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.feature-all-link__inner__list li {
    width: 100%;
    height: 50vw;
    position: relative;
}
.feature-all-link__inner__list li h3 {
    position: absolute;
    bottom: 16px;
    left: 16px;
    font-size: 16px;
    line-height: 1.5;
    color: #fff;
}
.feature-all-link__inner__list__arrows {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 32px;
    height: 32px;
}
.sitemap-content__inner h2 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 14px;
    line-height: 1.2;
    font-weight: 400;
}
.sitemap-content__inner ul li{
  font-size: 14px;
  line-height: 1.5;
}
.sitemap-content__inner ul li a::before{
  position: absolute;
  left: 0;
  top:10px;
}
.sitemap-content__inner ul li a{
  position: relative;
  padding-left: 18px;
}
.introduction-content__inner__list {
    display: flex;
    justify-content: space-between;
    gap: 32px;
    flex-direction: column;
}
.introduction-content__inner__list li {
    width: 100%;
    position: relative;
}
.introduction-content__inner__list li p {
    font-size: 12px;
}
.introduction-content__inner__list li a div{
    height: 50vw;
}
.introduction-content__inner__list li h3 {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 16px;
    margin-bottom: 12px;
}
.introduction-content__inner__list__arrows {
    position: absolute;
    right: 16px;
    bottom: 16px;
    width: 32px;
    height: 32px;
}
.introduction-content__inner__list {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    flex-direction: column;
}
.feature-content02__list li .feature-content02__list__text-box a.btn-style{
margin-top: 24px;
}
.feature-content02__list {
    display: flex;
    flex-direction: column;
    gap: 80px;
}
.contact-link-box {
    display: flex;
    justify-content: space-between;
    padding: 32px;
    background-image: url(../images/contact/contact-link-box-bg.png);
    color: #fff;
    align-items: center;
    background-size: cover;
    background-position: center right;
    flex-direction: column;
}
.contact-link-box h2 {
    width: 100%;
    font-size: 20px;
    text-align: center;
}
.contact-link-box-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 24px;
}
.contact-link-box-list li span {
    display: block;
    width: 155px;
    height: 32px;
    background-color: #fff;
    color: #71BDDB;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contact-link-box-list li a {
    display: block;
    line-height: 1.5;
    font-size: 28px;
    color: #fff;
    letter-spacing: .14em;
}
.contact-link-box-list li {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    align-items: center;
}
section.contact-content__intro {
    padding-bottom: 80px;
}
.contact-content {
    padding-top: 80px;
    padding-bottom: 80px;
    background-image: url(../images/contact/contact-cont-bg.png);
    align-items: center;
    background-size: cover;
    background-position: center right;
}
.contact-form table tr {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 14px;
}
.contact-form td {
    width: 100%;
}th.form-content__ttl {
    position: relative;
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 16px;
    letter-spacing: 0;
}
input[type="text" i], input[type="tel" i], input[type="email" i], textarea {
    padding: 12px;
    border-radius: 10px;
    background-color: #EEEEEE;
    display: block;
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
}
.contact-form table, .contact-form tbody {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}
th.form-content__ttl span {
    padding: 5px 10px;
    background-color: #71BDDB;
    color: #fff;
    border-radius: 10000px;
    line-height: 1;
    display: block;
    width: max-content;
    height: auto;
    font-size: 12px;
}
.form-privacy a, .form-privacy p {
    font-size: 14px;
    text-decoration: none !important;
}
.form-privacy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 16px;
    font-size: 16px;
    gap: 0px;
    margin-bottom: 24px;
}
.submit-wrap input {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 700;
    padding-left: 24px;
}
ul.staff-content__inner__list li a {
    display: flex;
        gap: 24px;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
}
ul.staff-content__inner__list li a .staff-content-left {
    width: 100%;
    position: relative;
}
ul.staff-content__inner__list li a .staff-content-right {
    width: 100%;
}
.acf_staff_comment_ttl__in h3 span, .acf_staff_comment_ttl__out h3 span {
    z-index: 2;
    position: relative;
    font-size: 18px;
    padding-left: 8px;
    padding-right: 14px;
    background-color: #ececec;
    margin-bottom: 18px;
    display: block;
    width: max-content;
    max-width: 100%;
}
.acf_staff_comment_ttl__in h3, .acf_staff_comment_ttl__out h3 {
    padding: 0 0px 0 14px;
    position: relative;
    color: #71BDDB;
    font-size: 20px;
}
.staff-content-right .staff-content-post, p.staff-content-history-about, .acf_staff_comment_ttl__in p, .acf_staff_comment_ttl__out p {
    line-height: 2;
    font-size: 14px;
    letter-spacing: .03em;
    font-weight: 400;
}ul.staff-content__inner__list li a .staff-content-left h3 {
    padding: 10px 24px;
    background: linear-gradient(to bottom right, #71BDDB 0%, #6E2222 100%);
    color: #fff;
    position: absolute;
    left: -5px;
    bottom: 12px;
    font-size: 20px;
    width: max-content;
    display: flex;
    gap: 12px;
    align-items: last baseline;
    font-weight: 400;
}
.staff_history li {
    display: flex;
    padding-top: 12px;
    padding-bottom: 12px;
    align-items: center;
    border-bottom: 1px solid #ccc;
}
.staff_history li span.staff_history_ttl {
    display: block;
    color: #71BDDB;
    width: 110px;
    font-size: 14px;
}
.staff_history li span.staff_history__text {
    display: block;
    width: calc(100% - 130px);
    font-size: 14px;
}
.privacy-content__inner h2 {
    margin-bottom: 14px;
    font-size: 20px;
    margin-top: 20px;
    font-weight: 500;
    color: #71BDDB;
}
.privacy-content__inner p {
    line-height: 2;
    font-size: 14px;
    font-weight: 400;
}
.privacy-content__inner h3 {
    margin-bottom: 14px;
    font-size: 16px;
    margin-top: 18px;
    font-weight: 500;
    color: #71BDDB;
    line-height: 1.5;
}
}


section.column-single-content .left-content > h2{
  margin-bottom: 18px;
  font-size: 24px;
  color: #71BDDB;
  line-height: 1.5;
}


section.column-single-content .left-content > p{
  font-size: 16px;
  line-height: 2;
}

.left-content .top-column__inner__list{
  border-top: 1px solid #ccc;
  margin-top: 48px;
}

.main-content-wrap .top-column__inner__list > li a{
  padding-top: 18px;
  padding-bottom: 18px;
}
.main-content-wrap .top-column__inner__list > li {
  border-bottom: 1px solid #ccc;
}

section.column-single-content .top-column__inner__list {
    display: flex;
    gap: 0px;
    flex-direction: column;
    margin-bottom: 32px;
}
section.column-single-content .right-content h2{
  font-size: 24px;
  color: #71BDDB;
  padding-bottom: 14px;
  margin-bottom: 24px;
  border-bottom: 1px solid #ccc;
}
section.column-single-content .right-content .tarm-list{
  padding-bottom: 24px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 14px;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 8px 8px;
}

section.column-single-content .right-content .tarm-list li{
  width: max-content;
}
section.column-single-content .right-content .tarm-list li a{
  padding: 4px 12px;
  width: max-content;
  display: block;
  color: #fff;
  background-color: #71BDDB;
  line-height: 1.5;
  border: 1px solid #71BDDB;
  transition: .25s;
}

section.column-single-content .right-content .tarm-list li a:hover,
section.column-single-content .right-content ul.monthly-list li a:hover{
  transition: .25s;
  color: #71BDDB;
  background-color: transparent;
}
section.column-single-content .right-content ul.monthly-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
    padding-bottom: 24px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 14px;
}

section.column-single-content .right-content ul.monthly-list li{
    width: 100%;
  height: auto;
  text-align: center;
  display: block;
}
section.column-single-content .right-content ul.monthly-list li a{
  width: 100%;
  height: auto;
  padding: 8px;
  background-color: #71BDDB;
  color: #fff;
  text-align: center;
  display: block;
  line-height: 1.5;
  border: 1px solid #71BDDB;
  transition: .25s;
}


h1.column-single-wrap__main-ttl{
  font-size: 24px;
  line-height: 1.5;
  padding-bottom: 18px;
  margin-bottom: 24px;
  border-bottom: 1px solid #ccc;
  color: #71BDDB;
}
ul.taggroup-single{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 14px;
  margin-bottom: 32px;
}

.out-link{
  padding: 32px 20px;
    background-image: url(../images/common/column-bg.png);
    align-items: center;
    background-size: cover;
    background-position: center right;
    color: #fff;
    position: relative;
}

.out-link a{
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #71BDDB;
  color: #fff;
  width: max-content;
  padding: 14px 60px;
  max-width: 100%;
  line-height: 1.5;
}


.out-link img{
  display: block;
  width: 240px;
}

.out-link p{
  font-weight: 400;
  line-height: 2;
  font-size: 16px;
}
.out-link p.border-p{
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #fff;

}

.list-content-navi {
    padding: 40px 24px;
    border: 1px solid #ccc;
    margin-top: 80px;
}


.list-content-navi  h2{
  font-size: 24px;
  margin-bottom: 18px;
  position: relative;
  color: #71BDDB;
}

.list-content-navi  h2::before{
  content: "";
  width: 100%;
  height: 1px;
  background-color: #CCCCCC;
  display: block;
  top: 50%;
  position: absolute;

}
.list-content-navi  h2 span{
  font-size: 24px;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
  display: block;
  background-color: #fff;
  padding-left: 0;
  padding-right: 24px;
  width: max-content;
}.list-content-navi{
  margin-bottom: 78px;
}
.list-content-navi ul{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.list-content-navi ul li{
  font-size: 16px;
}


.list-content-navi ul li a:hover{
  text-decoration: underline;
}

.single-main h2{
  font-size:24px;
  line-height: 1.5;
  padding-bottom: 18px;
  margin-bottom: 24px;
  margin-top: 40px;
  border-bottom: 1px solid #ccc;
  color: #71BDDB;
}

.single-main h3{
  font-size:20px;
  line-height: 1.5;
  margin-bottom: 14px;
  margin-top: 40px;
  color: #71BDDB;
}

.single-main p{
  font-size:16px;
  line-height: 2;
  font-weight: 400;
  margin-bottom: 24px;
}

.column-single-wrap a.btn-style{
  margin-left: auto;
  margin-right: auto;
  justify-content: center;
  width: max-content;
  color: #71BDDB;
}

.main-content-wrap{
  padding-bottom: 120px;
}
@media screen and (max-width:1120px){
  .main-content-wrap {
    display: flex;
    justify-content: space-between;
    gap: 80px;
    align-items: flex-start;
    flex-direction: column;
}
.main-content-wrap .left-content {
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}
.main-content-wrap .right-content {
    width: 100%;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}
.pagination {
    justify-content: center;
    display: flex;
    margin-top: 40px;
    gap: 24px;
    align-items: center;
}
.page-under-bread {
    display: flex;
    gap: 14px;
    font-size: 14px;
    padding-top: 80px;
    padding-bottom: 60px;
    font-weight: 400;
    flex-wrap: wrap;
}
}
.section-header-contact{
  gap: 14px;
}
.section-header-contact::after {
    z-index: 3;
    content: "";
    position: relative;
    transition: .25s;
    top: -2px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: translateY(0%) rotate(-45deg);
    transition: .25s;
}
.section-header-contact:hover::after{
    border-right: 2px solid #71BDDB;
    border-bottom: 2px solid #71BDDB;
    transition: .25s;

}
.eng.pc-nav-footer .sp{
  display: none;
}
.eng.pc-nav-footer .pc{
  display: block;
}

nav.section-header__navi.eng ul li{
  position: relative;
}
nav.section-header__navi.eng ul li:hover a{
  color: #71BDDB;
}
nav.section-header__navi.eng ul li::before{
    position: absolute;
  content: "";
  width: 0px;
  height: 1px;
  background-color: #71BDDB;
  border-radius: 1000000px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -2px;
  transition: .25s;
}
nav.section-header__navi.eng ul li:hover::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 1px;
  background-color: #71BDDB;
  border-radius: 1000000px;
  transition: .25s;
}

.form-content__input.tel-box{
  display: flex;
  gap: 4px;
  align-items: flex-end;
}

.form-content__input.tel-box span.wpcf7-form-control-wrap{
  width: 250px;
}
.form-content__input.tel-box span.wpcf7-form-control-wrap{
  width: calc(100% - 258px);
}
@media screen and (max-width:640px){

.eng.pc-nav-footer .pc{
  display: none;
}

.eng.pc-nav-footer .sp{
  display: block;
}
  .single-main p {
    font-size: 14px;
    line-height: 2;
    font-weight: 400;
    margin-bottom: 24px;
}
.single-main h2 {
    font-size: 20px;
    line-height: 1.5;
    padding-bottom: 14px;
    margin-bottom: 18px;
    margin-top: 32px;
    border-bottom: 1px solid #ccc;
    color: #71BDDB;
}
.single-main h3 {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 14px;
    margin-top: 32px;
    color: #71BDDB;
}
.main-content-wrap {
    padding-bottom: 60px;
}
.out-link {
    padding: 32px 20px 80px;
    background-image: url(../images/common/column-bg.png);
    align-items: center;
    background-size: cover;
    background-position: center right;
    color: #fff;
    position: relative;
}
.out-link a {
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #71BDDB;
    color: #fff;
    width: 100%;
    padding: 14px 20px;
    max-width: 100%;
    line-height: 1.5;
    text-align: center;
}
.out-link p {
    font-weight: 400;
    line-height: 2;
    font-size: 14px;
}
h1.column-single-wrap__main-ttl {
    font-size: 20px;
    line-height: 1.5;
    padding-bottom: 18px;
    margin-bottom: 24px;
    border-bottom: 1px solid #ccc;
    color: #71BDDB;
}

p.intro-text-single{
  line-height: 2;
  font-weight: 400;
  margin-bottom: 32px;
  font-size: 14px;
}
.list-content-navi {
    padding: 20px 20px;
    border: 1px solid #ccc;
    margin-top: 40px;
}
.list-content-navi {
    margin-bottom: 40px;
}
.page-under-bread {
    display: flex;
    gap: 14px;
    font-size: 14px;
    padding-top: 56px;
    padding-bottom: 32px;
    font-weight: 400;
    flex-wrap: wrap;
}

.form-content__input.tel-box{
  display: flex;
  gap: 8px;
  align-items: flex-end;
  flex-direction: column;
}

.form-content__input.tel-box span.wpcf7-form-control-wrap{
  width: 100%;
}
.form-content__input.tel-box span.wpcf7-form-control-wrap{
  width: calc(100%);
}
}

/* 1280px以下のレイアウト */
@media (max-width:1280px){
  .hamburger-menu{ display:inline-flex; align-items:center; justify-content:center; }

  /* ふだんはナビを隠す */
  .section-header_inner__navi__wrap{ display:none; }

  /* 開いたら全画面固定で表示（topはJSでヘッダー高を入れる） */
  .section-header_inner__navi__wrap.is-open{
    display:block;
    position:fixed; 
    left:auto; 
    right:0;
     bottom:0;
    background:#fff;
    padding:24px 20px 40px;
    border-top:1px solid #eee;
    overflow:auto;
    z-index:99998; /* ヘッダーの下でOK */
    max-width: 650px;
    width: 100vw;
  }
.section-header_inner{
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}
  /* 縦メニュー化 */
  nav.section-header__navi.eng ul{
    flex-direction:column;
    gap:24px;
  }
  .section-header-contact{
    width:100%; height:56px; margin-top:24px;
  }

nav.section-header__navi.eng,
.section-header-contact {
    width: 100%;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}
nav.section-header__navi.eng ul {
    flex-direction: column;
    gap: 0px;
}

nav.section-header__navi.eng ul li a{
  padding-top: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #ccc;
  display: block;
  width: 100%;
}

nav.section-header__navi.eng ul li::before{
 display: none;
}
nav.section-header__navi.eng ul li:hover::before {
 display: none;
}
}

@media screen and (max-width:1280px) {

.top-fv__inner {
width: calc(100% - 80px);
}
.top-fv__inner h1 {
font-size: 40px;
line-height: 1.5;
margin-bottom: 20px;
color: #fff;
}

.top-fv__inner p {
font-size: 18px;
font-weight: 700;
line-height: 2;
}

}
.top-fv::before {
    content: "";
    width: 100vw;
    height: 100%;
    display: block;
    position: absolute;
    background: linear-gradient(45deg, #1d2f4252, transparent);
}

br.sp{
  display: none;
}

br.pc{
  display: block;
}
@media screen and (max-width:640px) {
  
br.pc{
  display: none;
}
br.sp{
  display: block;
}
.top-fv{
position: relative;
height: 100vh;
}
.top-fv__inner {
width: calc(100% - 40px);
}
.top-fv__inner h1 {
font-size: 32px;
line-height: 1.5;
margin-bottom: 20px;
color: #fff;
}
.top-fv__inner p{
  text-align: left;
  font-size: 14px;

}
p.confidential-note {
    margin-bottom: 32px;
    line-height: 2;
    padding: 20px 24px;
    border: #dc3232 1.5px solid;
    color: #dc3232;
    font-size: 12px;
}
.top-fv__inner p br {
  display: none;
}
}
.feature-content02__list__text-box .btn-style{
  position: relative;
  transition: .25s;
  width: max-content;
}

.feature-content02__list__text-box a img.active-arrows{
  position: absolute;
  right: 0;
  transition: .25s;
  opacity: 0;
}
.feature-content02__list__text-box a:hover img.active-arrows{
  opacity: 1;
  transition: .25s;
}

.feature-content02__list__text-box a:hover img:first-of-type{
  opacity: 0;
  transition: .25s;
}