@charset "UTF-8";

:root {
--bgc1: #f4ecdf;
--bgc2: #f9f6f2;
--purple1: #b466a8;
--purple2: #71548c;
--purple3:#861673;
--pink: #f48a9e;
--text: #3c2d54;
--green: #06c755;
--orange: #ec9f64;
--orange2: #e7853b;
--base_padding: 40px;
--header_h: 101px;
}
@media screen and (max-width: 1199px) {
  :root {
  --base_padding: 30px;
  --header_h: 90px;
  }
}
@media screen and (max-width: 767px) {
  :root {
  --base_padding: 15px;
  --header_h: 60px;
  }
}

/*-------------------------
__base_style
-------------------------*/
body{color: var(--text);opacity: 0;transition: opacity .5s;}
body.fix {overflow: hidden;}
.wf-active body{opacity: 1;}

/*-------------------------
__header
-------------------------*/
#header{width: 100%;backdrop-filter: blur(5px);transition: background-color .3s;z-index: 9;position: fixed;top: 0;left: 0;}
#wrap.active #header {background-color: rgba(255, 255, 255, 0.7);}
#header .inner{margin: 0 auto;padding: calc(var(--base_padding) / 2) var(--base_padding);display: flex;justify-content: space-between;}
#header .inner .chiba_logo{display: block;}
#header .inner .global_nav ul{height: 100%;display: flex;align-items: center;}
#header .inner .global_nav ul li{font-size: 1.4em;line-height: 2em;font-weight: 700;padding: 0 1em;}
#header .inner .global_nav ul li .navi{font-size: 14px;line-height: 2em;font-weight: 700;text-decoration: none;color: var(--text);padding: 0;border: none;background-color: transparent;cursor: pointer;transition: opacity .3s;}
#header .inner .global_nav ul li .navi span{padding-left: 1em;display: block;position: relative;}
#header .inner .global_nav ul li .navi span::before{content: "";width: 0.5em;height: 0.5em;clip-path: polygon(0 0, 100% 50%, 0 100%);background-color: var(--purple1);position: absolute;left: 0;top: 0.75em;}
#header .inner .toggle_btn{display: none;}

@media screen and (min-width: 768px) {
  #header .inner .global_nav ul li .navi:hover{opacity: 0.5;}
}
@media screen and (max-width: 1199px) {
  #header .inner{padding: 20px var(--base_padding);}
  #header .inner .chiba_logo{height: 50px;}
  #header .inner .chiba_logo img{width: auto;height: 100%;}
}
@media screen and (max-width: 767px) {
  #header .inner .chiba_logo{height: 30px;z-index: 1;}
  #header .inner .global_nav{width: 100vw;height: 100vh;height: 100svh;height: 100dvh;padding: 75px var(--base_padding);background-color: #fff;box-sizing: border-box;opacity: 0;transition: opacity .3s;transition-delay: visibility;display: none;justify-content: center;position: fixed;top: 0;left: 0;}
  #header .inner .global_nav ul{flex-direction: column;align-items: flex-start;padding-top: 40px;}
  #header .inner .global_nav ul li{font-size: 1.5em;padding: 0;}
  #header .inner .global_nav ul li .navi{font-size: 15px;}
  #header .inner .toggle_btn{width: 30px;height: 30px;border: none;background-color: transparent;padding: 0;display: block;position: relative;}
  #header .inner .toggle_btn>i{height: 100%;display: block;}
  #header .inner .toggle_btn>i>span{width: 20px;height: 2px;background-color: var(--text);border-radius: 1px;margin-top: -1px;margin-left: -10px;transition: transform .3s, opacity .3s;display: inline-block;position: absolute;left: 50%;top: 50%;}
  #header .inner .toggle_btn>i>span:nth-child(2){transform: translateY(-7px);}
  #header .inner .toggle_btn>i>span:nth-child(3){transform: translateY(7px);}
  #header .inner .toggle_btn.open>i>span:nth-child(1){opacity: 0;}
  #header .inner .toggle_btn.open>i>span:nth-child(2){transform: translateY(0) rotate(225deg);}
  #header .inner .toggle_btn.open>i>span:nth-child(3){transform: translateY(0) rotate(-225deg);}
}

/*-------------------------
__content
-------------------------*/
#content #main{display:block;}

