/* CSS Document */
a:hover {
    opacity: 0.8;
}
a {
    transition: opacity 0.3s ease-out;
}
.sp {
    display: none;
}
.pc {
    display: block;
}
@media (max-width: 750px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
}
.mb-10 {margin-bottom: 10px;}
.mb-20 {margin-bottom: 20px;}
.mb-30 {margin-bottom: 30px;}
.mb-40 {margin-bottom: 40px;}
.mb-50 {margin-bottom: 50px;}
.mb-60 {margin-bottom: 60px;}
.mb-70 {margin-bottom: 70px;}
.mb-80 {margin-bottom: 80px;}
.mb-90 {margin-bottom: 90px;}
.mb-100 {margin-bottom: 100px;}
.mb-110 {margin-bottom: 110px;}
.mb-120 {margin-bottom: 120px;}
.mb-130 {margin-bottom: 130px;}
.mb-140 {margin-bottom: 140px;}
.mb-150 {margin-bottom: 150px;}
.mb-160 {margin-bottom: 160px;}
.mb-170 {margin-bottom: 170px;}
.mb-180 {margin-bottom: 180px;}
.mb-190 {margin-bottom: 190px;}
.mb-200 {margin-bottom: 200px;}
@media (max-width: 640px) {
    .mb-10 {margin-bottom:1.333333333vw;}
    .mb-20 {margin-bottom:2.666666667vw;}
    .mb-30 {margin-bottom:4vw;}
    .mb-40 {margin-bottom:5.333333333vw;}
    .mb-50 {margin-bottom:6.666666667vw;}
    .mb-60 {margin-bottom:8vw;}
    .mb-70 {margin-bottom:9.333333333vw;}
    .mb-80 {margin-bottom:10.66666667vw;}
    .mb-90 {margin-bottom:12vw;}
    .mb-100 {margin-bottom:13.33333333vw;}
    .mb-110 {margin-bottom:14.66666667vw;}
    .mb-120 {margin-bottom:16vw;}
    .mb-130 {margin-bottom:17.33333333vw;}
    .mb-140 {margin-bottom:18.66666667vw;}
    .mb-150 {margin-bottom:20vw;}
    .mb-160 {margin-bottom:21.33333333vw;}
    .mb-170 {margin-bottom:22.66666667vw;}
    .mb-180 {margin-bottom:24vw;}
    .mb-190 {margin-bottom:25.33333333vw;}
    .mb-200 {margin-bottom:26.66666667vw;}
}
#nav-btn {
    position: fixed;
    z-index: 9000;
    top: 20px;
    right: 10px;
    width: 70px;
    cursor: pointer;
}
#nav-btn:hover{
    opacity: 0.75;
}
#nav-fixed {
    position: fixed;
    z-index: 9000;
    top: 0;
    left: -300px;
    width: 300px;
    height: 100%;
    background: #a41c47;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none; 
}
#nav-fixed::-webkit-scrollbar {
    display:none;
}
#nav-fixed.navClose {
    animation: navClose 0.25s ease 0.0s forwards alternate;
}
#nav-fixed.navOpen {
    animation: navOpen 0.25s ease 0.0s forwards alternate;
}

#nav-fixed ul li {
    font-size: 18px;
    border-bottom: 1px solid #FFF;
}
#nav-fixed ul li a {
    padding: 15px 20px;
    display: block;
    color: #FFF;
    font-weight: bold;
}
#nav-fixed ul li a:hover {
    opacity: 0.75;
}
@media (max-width: 750px) {
    #nav-btn {
        top: 3vw;
        right: 3vw;
        width: 14vw;
    }
    #nav-fixed {
        left: -75vw;
        width: 75vw;
    }
    #nav-fixed ul li {
        font-size: 3.3vw;
    }
    #nav-fixed ul li a {
        padding: 3vw 4vw;
    }
}
@keyframes navClose {
    0% {
        left: 0;
    }
    100% {
        left: -300px;
    }
}
@keyframes navOpen {
    0% {
        left: -300px;
    }
    100% {
        left: 0;
    }
}
@media (max-width: 750px) {
    @keyframes navClose {
        0% {
            left: 0;
        }
        100% {
            left: -75vw;
        }
    }
    @keyframes navOpen {
        0% {
            left: -75vw;
        }
        100% {
            left: 0;
        }
    }
}
#contents .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
#contents .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
#contents .sns-btn {
    margin: 0 24% 30px;
    text-align: center;
}
#contents .sns-btn li {
    display: inline-block;
    width: 23%;
    margin: 0 3%;
}
#social_btn {
	width: 100%;
    text-align: center;
    font-size: 0;
}
#social_btn > div {
    vertical-align: top;
    display: inline-block;
    margin: 0 5px;
}
#social_btn .fb_iframe_widget {
    vertical-align: top;
}
#page-top {
    position: fixed;
    z-index: 9000;
    bottom: 20px;
    right: 20px;
}
#page-top.fixed {
    position: fixed !important;
}
/* -----------------------------------------

	SNSフッタ

-----------------------------------------*/
#sns-footer {
	background: #EEE;
}
#sns-footer svg {
	width: 100%;
}
#sns-footer #sns-footer-inner {
	max-width: 750px;
	margin: auto;
}
#sns-footer #sns-footer-inner #sns-footer-tit {
	padding: 12% 20% 5%;
}
#sns-footer #sns-footer-inner #sns-footer-line {
	padding: 0 14% 10%;
}
#sns-footer #sns-footer-inner #sns-footer-tit-02 {
	padding: 0 33% 3.5%;
}
#sns-footer #sns-footer-inner #sns-footer-list {
	padding: 0 14% 15%;
	overflow: hidden;
}
#sns-footer #sns-footer-inner #sns-footer-list li {
	float: left;
	width: 33.33333%;
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
}
#sns-footer #sns-footer-inner #sns-footer-list li a {
	display: block;
	padding: 5%;
}
/* -----------------------------------------

	sns-link

-----------------------------------------*/
.sns-link {
    background-color: #e7e5e3;
    margin: 0 6.66% 2em;
    padding: 2em 0 2em;
    color: #000;
}
.sns-link-title {
    text-align: center;
    margin-bottom: 0.225em;
    font-size: 160%;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0.75em;
}
.sns-link-title .in {
    position: relative;
    display: inline-block;
}
.sns-link-title .in::after {
    content: '';
    position: absolute;
    transform: rotate(-15deg);
    left: -1em;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #000;
}
.sns-link-title .in::before {
    content: '';
    position: absolute;
    transform: rotate(15deg);
    right: -1em;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #000;
}
.sns-link-in {
    margin: 0 3.846%;
}
.sns-link-copy {
    text-align: center;
    margin-bottom: 0.5em;
    line-height: 1.4;
    font-size: 130%;
}
.sns-link-copy .s {
    font-size: 65%;
}
.sns-link-img {
    margin-bottom: 0.75em;
}
.sns-link-ig {
    margin-bottom: 1em;
}
.sns-link-tw {
    margin-bottom: 1em;
}
.sns-link-yt {
    margin-top: 2em;
    padding-top: 1.5em;
    text-align: center;
    border-top: 1px solid #000;
}
.sns-link-yt-sub {
    font-size: 90%;
}
.sns-link-yt-title {
    font-weight: bold;
    font-size: 145%;
    margin-bottom: 0.5em;
}

