@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Overpass:ital,wght@0,100..900;1,100..900&family=Smooch+Sans:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Maru+Gothic:wght@400;700;900&display=swap');
@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#000000;}
a:visited{text-decoration:none; color:#000000;}
a:hover{text-decoration:none; color:#000000;}
a:active{text-decoration:none; color:#000000;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1040px; padding-left: 35px; padding-right: 35px; }
.zen-maru-gothic-regular { font-family: "Zen Maru Gothic", sans-serif; font-weight: 400; font-style: normal; }
.zen-maru-gothic-bold { font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-style: normal; }
.zen-kaku-gothic-new-regular { font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 400; font-stye: normal; }
.zen-kaku-gothic-new-bold { font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 700; font-style: normal; }
.smooch-sans { font-family: "Smooch Sans", sans-serif; font-optical-sizing: auto; font-weight: 300; font-style: normal; }
.overpass { font-family: "Overpass", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; }
.josefin-sans { font-family: "Josefin Sans", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: italic; }
h1,h2,h3,h4,h5,h6 { line-height: 1.75; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
body { min-width: 1090px; font-size: 14px; letter-spacing: .075em; line-height: 1.8; color: #000000; background-color: #fff; font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 500; background-color: #ffffff; background-image: radial-gradient(circle, #fdf3b6 2.5px, transparent 2.5px), radial-gradient(circle, #fdf3b6 2.5px, transparent 2.5px); background-position: 0 0, 7.5px 15px; background-size: 15px 30px; background-attachment: fixed; }
header { min-width: 375px; width: 375px; max-width: 100%; position: fixed; left: 0; right: 0; top: 0; z-index: 100; padding: 15px 15px; transition: .3s; margin: 0 auto; display: flex; justify-content: space-between; }
.menu-trg-area { position: relative; display: none; width: 40px; height: 40px; border-radius: 3px; cursor: pointer; }
.menu-trigger,
.menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
.menu-trigger { position: absolute; top: 13px; width: 30px; height: 13px; z-index: 2; left: 0; right: 0; margin: auto;}
.menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #040000;}
.menu-trigger span:nth-of-type(1) { top: 0;}
.menu-trigger span:nth-of-type(2) { top: 6px;}
.menu-trigger span:nth-of-type(3) { bottom: 0;}
.menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
.menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
.menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -14px;}
main { background-color: #fff; }
main,
footer { position: relative; min-width: 375px; width: 375px; max-width: 100%; margin-left: auto; margin-right: auto; overflow: hidden; }
footer { background-color: #ffe100; padding: 35px 0 30px; }
footer .logo { margin-bottom: 15px; }
footer ul li { margin-bottom: 10px; }
footer ul li:last-child { margin-bottom: 0; }
footer ul li a { position: relative; display: inline-block; font-size: 14px; letter-spacing: .05em; color: #000; transition: .3s; }
footer ul li a:hover { color: #e50019; }
footer ul li a:before { content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 0%; background-color: #e50019; transition: .3s; border-radius: 100px; }
footer ul li a:hover:before { width: 100%; }
footer .copyright { font-size: 11px; font-family: "Zen Maru Gothic", sans-serif; letter-spacing: .05em; font-weight: 700; margin-top: 25px; }
.footer-contact { position: relative; min-width: 375px; width: 375px; max-width: 100%; margin-left: auto; margin-right: auto; overflow: hidden; background-color: #fff; }
.bg-polka { background-color: #ffffff; background-image: radial-gradient(circle, #fdf3b6 2.5px, transparent 2.5px), radial-gradient(circle, #fdf3b6 2.5px, transparent 2.5px); background-position: 0 0, 7.5px 15px; background-size: 15px 30px; background-attachment: fixed; }
.bg-polka-yellow { background-color: #fbe148; background-image: radial-gradient(circle, #fcea68 2.5px, transparent 2.5px), radial-gradient(circle, #fcea68 2.5px, transparent 2.5px); background-position: 0 0, 7.5px 15px; background-size: 15px 30px; background-attachment: fixed; }
.bg-gray { background-color: #e3e3e3; }
.bg-blue { background-color: #91d9ea; }
.bg-yellow { background-color: #ffe100; }
.bg-cream { background-color: #fefbe9; }
.nowrap { white-space: nowrap; }
.color-blue { color: #23b2d6; }
.gnav { position: fixed; left: 0; width: calc(50% - 187px); top: 0; bottom: 0; z-index: 100; min-height: 100vh; overflow: auto; padding: 40px 0 40px; }
.gnav .container-fluid { max-width: 390px; }
.gnav .add-button { width: 300px; text-align: center; }
.gnav .add-button .button-red { width: 100%; }
.gnav .main-menu li { margin-bottom: 12px; letter-spacing: .15em; line-height: 1.5; }
.gnav .main-menu a { transition: .3s; position: relative; display: inline-block; }
.gnav .main-menu a:before { content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 0%; background-color: #e50019; transition: .3s; border-radius: 100px; }
.gnav .main-menu a:hover { color: #e50019; }
.gnav .main-menu a:hover:before { width: 100%; }
.right-contents { position: fixed; right: 0; width: calc(50% - 187px); top: 0; bottom: 0; z-index: 100; min-height: 100vh; padding: 0; }
.right-contents .icon1 { position: absolute; left: 10px; top: 5px; z-index: 1; }
.right-contents .icon2 { position: absolute; left: 20px; bottom: -12px; z-index: 1; }
.right-contents .fixed-slider .img { height: 100vh; width: 100%; }
.button-red { display: inline-block; background-color: #e50019; color: #fff!important; padding: 14px 60px 14px 50px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 16px; line-height: 1.5; border-radius: 1000px; text-decoration: none; transition: all .3s; position: relative; max-width: 100%; }
.button-red .arrow { position: absolute; right: 30px; top: 0; bottom: 0; margin: auto 0; }
.button-red:hover { background-color: #d40016; color: #fff!important; text-decoration: none; }
.button-yellow { display: block; background-color: #ffe100; color: #000!important; padding: 12px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 16px; line-height: 1.5; border-radius: 1000px; text-decoration: none; transition: all .3s; position: relative; max-width: 100%; border: 2px solid #000; text-align: center; cursor: pointer; }
.button-yellow .arrow { position: absolute; right: 30px; top: 0; bottom: 0; margin: auto 0; }
.button-yellow:hover { background-color: #d4b800; color: #fff!important; text-decoration: none; }
.button-yellow .next-arrow { position: absolute; right: 20px; top: 0; bottom: 0; margin: auto 0; }
.button-yellow .prev-arrow { position: absolute; left: 20px; top: 0; bottom: 0; margin: auto 0; }
.firstview { padding: 70px 25px 20px; position: relative; }
.firstview .main-image img { max-width: none; width: 135%; position: relative; left: -20px; }
.firstview .main-content { position: relative; }
.firstview .main-content:before { content: ""; position: absolute; left: -12px; top: 12px; background-image: url(../images/fv_shadow.png); background-size: cover; background-position: center; width: 448px; height: 365px; }
.firstview .main-content .icons { position: absolute; z-index: 2; }
.firstview .main-content .icon1 { top: 0; left: -5px; z-index: 0; }
.firstview .main-content .icon2 { bottom: -13px; right: 51px; z-index: 3; }
.firstview .main-content .icon3 { right: -3px; bottom: 44px; }
.firstview .main-content .star1 { top: -2px; left: 85px; }
.firstview .main-content .star2 { top: -30px; right: 70px; }
.firstview .main-content .star3 { left: 7px; bottom: 15px; }
.firstview .main-content .star4 { right: 0; bottom: 145px; }
.firstview .main-content .star5 { right: 8px; bottom: 9px; }
.firstview .main-slider { mask-image: url(../images/fv_bgmask.png); -webkit-mask-image: url(../images/fv_bgmask.png); mask-size: cover; -webkit-mask-size: cover; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; position: relative; z-index: 1; width: 440px; margin-top: 20px; margin-left: -10px; }
.firstview .main-slider figure { position: relative; padding-top: 80%; }
.firstview .main-slider figure img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.firstview .message { text-align: center; }
.firstview .scroll { position: absolute; right: 20px; bottom: 35px; animation: floatY 2s ease-in-out infinite; }
.firstview .fv-news { background-color: #fff; display: block; width: 230px; margin-top: 25px; border-radius: 5px; padding: 6px 10px; }
.firstview .fv-news .date { color: #808080; font-size: 14px; letter-spacing: .05em; display: inline-block; border-bottom: 1px solid #808080; line-height: 1.3; }
.firstview .fv-news .name { font-size: 12px; margin-top: 3px; }
.icon-title { text-align: center; }
.icon-title .icon { margin-bottom: 20px; }
.icon-button .icon { margin-left: auto; margin-right: auto; display: block; }
hr.min { width: 18px; border-top: 1px solid #231815; border-bottom: none; margin: 25px auto;}
hr.yellow-dots { background-image: radial-gradient(circle, #f4d924 1.5px, transparent 1.5px); background-position: left top; background-repeat: repeat-x; background-size: 8px 3px; border: none; height: 4px; margin: 25px 0; }
hr.blue-dots-min { background-image: radial-gradient(circle, #23b2d6 1px, transparent 1px); background-position: left top; background-repeat: repeat-x; background-size: 5px 3px; border: none; height: 4px; margin: 25px 0; }
.fixed-title-wrapper { position: relative; min-height: 300px; }
.fixed-title { position: absolute; writing-mode: vertical-rl; text-orientation: mixed; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 24px; letter-spacing: .15em; right: 25px; top: 45px; z-index: 2; line-height: 1.2; }
.fixed-title img { position: relative; margin-left: -12px; margin-bottom: .2em; }
.fixed-title div { position: relative; line-height: 1; padding-top: 3px; padding-bottom: 3px; display: inline-block; margin-left: 7px; }
.fixed-title div:before { content: ""; background-color: #ffe100; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; z-index: 0; }
.fixed-title span { position: relative; z-index: 1; }
.fixed-title.white div:before { background-color: #fff; }
.yellow-box { border: 4px solid #ffe100; background-color: #fff; position: relative; }
.yellow-box-title { position: absolute; left: 0; top: 0; width: 80px; height: 80px; border-right: 4px solid #ffe100; display: flex; align-items: center; justify-content: center; }
.blue-box-title { position: absolute; left: 0; top: 0; width: 50px; height: 50px; border-right: 4px solid #23b2d6; display: flex; align-items: center; justify-content: center; }
.blue-box-title .number { font-family: "Josefin Sans", sans-serif; font-optical-sizing: auto; font-weight: 700; color: #23b2d6; text-align: center; font-size: 31px; letter-spacing: 0; line-height: 1; margin-top: -3px; }
.staff-list li { margin-bottom: 40px; }
.staff-list-box .names { position: relative; padding-left: 25px; }
.staff-list-box .names .num { position: absolute; left: 0; top: -5px; margin: auto 0; }
.staff-list-box .names .name { position: absolute; left: 60px; width: 145px; height: 37px; top: 5px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 16px; color: #23b2d6; }
.staff-list-box .names .name small { font-weight: bold; }
.staff-list-box .photo { width: 230px; margin-left: auto; margin-right: auto; margin-top: -35px; }
.section-news { position: relative; }
.section-news .bg-icon { position: absolute; right: 25px; top: -8px; }
.news-list li { margin-bottom: 5px; }
.news-list li:last-child { margin-bottom: 0; }
.news-list.v2 li { margin-bottom: 13px; padding-bottom: 17px; border-bottom: 1px dashed rgba(128,128,128.5); }
.news-list.v2 li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.news-list-box { display: block; }
.news-list-box .date { color: #808080; font-size: 12px; letter-spacing: .05em; display: inline-block; border-bottom: 1px solid #808080; line-height: 1.3; }
.news-list-box .name { font-size: 12px; transition: .3s; }
.news-list-box:hover .name { color: #e50019; }
.news-list-box.v2 .name { position: relative; padding-right: 15px; }
.news-list-box.v2 .name:before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; background-image: url(../images/news_arrow.svg); width: 6px; height: 10px; background-position: center; background-repeat: no-repeat; }
.full-image { margin-left: -35px; margin-right: -35px; }
.box-shadow { box-shadow: 0 2px 5px rgba(0,0,0,.2); }
.right-slider-wrapper { position: relative; }
.right-slider-wrapper:before { content: ""; position: absolute; right: -35px; z-index: 1; width: 35%; height: 102%; background-color: #ffffff; background-image: radial-gradient(circle, #fdf3b6 2.5px, transparent 2.5px), radial-gradient(circle, #fdf3b6 2.5px, transparent 2.5px); background-position: 0 0, 7.5px 15px; background-size: 15px 30px; background-attachment: fixed; }
.right-slider { overflow: visible!important; }
.right-slider .slick-list,
.right-slider .slick-track { overflow: visible!important; }
.right-slider .slick-slide { padding: 0 3px; }
.right-slider .next-button { position: absolute; right: 0; bottom: 12px; z-index: 2; cursor: pointer; }
.slide-card { position: relative; overflow: hidden; display: block; border-radius: 7px; }
.slide-card .name { position: absolute; right: 15px; top: 20px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 12px; color: #fff; writing-mode: vertical-rl; text-orientation: mixed; letter-spacing: .15em; }
.merit-hero { position: relative; }
.merit-hero .main-image img { max-width: none; width: 120%; position: relative; left: 7px; margin-top: -35px; }
.merit-hero .main-message { margin-top: -10px; letter-spacing: .15em; }
.marker { background: linear-gradient(transparent 80%, #f4d924 60%); background-position: center -2px; }
.common-title { line-height: 1.6; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .04em; margin-bottom: 20px; position: relative; color: #23b2d6; }
.border-top-none { border-top: none; }
.merit1 .imgborder-title { text-align: center; color: #23b2d6; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 16px; letter-spacing: .04em; margin-bottom: 20px; position: relative; }
.merit1 .imgborder-title * { line-height: 1.3125; }
.merit3 { position: relative; }
.merit3 .bg-icon { position: absolute; right: 13px; bottom: -7px; z-index: 1; }
.make-product { margin-bottom: 28px; }
.make-product .photo { position: relative; padding-top: 100%; margin-bottom: 10px; }
.make-product .photo img { position: absolute; object-fit: cover; left: 0; top: 0; width: 100%; height: 100%; }
.make-product .number { position: absolute; left: 0; right: 0; margin: 0 auto; top: -15px; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 18px; letter-spacing: 0; color: #fff; background: #23b2d6; border-radius: 100%; z-index: 1; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; line-height: 1; padding-bottom: 3px; }
.make-product .name { font-size: 16px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; text-align: center; margin-bottom: 10px; }
.make-product .description { line-height: 1.35; color: #000; font-weight: 400; }
.miryoku-list { margin-left: auto; margin-right: auto; width: 270px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.miryoku-list .border-beside { width: 110px; background-image: radial-gradient(circle, #f4d924 2px, transparent 2px); background-position: left top; background-repeat: repeat-x; background-size: 10px 4px; border: none; height: 4px; margin: 25px 0 12px; }
.miryoku-list .border-vertical { height: 190px; background-image: radial-gradient(circle, #f4d924 2px, transparent 2px); background-position: left top; background-repeat: repeat-y; background-size: 4px 10px; border: none; width: 4px; }
.miryoku-list .item { width: 110px; }
.miryoku-list .full { width: 100%; }
.merit-message { position: relative; padding: 12px 15px 0; }
.merit-message .fukidashi { position: absolute; left: 0; top: 0; width: 100%; }
.merit-message .title { position: relative; color: #23b2d6; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 17px; letter-spacing: .04em; margin-bottom: 5px; text-align: center; }
.merit-message p { position: relative; font-size: 13px; letter-spacing: .026em; line-height: 1.384; }
.merit-message .icon { margin-top: -28px; position: relative; margin-left: -25px; }
.story-hero { position: relative; padding: 0 35px; }
.story-hero .topimg { top: -17px; position: relative; margin-bottom: 6px; }
.story-hero .topimg .thumb { margin-left: -10px; }
.story-hero .topimg .icon { position: absolute; left: 50px; right: 0; bottom: -20px; margin: 0 auto; }
.story-hero .thumb { width: 190px; }
.story-hero .bottomimg { position: relative; display: flex; margin-left: -55px; margin-right: -45px; justify-content: space-between; margin-top: -30px; }
.story-hero .bottomimg .left { padding-top: 85px; margin-bottom: -25px; }
.flow-list li { margin-bottom: 27px; }
.flow-list li:last-child { margin-bottom: 0; }
.flow-list.v2 li { position: relative; margin-bottom: 0; }
.flow-list.v2 li:after { content: ""; height: 35px; display: block; margin-left: auto; margin-right: auto; background-image: radial-gradient(circle, #f4d924 2px, transparent 2px); background-position: left top; background-repeat: repeat-y; background-size: 3px 7px; border: none; width: 3px; }
.flow-list.v2 li:last-child:after { display: none; }
.flow-list.v3 li { position: relative; margin-bottom: 25px; }
.flow-list.v3 li:last-child { margin-bottom: 15px; }
.flow-item .label { width: 135px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 15px; letter-spacing: .04em; color: #23b2d6; border: 4px solid #f4d924; border-radius: 12px; text-align: center; background-color: #fff; padding: 4px 0; margin-left: auto; margin-right: auto; margin-bottom: 18px; position: relative; z-index: 2!important; }
.flow-item .label:before { content: ""; position: absolute; left: 0; right: 0; margin: 0 auto; top: calc(100% + 2px); height: 20px; width: 4px; background-color: #f4d924; }
.flow-item .contents { border: 4px solid #f4d924; border-radius: 12px; padding: 15px 15px 20px; background-color: #fefbe9; position: relative; z-index: 1; }
.flow-item .contents .icon { position: absolute; right: 0; bottom: calc(100% + 4px); }
.flow-item .contents .title { font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 14px; letter-spacing: -.02em; margin-bottom: 15px; text-align: center; text-decoration: underline; text-underline-offset: 7px; }
.flow-item .contents .description { font-weight: 400; font-size: 13px; line-height: 1.46; }
.flow-item .label.double { margin-bottom: 15px; margin-left: 0; width: 210px; }
.flow-item .label.double:before { left: 22px; right: auto; }
.flow-item .label.double:after { content: ""; position: absolute; left: auto; right: 22px; margin: 0 auto; top: calc(100% + 2px); height: 20px; width: 4px; background-color: #f4d924; }
.flow-item.v2 .label { margin-bottom: -15px; }
.flow-item.v2 .label:before { display: none; }
.flow-item.v2 .contents { padding-top: 20px; }
.flow-item.v3 .photo { margin-bottom: 18px; }
.flow-item.v3 .contents { border: none; background: none; padding: 0; z-index: 3; }
.flow-item.v3 .contents .icon { bottom: 100%; }
.timeschedule { position: relative; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; }
.timeschedule:before { content: ""; position: absolute; width: 4px; height: calc(100% - 15px); left: 16px; top: 4px; background-image: radial-gradient(circle, #23b2d6 1px, transparent 1px); background-position: left top; background-repeat: repeat-y; background-size: 2px 6px; }
.timeschedule dl { display: flex; align-items: flex-start; margin-bottom: 15px; }
.timeschedule dl:last-child { margin-bottom: 0; }
.timeschedule dl dt { width: 60px; color: #23b2d6; font-weight: 900; font-size: 18px; letter-spacing: .05em; position: relative; background-color: #fefbe9; }
.timeschedule dl dd { width: calc(100% - 60px); padding-top: 2px; }
.timeschedule dl dd .name { font-size: 16px; letter-spacing: .01em; }
.timeschedule dl dd p { font-size: 14px; line-height: 1.4; margin-top: 3px; }
.blue-comment-top { position: relative; margin-top: 30px; border: 1px solid #23b2d6; color: #23b2d6; font-weight: 700; font-family: "Zen Maru Gothic", sans-serif; font-size: 17px; letter-spacing: .1em; line-height: 1.41; padding: 10px 10px; text-align: center; border-radius: 3px; }
.blue-comment-top .bg { position: absolute; bottom: 100%; left: 0; right: 0; margin: 0 auto; pointer-events: none; }
.wave-circle { width: 85px; height: 85px; background-image: url(../images/label_wave.svg); background-position: center; background-size: cover; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 38px; font-family: "Josefin Sans", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: italic; letter-spacing: 0; line-height: 1; padding-right: 2px; padding-top: 2px; }
.wave-circle.min { width: 46px; height: 46px; font-size: 22px; }
.senpai-list li { margin-bottom: 30px; }
.senpai-list li:last-child { margin-bottom: 0; }
.senpai-item { text-align: center; display: block; }
.senpai-item .photo { position: relative; padding-top: 30px; width: 190px; margin-left: auto; margin-right: auto; margin-bottom: 15px; max-width: 100%; }
.senpai-item .photo img { border-radius: 100%; }
.senpai-item .photo .number { position: absolute; left: 0; top: 0; }
.senpai-item .name { font-size: 22px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; letter-spacing: .04em; margin-bottom: 5px; text-decoration: underline; text-underline-offset: 7px; }
.senpai-item .name span { font-size: 15px; }
.senpai-item .position { font-size: 18px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; letter-spacing: .1em; margin-bottom: 5px; text-decoration: underline; text-underline-offset: 6px; }
.senpai-item.mini .photo { width: 115px; padding-top: 15px; margin-bottom: 10px; }
.senpai-item.mini .photo .number { width: 50px; height: 50px; font-size: 24px; }
.senpai-item.mini .name { font-size: 15px; }
.senpai-item.mini .name span { font-size: 12px; }
.senpai-item.mini .position { font-size: 13px; }
.mini-slider .slick-prev-mini { position: absolute; top: 0; bottom: 25%; left: 26%; margin: auto 0; z-index: 1; cursor: pointer; }
.mini-slider .slick-next-mini { position: absolute; top: 0; bottom: 25%; right: 26%; margin: auto 0; z-index: 1; cursor: pointer; }
.interview .yellow-box-title { z-index: 2; }
.interview-hero { position: relative; padding: 200px 0 180px; overflow: hidden; }
.interview-hero .description { text-align: center; }
.interview-hero .thumb1 { position: absolute; left: -67px; top: 20px; } 
.interview-hero .thumb2 { position: absolute; right: 0; top: -33px; }
.interview-hero .thumb3 { position: absolute; left: -45px; top: 360px; }
.interview-hero .thumb4 { position: absolute; left: 105px; top: 420px; }
.interview-hero .thumb5 { position: absolute; right: -88px; top: 340px; }
.interview-list { display: flex; flex-wrap: wrap; margin-left: -11px; margin-right: -11px; }
.interview-list li { width: 50%; padding: 0 11px; margin-bottom: 20px; }
.interview-item .photo { position: relative; padding: 23px 5px 0; }
.interview-item .photo .number { position: absolute; left: 0; right: 0; top: 0; margin: 0 auto; z-index: 1; }
.interview-item .name { background-image: url(../images/interview_fukidashi.svg); background-position: center; height: 47px; width: 100%; background-size: cover; margin-top: -6px; position: relative; z-index: 1; font-size: 14px; font-weight: bold; font-family: "Zen Maru Gothic", sans-serif; letter-spacing: .04em; color: #23b2d6; display: flex; align-items: center; justify-content: center; padding-top: 12px; }
.interview-item .name span { font-size: 10px; }
.story-single-item { padding-top: 35px; position: relative; }
.story-single-item .eyecatch { margin-left: -70px; position: relative; z-index: 1; }
.story-single-item .position { margin-left: auto; margin-right: 30px; width: 187px; height: 51px; background-image: url(../images/story_single_fukidashi.svg); background-repeat: no-repeat; position: relative; z-index: 2; font-size: 16px; font-weight: bold; font-family: "Zen Maru Gothic", sans-serif; letter-spacing: .04em; color: #23b2d6; display: flex; align-items: center; justify-content: center; padding-bottom: 12px; margin-top: -65px; }
.story-single-item .contents { position: relative; padding: 40px 30px 40px; border: 4px solid #23b2d6; background-color: #fff; margin-top: -40px; }
.story-single-item .name { font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 26px; letter-spacing: .1em; color: #23b2d6; position: relative; z-index: 2; margin-bottom: 10px; text-align: center; }
.story-single-item .name span { font-family: "Zen Maru Gothic", sans-serif; font-size: 14px; letter-spacing: .1em; }
.story-single-item hr { margin-top: 10px; margin-bottom: 10px; }
.story-single-item .from { text-align: center; font-size: 14px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; letter-spacing: .1em; color: #23b2d6; }
.story-single-item .description { line-height: 1.5; font-weight: 400; letter-spacing: .05em; }
.interview-message { position: relative; margin-top: -115px; font-size: 17px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; letter-spacing: .14em; line-height: 1.5; margin-bottom: 20px; }
.profile-box { border: 4px solid #23b2d6; background-color: #fff; position: relative; z-index: 1; width: 240px; padding: 11px 20px 20px; }
.profile-box .names { margin-bottom: 10px; padding-left: 50px; }
.profile-box .name { font-size: 17px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 900; letter-spacing: .1em; position: relative; z-index: 2; }
.profile-box .name span { font-size: 11px; }
.profile-box .name2 { font-size: 8px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 900; letter-spacing: .1em; position: relative; z-index: 2; }
.profile-details dl { margin-bottom: 10px; }
.profile-details dl:last-child { margin-bottom: 0; }
.profile-details dt { position: relative; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 9px; letter-spacing: .1em; color: #23b2d6; margin-bottom: 2px; }
.profile-details dt span { position: relative; background-color: #fff; padding-right: 5px; }
.profile-details dt:before { content: ""; position: absolute; left: 0; top: 2px; bottom: 0; margin: auto 0; width: 100%; height: 1px; background-image: radial-gradient(circle, #23b2d6 1px, transparent 1px); background-position: left top; background-repeat: repeat-x; background-size: 5px 2px; }
.profile-details dd { font-size: 13px; letter-spacing: .04em; line-height: 1.4; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; position: relative; }
.family-message { margin-top: 20px; position: relative; z-index: 1; }
.family-message .photo { width: 115px; position: absolute; right: -15px; top: -75px; }
/* .family-message .photo figure { width: 100%; position: relative; padding-top: 100%; border-radius: 100%; overflow: hidden; }
.family-message .photo figure img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; } */
.family-message .label { font-size: 15px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 900; letter-spacing: .04em; background-color: #f4d924; width: 193px; display: block; text-align: center; padding: 4px 10px; border-radius: 100px; position: relative; z-index: 1; margin-bottom: -20px; margin-left: -4px; border: 4px solid #fff; }
.family-message .contents { background-color: #fefbe9; padding: 40px 20px 20px; border-radius: 12px; line-height: 1.4; letter-spacing: .03em; }
.place-hero .topimg { margin-right: -65px; position: relative; top: -36px; padding-left: 11px; }
.place-hero .topimg img { max-width: none; width: 446px; }
.place-hero .description { margin-top: -36px; left: 1.8; }
.place-list li { margin-bottom: 30px; }
.place-list li:last-child { margin-bottom: 0; }
.place-item { font-family: "Zen Maru Gothic", sans-serif;  }
.place-item .head {display: flex; align-items: flex-start; margin-bottom: 10px; }
.place-item .head .icon { width: 26px; }
.place-item .head .name { width: calc(100% - 26px); padding-top: 6px; font-weight: 900; font-size: 16px; letter-spacing: .04em; color: #23b2d6; margin-left: 10px; line-height: 1.4; }
.place-item .type { font-weight: 700; }
.place-item .address { font-weight: 500; }
.gallery-list li { margin-bottom: 18px; }
.gallery-list li:last-child { margin-bottom: 0; }
.pagenation { display: flex; flex-wrap: wrap; justify-content: center; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 13px; letter-spacing: 0; }
.pagenation a,
.pagenation span { width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; background-color: #f4d924; border: 2px solid #000000; border-radius: 100%; line-height: 1; padding-bottom: 1px; margin: 6px; }
.pagenation .current { background-color: #000000; color: #fff; }
.pagenation .arrow { background: none; border: none; }
.post-contents .thumbnail { margin-bottom: 30px; }
.post-header { margin-bottom: 20px; }
.post-header .post-date { color: #808080; font-size: 12px; letter-spacing: .05em; display: inline-block; border-bottom: 1px solid #808080; line-height: 1.3; margin-bottom: 10px; }
.post-header .post-title { font-size: 16px; font-weight: 900; font-family: "Zen Maru Gothic", sans-serif; color: #23b2d6; line-height: 1.5; }
.custom-contactform .submits { position: relative; }
.custom-contactform .submits input { display: block; background-color: #ffe100; color: #000 !important; padding: 12px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 16px; line-height: 1.5; border-radius: 1000px; text-decoration: none; transition: all .3s; position: relative; max-width: 100%; border: 2px solid #000; text-align: center; cursor: pointer; width: 100%; }
.custom-contactform .submits .wpcf7-spinner { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; width: 100%; height: 100%; border-radius: 1000px; }
.custom-contactform .submits .wpcf7-spinner:before { left: -10px; top: -10px; right: 0; bottom: 0; margin: auto; }
.custom-contactform .groups { margin-bottom: 20px; }
.custom-contactform .groups .name { margin-bottom: 6px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 14px; line-height: 1.5; color: #000; }
.custom-contactform .groups .name .req { color: #fff; background-color: #e50019; font-size: 10px; margin-left: 8px; padding: 2px 6px; border-radius: 12px; position: relative; bottom: 1px; }
.custom-contactform .groups .name .any { color: #fff; font-size: 10px; margin-left: 8px; padding: 2px 6px; border-radius: 12px; position: relative; bottom: 1px; background-color: #808080; }
.custom-contactform .groups .contents input[type="text"],
.custom-contactform .groups .contents input[type="email"],
.custom-contactform .groups .contents input[type="tel"],
.custom-contactform .groups .contents select,
.custom-contactform .groups .contents textarea { width: 100%; padding: 6px 12px; font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 14px; line-height: 1.5; border-radius: 10px; border: 2px solid #000; box-sizing: border-box; }
.custom-contactform .groups .contents textarea { height: 150px; }
.custom-contactform .wpcf7-not-valid-tip { background-color: #dc3232; color: #fff; margin-top: 5px; border-radius: 5px; padding: 6px 12px; font-size: 12px; letter-spacing: 0; }
.custom-contactform .wpcf7-list-item { margin-right: 10px!important; margin-left: 0; }
.custom-contactform .wpcf7-list-item.last { margin-right: 0!important; }
.custom-contactform .wpcf7-list-item label input { display: none; }
.custom-contactform .wpcf7-list-item label .wpcf7-list-item-label { font-family: "Zen Maru Gothic", sans-serif; font-weight: 700; font-size: 14px; line-height: 1.5; color: #000; display: inline-block; padding-right: 10px; border: 2px solid #000; border-radius: 1000px; padding: 3px 12px; cursor: pointer; background-color: #fff; }
.custom-contactform .wpcf7-list-item label input:checked + .wpcf7-list-item-label { background-color: #ffe100; }
.google-privacy { font-size: 10px; letter-spacing: .03em; white-space: nowrap; }
.google-privacy a { text-decoration: underline; }
.faq-list li { margin-bottom: 15px; border: 2px solid #000; border-radius: 15px; overflow: hidden; background: none; background-color: #fff; }
.faq-list li:last-child { margin-bottom: 0; }
.faq-list .icon { width: 35px; height: 35px; margin-right: 15px; background: #fff; border: 2px solid #000; display: flex; align-items: center; justify-content: center; border-radius: 100%; line-height: 1; letter-spacing: 0; padding-bottom: 3px; font-weight: bold; }
.faq-list .contents { width: calc(100% - 50px); font-size: 13px; line-height: 1.75; }
.faq-list .question { display: flex; align-items: center; position: relative; padding: 10px 15px 10px 15px; background-color: #ffe100; cursor: pointer; }
.faq-list .answer { display: none; border-top: 2px solid #000; }
.faq-list .answer .wrap { display: flex; align-items: flex-start; position: relative; padding: 15px 15px 25px; background-color: #fff; }
.faq-list .answer .contents { padding-top: 5px; }
@keyframes floatY {
	0% { transform: translateY(0); }
	50% { transform: translateY(10px); }
	100% { transform: translateY(0); }
}
@media (max-width: 991px) {
	body { min-width: 375px;}
	.menu-trg-area { display: block; }
	header { z-index: 101; }
	header .logo { transition: .3s; visibility: visible; opacity: 1!important; }
	header.active .logo { opacity: 0!important; visibility: hidden; }
	.gnav { opacity: 0; visibility: hidden; transition: .3s; right: 0; left: 0; top: 0; height: 100%; width: 100%; }
	.gnav.active { opacity: 1; visibility: visible; }
	.right-contents { display: none; }
}