.inner{width: 100%;max-width: 1200px;margin: calc(var(--header_h) * -1) auto 0;padding: var(--header_h) var(--base_padding) 0;box-sizing: border-box;}
.btn{font-weight: 700;color: #fff;text-decoration: none;padding: 1em 2em 1em 4em;background-color: var(--purple1);border: none;border-radius: 2em;box-sizing: border-box;cursor: pointer;transition: background-color .3s, transform .3s;display: inline-block;position: relative;}
.btn::before{content: "";width: 2em;height: 2em;background-color: #fff;border-radius: 50%;position: absolute;top: 1em;left: 1em;}
.btn::after{content: "";width: 0.5em;height: 0.5em;clip-path: polygon(0 0, 100% 50%, 0 100%);background-color: var(--purple1);transition: background-color .3s;position: absolute;left: 1.8em;top: 1.75em;}
.btn>span{line-height: 2em;display: block;}
.block_txt{font-size: 1.6em;line-height: 2em;text-align: center;}
.card_bg{background-color: #fff;padding: calc(var(--base_padding) * 0.75) var(--base_padding) var(--base_padding);border-radius: var(--base_padding) 0;box-sizing: border-box;}
.underline {position: relative;display: inline-block;}
.underline::after {content: "";position: absolute;left: 0;bottom: 0.15em;width: 100%;height: 3px;background-image: radial-gradient(circle,var(--pink) 0,var(--pink) 1.5px,transparent 1.5px);background-size: 6px 3px;background-position: left center;background-repeat: repeat-x;pointer-events: none;}

@media screen and (min-width: 768px) {
  .btn:hover,
  .btn:hover::after{background-color: var(--purple3);}
  .btn:hover{transform: scale(1.1);}
}
@media screen and (max-width: 1199px) {
  .card_bg{padding: var(--base_padding);}
}
@media screen and (max-width: 767px) {
  .underline{display: inline;}
  .underline::after{content: none;}
}

/*-------------------------
__footer
-------------------------*/
#footer>.inner{margin: 0 auto;padding: var(--base_padding);display: flex;justify-content: space-between;}
#footer>.inner .footer_l{display: flex;justify-content: flex-start;}
#footer>.inner .footer_l .footer_txt{font-size: 1.2em;line-height: 1.75em;text-align: left;padding-left: var(--base_padding);}
#footer>.inner .footer_r .global_nav{height: 100%;}
#footer>.inner .footer_r .global_nav ul{height: 100%;display: flex;align-items: center;}
#footer>.inner .footer_r .global_nav ul li{font-size: 1.4em;line-height: 2em;font-weight: 700;padding: 0 1em;}
#footer>.inner .footer_r .global_nav ul li .navi{font-size: 14px;line-height: 2em;font-weight: 700;text-decoration: none;color: var(--text);padding: 0;border: none;background-color: transparent;cursor: pointer;transition: opacity .3s;}
#footer>.inner .footer_r .global_nav ul li .navi span{padding-left: 1em;display: block;position: relative;}
#footer>.inner .footer_r .global_nav ul li .navi span::before{content: "";width: 0.5em;height: 0.5em;clip-path: polygon(0 0, 100% 50%, 0 100%);background-color: var(--purple1);position: absolute;left: 0;top: 0.75em;}
#footer .copyright{background-color: var(--text);}
#footer .copyright .inner{height: 24px;font-size: 1.2em;font-weight: 700;color: #fff;line-height: 1.5em;text-align: left;margin: 0 auto;padding: 0 var(--base_padding);display: flex;justify-content: center;align-items: center;}

@media screen and (min-width: 768px) {
  #footer>.inner .footer_r .global_nav ul li .navi:hover{opacity: 0.5;}
}
@media screen and (max-width: 1199px) {
  #footer>.inner{flex-direction: column;align-items: center;gap: var(--base_padding);}
}
@media screen and (max-width: 999px) {
  #footer>.inner .footer_l .chiba_logo{height: 50px;}
  #footer>.inner .footer_l .chiba_logo img{width: auto;height: 100%;}
}
@media screen and (max-width: 767px) {
  #footer>.inner{padding: calc(var(--base_padding) * 2) var(--base_padding);}
  #footer>.inner .footer_l{flex-direction: column;gap: var(--base_padding);}
  #footer>.inner .footer_l .chiba_logo{height: 40px;}
  #footer>.inner .footer_r .global_nav ul{flex-direction: column;align-items: flex-start;}
  #footer .copyright{margin-bottom: 78px;}
  #footer .copyright .inner{height: auto;font-size: 10px;text-align: center;padding: 5px var(--base_padding);}
}

/*-------------------------
__re_top
-------------------------*/
.re_top{width: 5em;height: 5em;font-size: 12px;font-weight: 700;line-height: 1.5em;display: none;position: fixed;right: var(--base_padding);bottom: var(--base_padding);}
.re_top>a{height: 100%;color: #fff;text-decoration: none;background-color: var(--text);border-radius: 50%;transition: background-color .3s;display: flex;justify-content: center;align-items: center;}
.re_top>a>span{padding-top: 0.75em;position: relative;}
.re_top>a>span::before{content: "";width: 0.75em;height: 0.75em;border-style:solid;border-color: #fff;border-width: 2px 2px 0 0;transform: translateX(-50%) rotate(-45deg);position: absolute;top: 0;left: 50%;}

@media screen and (min-width: 768px) {
  .re_top>a:hover{background-color: var(--purple2);}
}

@media screen and (max-width: 767px) {
  .re_top{font-size: 10px;bottom: calc(78px + var(--base_padding));}
}

/*-------------------------
__line_qr
-------------------------*/
.line_qr{padding: 20px;background-color: #fff;border-radius: 10px;position: fixed;opacity: 1;left: var(--base_padding);bottom: var(--base_padding);}
.line_qr .close{width: 24px;height: 24px;background-color: var(--text);border: none;border-radius: 50%;cursor: pointer;position: absolute;top: -6px;right: -6px;}
.line_qr .close::before,
.line_qr .close::after{content: "";width: 16px;height: 3px;background-color: #fff;position: absolute;top: 50%;left: 50%;}
.line_qr .close::before{transform: translate(-50%, -50%) rotate(45deg);}
.line_qr .close::after{transform: translate(-50%, -50%) rotate(-45deg);}
.line_qr .line_wrap .line_inner{display: flex;}
.line_qr .line_wrap .line_inner .line_txt{text-align: left;padding-left: 20px;}
.line_qr .line_wrap .line_inner .line_txt .block_txt{font-size: 16px;line-height: 1.5em;text-align: left;font-weight: 700;}
.line_qr .line_wrap .line_inner .line_txt .block_txt>span{color: var(--green);}
.line_qr .line_wrap .line_inner .line_txt p:not(.block_txt){font-size: 1.4em;line-height: 2em;}
.line_qr .line_wrap .line_tag{padding-top: 20px;display: flex;gap: 10px;}
.line_qr .line_wrap .line_tag li{font-size: 1.2em;line-height: 2em;font-weight: 700;background-color: var(--bgc1);padding: 0.5em;box-sizing: border-box;border-radius: 0.5em;flex: 1;}

@media screen and (max-width: 767px) {
  .line_qr{display: none;}
}

/*-------------------------
__sp_fix_btn
-------------------------*/
.sp_fix_btn{display: none;}
@media screen and (max-width: 767px) {
  .sp_fix_btn{width: 100%;display: block;padding: var(--base_padding);box-sizing: border-box;background-color: var(--text);position: fixed;left: 0;bottom: 0;}
  .sp_fix_btn .inner{margin: 0;padding: 0;display: flex;gap: var(--base_padding);}
  .sp_fix_btn .inner li{width: calc((100% - var(--base_padding) / 2));}
  .sp_fix_btn .inner li .btn{width: 100%;height: 48px;font-size: 12px;background-color: var(--orange);padding: 1em 1em 1em 3em;display: flex;justify-content: center;align-items: center;}
  .sp_fix_btn .inner li .btn>span{line-height: 1.25em;}
  .sp_fix_btn .inner li .btn::after{background-color: var(--orange);}
  .sp_fix_btn .inner li.line .btn{color: var(--text);background-color: #fff;}
  .sp_fix_btn .inner li.line .btn::before{background-color: var(--green);}
  .sp_fix_btn .inner li.line .btn::after{background-color: #fff;}
  .sp_fix_btn .inner li.line .btn>span>.green{color: var(--green);}
  .sp_fix_btn .inner li.line .btn>span>.small{font-size: min(10px, 2.25vw);white-space: nowrap;display: block;}
}
@media screen and (max-width: 374px) {
  .sp_fix_btn .inner li .btn{font-size: 11px;padding: 1em 0.5em 1em 3.5em;}
}

/*-------------------------
__error
-------------------------*/
#error #content{min-height: calc(100vh - 167px);padding: 101px var(--base_padding);background-color: var(--bgc2);box-sizing: border-box;display: flex;flex-direction: column;justify-content: center;align-items: center;}
#error #content article{width: 100%;}
#error #content article #main #contents{width: 100%;max-width: 1120px;margin: 0 auto;background-color: #fff;padding: 120px var(--base_padding);border-radius: var(--base_padding) 0;box-sizing: border-box;}
#error #content article #main #contents h1{font-size: 28px;line-height: 1.25em;font-weight: 700;text-align: center;padding-bottom: 1em;}
#error #content article #main #contents .error .contents_sub_com{font-size: 16px;line-height: 2em;text-align: center;}
#error #content article #main #contents .block_btn{padding-top: var(--base_padding);}
#error #content article #main #contents .block_btn .btn{width: 272px;font-size: 1.6em;}
@media screen and (max-width: 767px) {
  #error #content{min-height: calc(100vh - 402px);padding: 70px var(--base_padding) 50px;}
  #error #content article #main #contents{padding: 40px var(--base_padding);}
  #error #content article #main #contents h1{font-size: 18px;}
  #error #content article #main #contents .error .contents_sub_com{font-size: 14px;}
  #error #content article #main #contents .block_btn .btn{width: auto;font-size: 1.4em;}
}