@charset "utf-8";
/*---------------------------------------------
共通
---------------------------------------------*/
body {
 overflow-x: hidden;
}
.tpl-button--inverted {
 background-color: #e4dfdd;
}
.mt10 {
 margin-top: 10px;
}
.cap_r {
 text-align: right;
 font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
 .cap_r {
  font-size: 1rem;
 }
}
.cap_l {
 text-align: left;
 font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
 .cap_l {
  font-size: 1rem;
 }
}
.tpl-headline__copy {
 padding-top: 65px;
 line-height: 1.4;
}
@media screen and (max-width: 767px) {
 .tpl-headline__copy > br.br_sp, .tpl-headline__copy > br.br-sp {
  display: block;
 }
}
.tpl-aside-nav .tpl-aside-nav__link {
/* background-color: inherit;*/
}
@media screen and (min-width: 769px) {
 .tpl-aside-nav {
  right: 0;
  bottom: 35px;
  padding: 5px;
 }
 .tpl-aside-nav .tpl-aside-nav__cta {
/*  flex-direction: column;*/
/*  grid-gap: 8px 0;*/
 }
}
.tpl-aside-nav a {
 color: #fff;
}
@media screen and (min-width: 768px) {
 .tpl-aside-nav a {
  text-align: left;
  justify-content: flex-start;
/*  padding: 0 10px;*/
 }
}
@media screen and (min-width: 768px) {
 .tpl-aside-nav a .arrow {
  position: relative;
  display: block;
  width: 100%;
 }
}
@media screen and (min-width: 768px) {
 .tpl-aside-nav a .arrow::after {
  content: '';
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  width: 6px;
  height: 6px;
  position: absolute;
  right: 0;
  top: 5px;
  transform: rotate(45deg);
  z-index: 1;
 }
}
.tpl-headline__subcopy {
 padding-top: 3em;
}
@media screen and (max-width: 767px) {
 .tpl-col .tpl-headline {
  padding-left: 0;
  padding-right: 0;
 }
}
.mb35 {
 margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
 .sp_center {
  text-align: center;
 }
}
@media screen and (max-width: 767px) {
 .tpl-col.sp_wide {
  width: 100%;
 }
}
.bold_300 {
 font-weight: 300;
}
.bold_400 {
 font-weight: 400;
}
.bold_500 {
 font-weight: 500;
}
.bold {
 font-weight: bold;
}
.img_cap_wrap {
 position: relative;
}
.img_cap {
 font-size: 0.8rem;
 position: absolute;
 bottom: 3px;
 right: 3px;
 padding: 5px;
 z-index: 1;
}
.img_cap.left {
 right: auto;
 left: 3px;
}
.img_cap.w {
 color: #fff;
}
@media screen and (max-width: 600px) {
 .img_cap.sp_left {
  right: auto;
  left: 3px;
 }
}
/*---------------------------------------------
HEADER
---------------------------------------------*/
.tpl-drawer {
 background-color: inherit;
 cursor: pointer;
}
.tpl-header.is-active .tpl-drawer__line {
 background-color: #fff;
}
.tpl-header.is-fixed .tpl-drawer__line {
 background-color: #3f2021;
}
.tpl-header.is-active.is-fixed .tpl-drawer__line {
 background-color: #fff;
}
.tpl-header.is-active .tpl-drawer__line .tpl-drawer {
 background: none;
}
.tpl-drawer__line {
 background: #fff;
}
.tpl-header__logo .tpl-header__svg {
 fill: #fff;
}
.tpl-header__name {
 color: #fff;
}
.tpl-drawer {
 pointer-events: none;
 opacity: 0;
}
.drawer_nav {
/*
 transform: translateY(10px);
 z-index: 2000000;
 position: absolute;
 top: calc(50% - 24px);
 right: 30px;
 width: 48px;
 height: 48px;
 transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
 background: #E5E1DC;
 border-radius: 24px;
 background-color: inherit;
 cursor: pointer;
*/
    
z-index: 2;
position: absolute;
top: calc(50% - 24px);
right: 30px;
width: 48px;
height: 48px;
transition: all 1s cubic-bezier(.19, 1, .22, 1);
border-radius: 24px;
 transform: translateY(0);
 background: #D7D2CB;
background-color: inherit;
cursor: pointer;
}
@media screen and (max-width: 768px) {
 .drawer_nav {
  transform: translateY(0);
  top: calc(50% - 22px);
  right: 12px;
  width: 44px;
  height: 44px;
 }
}
.drawer_nav::before {
 box-sizing: border-box;
 border-width: 0;
 border-style: solid;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 content: "";
 pointer-events: none;
 transition: all 1s cubic-bezier(.19, 1, .22, 1);
}
.drawer_nav .drawer_nav_line {
 background-color: #3f2021;
 position: absolute;
 display: block;
 top: 50%;
 left: 50%;
 width: 16px;
 height: 2px;
 transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.drawer_nav .drawer_nav_line:nth-child(1) {
 transform: translate(-50%, -50%) translateY(-7px);
 transform-origin: 0 .5px;
}
.drawer_nav .drawer_nav_line:nth-child(2) {
 transform: translate(-50%, -50%);
}
.drawer_nav .drawer_nav_line:nth-child(3) {
 transform: translate(-50%, -50%) translateY(7px);
 transform-origin: 0 .5px;
}
.tpl-header.is-active .drawer_nav .drawer_nav_line{
	background: #fff;
}
.tpl-header.is-active .drawer_nav .drawer_nav_line:nth-child(1) {
 transform: rotate(50deg) scaleX(1.5) translate(-50%, -50%);
}
.tpl-header.is-active .drawer_nav .drawer_nav_line:nth-child(2) {
 opacity: 0;
}
.tpl-header.is-active .drawer_nav .drawer_nav_line:nth-child(3) {
 transform: rotate(-50deg) scaleX(1.5) translate(-50%, -50%);
}
/*.tpl-header.is-fixed .drawer_nav {
 transform: translateY(0);
 background: #D7D2CB;
 background-color: inherit;
}*/
.tpl-header.is-fixed .drawer_nav .drawer_nav_line {
 background-color: #3f2021;
}
.tpl-header.is-fixed.is-active .drawer_nav .drawer_nav_line {
 background-color: #fff;
}
.tpl-header.active {
    translate: none !important;
    rotate: none !important;
    scale: none !important;
    transform: translate(0px, 0px) !important;
}
/*---------------------------------------------
共通 MV
---------------------------------------------*/
.tpl-main > .tpl-cover:first-child {
 overflow: hidden;
 padding: 0 60px calc(526% / 12.8);
}
@media screen and (max-width: 1280px) {
 .tpl-main > .tpl-cover:first-child {
  padding: 0 60px;
  height: 526px;
 }
}
@media screen and (max-width: 767px) {
 .tpl-main > .tpl-cover:first-child {
  height: 452px;
  padding: 13vw 0;
 }
}
@media screen and (min-width: 768px) {
 .tpl-main > .tpl-cover:first-child .tpl-headline {
  position: absolute;
  inset: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
 }
}
.tpl-main > .tpl-cover:first-child .tpl-headline__subtitle-jp {
 padding-top: 0;
}
.tpl-main > .tpl-cover:first-child .tpl-headline__copy {
 padding-top: 3.9vw;
}
.inner-main > .tpl-cover {
 min-height: 100px;
}
.inner-main > .tpl-cover .tpl-cover__bg {
 width: 100%;
 overflow: inherit;
}
@media screen and (max-width: 1280px) {
 .inner-main > .tpl-cover .tpl-cover__bg {
  overflow: hidden;
  height: 526px;
 }
}
@media screen and (max-width: 767px) {
 .inner-main > .tpl-cover .tpl-cover__bg {
  height: 452px;
 }
}
.inner-main > .tpl-cover .tpl-cover__bg .tpl-figure {
 height: auto;
}
@media screen and (max-width: 1280px) {
 .inner-main > .tpl-cover .tpl-cover__bg .tpl-figure {
  height: 526px;
 }
}
@media screen and (max-width: 767px) {
 .inner-main > .tpl-cover .tpl-cover__bg .tpl-figure {
  height: 452px;
 }
}
.inner-main > .tpl-cover .tpl-cover__bg .tpl-image {
 height: auto;
}
@media screen and (max-width: 1280px) {
 .inner-main > .tpl-cover .tpl-cover__bg .tpl-image {
  height: 100%;
 }
}
@media screen and (max-width: 767px) {
 .inner-main > .tpl-cover .tpl-cover__bg .tpl-image {
  height: 452px;
 }
}
.inner-main > .tpl-cover .tpl-headline__copy {
 line-height: 2;
}
/*---------------------------------------------
FOOTER
---------------------------------------------*/
.tpl-footer__num span {
 pointer-events: none;
 color: #d7d2cb;
 text-decoration: none;
}
.tpl-footer__num a {
 color: #d7d2cb;
 text-decoration: none;
}
footer .tpl-footer__button {
 color: #d7d2cb;
 justify-content: center;
 position: relative;
 padding-left: 0;
 height: 60px;
}
footer .tpl-footer__button::after {
 position: absolute;
 left: auto;
 right: 15px;
 margin: 0;
}
footer .tpl-footer__logo_wrap {
 padding: 60px 0 70px;
 display: flex;
 justify-content: center;
 grid-gap: 0 20px;
}
@media screen and (max-width: 768px) {
 footer .tpl-footer__logo_wrap {
  flex-direction: column;
  grid-gap: 25px 0;
  padding: 40px 0;
 }
}
footer .tpl-footer__logo_wrap a {
 display: inline-block;
}
@media screen and (max-width: 768px) {
 footer .tpl-footer__logo_wrap a {
  margin: 0 auto;
 }
}
footer .tpl-footer__logo_wrap a:nth-child(1) {
 width: 200px;
}
/*
@media screen and (max-width: 768px) {
 footer .tpl-footer__logo_wrap a:nth-child(1) {
  width: 186px;
 }
}
footer .tpl-footer__logo_wrap a:nth-child(1) img {
 width: 196px;
}
*/
/*
@media screen and (max-width: 768px) {
 footer .tpl-footer__logo_wrap a:nth-child(1) img {
  width: 186px;
 }
}
*/
footer .tpl-footer__logo_wrap a:nth-child(2) {
 width: 232px;
}
@media screen and (max-width: 768px) {
 footer .tpl-footer__logo_wrap a:nth-child(2) {
  width: 186px;
  height: 42px;
 }
}
footer .tpl-footer__logo_wrap a:nth-child(2) img {
 width: 232px;
}
@media screen and (max-width: 768px) {
 footer .tpl-footer__logo_wrap a:nth-child(2) img {
  width: 186px;
  height: 34px;
 }
}
footer .tpl-footer__logo_wrap a span {
 color: #fff;
 font-size: 6px;
 font-weight: bold;
 display: inline-block;
 margin-bottom: 5px;
 line-height: 1;
}
footer .tpl-footer__cta .tpl-footer__button {
 grid-column-end: span 2;
 max-width: 442px;
 margin: 0 auto;
 width: 100%;
}
footer .tpl-footer__tel {
 gap: 50px;
}
@media screen and (max-width: 768px) {
 footer .tpl-footer__tel {
  gap: 20px;
  padding-top: 15px;
 }
}
footer .tpl-footer__tel .tpl-footer__info {
 max-width: 258px;
 width: 100%;
}
footer .tpl-footer__button__wrap {
 /*     max-width: 442px;*/
 margin: 33px auto 0;
 max-width: 300px;
}
@media screen and (max-width: 768px) {
 .txt_sp_left {
  text-align: left !important;
 }
}
@media screen and (max-width: 768px) {
 .txt_sp_right {
  text-align: right !important;
 }
}
@media screen and (max-width: 768px) {
 .entry_item.tpl-cover {
  min-height: 208px !important;
 }
}
@media screen and (max-width: 768px) {
 .entry_item.tpl-cover .tpl-headline {
  text-align: center;
  margin: 0 auto;
 }
}
@media screen and (max-width: 768px) {
 .entry_item.tpl-cover .tpl-headline__subcopy {
  text-align: center;
  font-size: 1rem;
 }
}
.entry_item.tpl-cover .tpl-headline__subcopy .br_sp {
 display: none;
}
@media screen and (max-width: 768px) {
 .entry_item.tpl-cover .tpl-headline__subcopy .br_sp {
  display: block;
 }
}
@media screen and (max-width: 768px) {
 .entry_item.tpl-cover .tpl-button.tpl-button--small {
  margin: 0 auto;
 }
}
.entry_item.tpl-cover .tpl-image {
 height: 100% !important;
}
.entry_item.tpl-cover .tpl-figure {
 height: 100% !important;
}
.entry_item {
 overflow: hidden;
}
@media screen and (max-width: 768px) {
 .entry_item {
  overflow: hidden;
 }
}
.entry_item .tpl-cover__bg {
 height: 100% !important;
}
@media screen and (max-width: 768px) {
 .entry_item .tpl-cover__bg {
  height: 100% !important;
 }
}
@media screen and (min-width: 768px) {
 .entry_item {
  min-height: 100px !important;
  height: 315px !important;
 }
}
.entry_item .tpl-headline__subcopy {
 line-height: 2;
 padding-top: 0em !important;
 font-size: 1.2rem !important;
 font-weight: 400 !important;
}
@media screen and (min-width: 768px) {
 .entry_item .tpl-headline__subcopy {
  padding-top: 25px;
 }
}
@media screen and (max-width: 768px) {
 .entry_item .tpl-headline__subcopy {
  font-size: 1.2rem !important;
 }
}
@media screen and (min-width: 768px) {
 .entry_item .tpl-headline {
  padding-bottom: 0;
 }
}
.entry_item .tpl-headline__title-jp {
 font-size: 2.2rem !important;
 margin-bottom: 1em !important;
}
.entry_item .common_entry_btn:hover {
 opacity: 1;
}
.entry_item:hover .common_entry_btn {
 opacity: .8;
}
.sup_wrap {
 position: relative;
}
.sup_wrap sup {
 position: absolute;
 top: -0.3em;
 right: -0.8em;
 font-size: 60%;
 letter-spacing: 0.1em;
}
.hover_img:hover img {
 opacity: 0.8;
}
.bold_500 {
 font-weight: 500;
}
#siteWrap {
 display: flex;
 flex-direction: column;
 flex-wrap: nowrap;
 width: 100%;
}
#siteWrap header {
 order: 1;
}
#siteWrap main {
 order: 2;
}
#siteWrap footer {
 order: 3;
}
#siteWrap h1.h1Contents {
 position: relative;
 order: 4;
 width: 100%;
 background: #fff;
 box-sizing: border-box;
 padding: 30px 0px;
 font-size: 13px;
 text-align: center;
}
@media screen and (max-width: 800px) {
 #siteWrap h1.h1Contents {
  padding: 15px 0px 25px;
  font-size: 12px;
  margin-bottom: 50px;
 }
}
@media screen and (max-width: 600px) {
 .tpl-footer__list {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 5px 20px;
 }
}
.read_btn.concept_detail a.color01 {
    background: #888 !important;
    color: #fff;
}
.tpl-footer__button--single {
    width: calc(50% - 30px);
    margin: 30px auto 0;
}
.tpl-footer__button {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    height: 88px;
    background-color: #0003;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: .05em
}
.tpl-footer__button:after {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 24px;
    height: 24px;
    transform: translateY(.025em);
    transform: translateY(-50%);
    transform-origin: 50% 50%;
    content: "";
    font-size: 24px;
    font-family: Material Symbols Outlined;
    font-variation-settings: "FILL" 0,"wght" 200,"GRAD" 0,"opsz" 24
}
@media screen and (max-width: 768px) {
    .tpl-footer__button--single {
        width: 100%;
    }
}