.sns-title {
    margin-bottom: .5em;
    text-align: center;
    font-size: 100%;
}
.sns-title span {
    display: inline-block;
    position: relative;
    padding: 0 1em;
    font-weight: bold;
    line-height: 1.2;
}
.sns-title span::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #000;
    transform: rotate(-25deg);
}
.sns-title span::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background-color: #000;
    transform: rotate(25deg);
}
/* -----------------------------------------

	attention

-----------------------------------------*/
.attention {
    padding-top: 2em;
    border-top: 1px solid #000;
    margin: 0 6.66% 1em;
    font-size: 85%;
}
.attention li {
    text-indent: -1em;
    margin-left: 1em;
}
/* -----------------------------------------
contents
-----------------------------------------*/
#container {
    margin: auto;
    width: 100%;
    max-width: 750px;
}
#contents {
    margin: auto;
    font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    line-height: 1.6;
    font-size: 26px;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    display: block;
    color: #000;
    font-feature-settings: "palt";
}
@media (max-width: 750px) {
    #contents {
        font-size: 3.45vw;
    }
}
.serif {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    letter-spacing: 0.1em;
    /* font-family: 'Noto Serif JP', serif; */
    /* font-family: 'Shippori Mincho', serif; */
}
#contents img {
    width: 100%;
    display: block;
    vertical-align: bottom;
    font-size: 0;
}
/* -----------------------------------------
page Layout
-----------------------------------------*/
#contents p img,
#contents h1 img,
#contents h2 img {
    line-height: 1;
    vertical-align: bottom;
}
.col2 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.col2 > div,
.col2 > p {
    width: 50%;
}

.copy {
    background-color: #FFD767;
    padding: 0 0 0 20%;
    text-align: justify;
    font-size: 160%;
}

.bg-01 {
    background-repeat: repeat-y;
    background-size: 100%;
    background-position: center top;
    background-image: url(../img/250819/bg-01.webp);
    padding: 4.5em 0 1px;
}
.bg-02 {
    background-repeat: repeat-y;
    background-size: 100%;
    background-position: center top;
    background-image: url(../img/250819/bg-02.webp);
    padding: 4.5em 0 1px;
}
.bg-03 {
    background-repeat: repeat-y;
    background-size: 100%;
    background-position: center top;
    background-image: url(../img/250819/bg-03.webp);
    padding: 4.5em 0 1px;
}

.ls-000 {letter-spacing: 0.00em;}
.ls-005 {letter-spacing: 0.05em;}
.ls-010 {letter-spacing: 0.10em;}
.ls-015 {letter-spacing: 0.15em;}
.ls-020 {letter-spacing: 0.20em;}
.ls-025 {letter-spacing: 0.25em;}
.ls-030 {letter-spacing: 0.30em;}
.ls-035 {letter-spacing: 0.35em;}
.ls-040 {letter-spacing: 0.40em;}
.ls-045 {letter-spacing: 0.45em;}
.fw-b {
    font-weight: bold;
}
sup {
    vertical-align: top;
    font-size: 65%;
}

.item {
    margin: 0 12.66% 3.5em;
}
.item-img {
    margin-bottom: 1em;
}
.item-copy {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 141%;
    letter-spacing: 0.05em;
}
.item-copy.s {
    font-size: 135%;
}
.item-copy.c1 {
    color: #00adb1;
}
.item-copy.c2 {
    color: #398e4a;
}
.item-text {
    margin-bottom: 1em;
    font-size: 141%;
    letter-spacing: .15em;
    text-align: justify;
}
.item-text .s {
    font-size: 70%;
    display: inline-block;
    letter-spacing: 0;
}
.mb0 {
    margin-bottom: 0 !important;
}
.item-sub {
    font-size: 88%;
    text-align: justify;
    margin-bottom: 1.5em;
}
.item-floor {
    font-size: 145%;
    margin-bottom: .5em;
}
.item-floor .s {
    font-size: 70%;
}