@charset "utf-8";

/* CSS Document */



body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-break: keep-all;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    text-align: left !important;
    line-break: strict;
    word-break: normal;
}
header {
    background: #000;
    border-bottom: 1px solid #FFF;
    padding: 6px 10px 6px 10px;
    height: 30px;
    overflow: hidden !important;
	position: relative;
	z-index: 3;
}

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;
    }
}
.ml-10 {margin-left: 10px;}
.ml-20 {margin-left: 20px;}
.ml-30 {margin-left: 30px;}
.ml-40 {margin-left: 40px;}
.ml-50 {margin-left: 50px;}
.ml-60 {margin-left: 60px;}
.ml-70 {margin-left: 70px;}
.ml-80 {margin-left: 80px;}
.ml-90 {margin-left: 90px;}
.ml-100 {margin-left: 100px;}
.ml-110 {margin-left: 110px;}
.ml-120 {margin-left: 120px;}
.ml-130 {margin-left: 130px;}
.ml-140 {margin-left: 140px;}
.ml-150 {margin-left: 150px;}
.ml-160 {margin-left: 160px;}
.ml-170 {margin-left: 170px;}
.ml-180 {margin-left: 180px;}
.ml-190 {margin-left: 190px;}
.ml-200 {margin-left: 200px;}
@media (max-width: 640px) {
    .ml-10 {margin-left:1.333333333vw;}
    .ml-20 {margin-left:2.666666667vw;}
    .ml-30 {margin-left:4vw;}
    .ml-40 {margin-left:5.333333333vw;}
    .ml-50 {margin-left:6.666666667vw;}
    .ml-60 {margin-left:8vw;}
    .ml-70 {margin-left:9.333333333vw;}
    .ml-80 {margin-left:10.66666667vw;}
    .ml-90 {margin-left:12vw;}
    .ml-100 {margin-left:13.33333333vw;}
    .ml-110 {margin-left:14.66666667vw;}
    .ml-120 {margin-left:16vw;}
    .ml-130 {margin-left:17.33333333vw;}
    .ml-140 {margin-left:18.66666667vw;}
    .ml-150 {margin-left:20vw;}
    .ml-160 {margin-left:21.33333333vw;}
    .ml-170 {margin-left:22.66666667vw;}
    .ml-180 {margin-left:24vw;}
    .ml-190 {margin-left:25.33333333vw;}
    .ml-200 {margin-left:26.66666667vw;}
}
.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: #ccc;
    overflow-y: auto;
}
/* @media (max-width: 750px) {
    #nav-fixed {
        width: 40vw;
        height: 100%;
    }
} */
#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;
    padding: 0.5em;
}
#nav-fixed ul li a {
    padding: 0;
    display: block;
    color: #FFF;
    font-weight: bold;
}
#nav-fixed ul li img {
    line-height: 0;
    font-size: 0;
    vertical-align: bottom;
}
#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;
    }
}
@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-share h2{
	margin: 0 34.6%;
}
#contents .sns-btn {
    margin: 0 24% 30px;
    text-align: center;
}
#contents .sns-btn li {
    display: inline-block;
    width: 23%;
    margin: 0 4.5%;
}
#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;
    bottom: 20px;
    right: 20px;
}
#page-top.fixed {
    position: fixed !important;
}








/* sns-area */

#sns-area{
	margin-bottom: 2em;
	margin: 0 5.333% 3em;
}

.main-sns .ttl-sns{
    background: #969696;
}

.main-sns .inner {
    position: relative;
}
.main-sns .inner .bg {
    position: relative;
    z-index: 1;
}

.main-sns .inner .on {
    position: absolute;
    z-index: 2;
    width: 76.9%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.main-sns .inner li{
    background: #fff;
}

.main-news .ttl-news{
    background: #969696;
}

.main-news .news_inner{
    background: #fff;
    width: 100%;
    border: 1px solid #969696;
    box-sizing: border-box;
}

.main-news .news_inner.gray{
    background: #eee;
    width: 100%;
    border: none;
    box-sizing: border-box;
}

.main-news .news_inner .news_lead{
    width: 84.6%;
    margin-left: auto;
    margin-right: auto;
}

.main-news .news_inner .news_btn{
    width: 76.923%;
    border: 1px solid #969696;
    margin-left: auto;
    margin-right: auto;
}




/* Alternative */

.main-sns.alter{
    position: relative;
    padding: 8% 0;
    background: #EEECEB;
}
.main-sns.alter .ttl-sns{
    background: #EEECEB;
}
.main-sns.alter ul{
    width: 90%;
    margin: 0 auto;
}
.main-sns.alter::after{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 90%;
    height: 1px;
    background: #8F8F8F;
    transform: translate(-50%, 0);

}

.main-channel.alter{
        padding: 8% 0;
    background: #EEECEB;
}
.main-channel.alter .ttl-channel{
    background: #EEECEB;
}
.main-channel.alter ul{
    width: 90%;
    margin: 0 auto;
}



/* global */
.other-txt{
    display: block;
}
.global-txt{
    display: none;
}
.global .other-txt {
    display: none;
}
.global .global-txt{
    display: block;
}


#site-notice{
	margin: 2em 5.333%;
    font-size: 92%;
}


/* -----------------------------------------
	SNS footer
-----------------------------------------*/
#sns-footer {
	background: #EEE;
}
#sns-footer svg {
	width: 100%;
}
#sns-footer img {
	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%;
}



/* -----------------------------------------
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.7;
    font-size: 14px;
	font-weight: 500;
    width: 100%;
    /* max-width: 750px;*/
    display: block;
    font-feature-settings: "palt";
}
@media (max-width: 750px) {
    #contents {
        font-size: 3.45vw;
    }
}
@media screen and (min-width: 751px) and (max-width: 1100px) {
    #contents {
        font-size: 16px;
    }
}
.serif {
    font-family: 'Noto Serif JP', serif;
}
#contents img {
    width: 100%;
}

/* -----------------------------------------
original
-----------------------------------------*/


#contents{
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
}

.vs-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;	
}

.p_absolute{
	position: absolute;
	top:0;
	left: 0;
}

.p_relative{
	position: relative;
}

.t_center{
	text-align: center;
}

.t_left{
	text-align: left!important;
}

.line0{
	line-height: 0;
}

.zindex2{
	z-index: 2;
	position: relative;
}

.zindex10{
	z-index: 10;
	position: relative;
}

.p_center{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

.mt-1{
	margin-top: -1px;
}

.rotete90{
	transform: rotate(90deg);
}

.overflowhidden{
	overflow: hidden;
}

input[type="checkbox"],
input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.menu-btn_mb {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}


/*トップ分割*/

.layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.5fr)
    min(420px, 100%)  
    minmax(0, 0.7fr);
  min-height: 100vh;
}

.bc_left,
.bc_right {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.bc_left{
	background-color: #27bb55;
}

.bc_right{
	z-index: 1!important;
	background-color: #8cec9e;
}

.bc_inner {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
	border-right: 1px solid #000;
	border-left: 1px solid #000;
	background-color: #fff;
	z-index: 2;
}

.pc_menuwrap{
	position: absolute;
	left:50%;
	top:45%;
	transform: translate(-50%,-50%);
	width:55%;
	max-width:400px;
}




@media screen and (min-width: 751px) and (max-width: 1100px){


	
	.layout{
		grid-template-columns:
		minmax(0, 1fr)  
		min(420px, 100%) ;
	}
	
	.bc_inner{
		border-right: none;
		max-width: 40.5rem!important;
		margin-right: 0!important;
	}
	
	.bc_right{
		display: none;
	}
	
	.hbbutton{
	 display: block;
}
	.pcfoot{
		display: none;
	}
	
	#contents,#container{
		max-width: 100vw;
	}

}

@media screen and (max-width: 750px){
	
	.layout {
    grid-template-columns: 1fr;
  }

	  .bc_left,
	  .bc_right {
		display: none;
	  }

	  .bc_inner {
		width: 100%;
		max-width: 100%;
		height: auto;
		border-right: none;
		border-left: none;
	  }
	
	.pcfoot{
		display: none;
	}
}

@media screen and (min-width: 1750px){
	.layout {
	  grid-template-columns:
		minmax(0, 1.2fr)
		min(500px, 100%)  
		minmax(0, 0.7fr);
	}
	
	#contents{
		font-size:16px;
	}
}

/*ハンバーガーメニュー*/

.hbbutton{
	 display: none;
}


@media screen and (max-width:1100px){
	.hbbutton{
	    display: block;
		opacity: 0;
		width:55px;
		top:10px;
		right: 10px;
		position: fixed;
		z-index: 33!important;
		transition: opacity 0.5s ease, transform 0.3s ease;
		transform: translateY(20px);
	}
	.hbbutton.show {
	  opacity: 1;
	  transform: translateY(0);
	}
}



.menu-btn_mb:checked ~ .menu-icon .hamburger {
  background: transparent;
}
.menu-btn_mb:checked ~ .menu-icon .hamburger:after, .menu-btn_mb:checked ~ .menu-icon .hamburger:before {
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  top: 0;
}

.closebutton{
	width:40px!important;
	position: absolute;
	top:8%;
	right:4%;
}



.menu {
  list-style: none;
  position: fixed;
  width: 100%!important;
  max-width: 750px!important;
  
  top: 0;
  right: -100%;
  clear: both;
  transition: right 0.3s ease-out; 
  z-index: 40;
  box-sizing: border-box;
	background-color: #8cec9e;
	padding-top: 4em;
	height: 100vh;        /* 画面高さに制限 */
  overflow-y: auto;
}


.menu-content {
  text-align: center;
  overflow-y: scroll;
  width:70%;
  margin: 0 auto;
	padding-bottom: 3em;
}


.hbtitle2{
	position: absolute;
	left:5%;
	top:50%;
	transform: translateY(-50%);
	width:20px!important;
}


.hmb_idtitle{
	font-size:0.9em;
	line-height: 1.4!important;
}

.hmb_idtitle span{
	font-size: 90%;
}

.hmb_idtitle2{
	font-size:0.7em;
	line-height: 1.4!important;
}

@media screen and (min-width: 751px) and (max-width: 1100px){
	.menu{
		max-width: 430px!important;
	}
}

.menu-btn_mb:checked ~ .menu {
  right: 0;
}
.menu a {
  opacity: 0;
  transition: 0.5s;
}

.menu li {
  opacity: 0;
  transition: 0.5s;
}

.menu-btn_mb:checked ~ .menu a,
.menu-btn_mb:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.hmb_title2{
	font-weight: 400;
	letter-spacing: 0.7em;
	text-align: center;
	font-size: 100%;
	line-height: 0.5;
	color:#000
}

.hbclose{
	position: absolute;
	top:60px;
	right:20px;
	width:40px!important;
}

/*fadein*/
.animate{
  opacity: 0;
  transform: translateY(10px);
  transition: all 1.0s;
}

.animate2{
  opacity: 0;
  transition: all 1.0s;
}
.animate:not(:nth-child(3n+1)),.animate2:not(:nth-child(3n+1)) {

}
.animate:not(:nth-child(-n+3)),.animate2:not(:nth-child(-n+3)) {
 }
.animate.show {
  opacity: 1;
  transform: translateY(0);
}
.animate2.show {
  opacity: 1;
}
.animate.show:nth-of-type(1),.animate2.show:nth-of-type(1) {
  transition-delay: 0s;
}
.animate.show:nth-of-type(2),.animate2.show:nth-of-type(2) {
  transition-delay: 0.3s;
}
.animate.show:nth-of-type(3),.animate2.show:nth-of-type(3) {
  transition-delay: 0.6s;
}
.animate.show:nth-of-type(4),.animate2.show:nth-of-type(4) {
  transition-delay: 0.9s;
}
.animate.show:nth-of-type(5),.animate2.show:nth-of-type(5) {
  transition-delay: 0.8s;
}
.animate.show:nth-of-type(6),.animate2.show:nth-of-type(6) {
  transition-delay: 0.5s;
}

/*破線対策*/
*:focus:not(:focus-visible) {
  outline: none;
}


/* -----------------------------------------
2026someonegift
-----------------------------------------*/



.pcback img{
    height: 100%;
    width: auto!important;  
    display: block;
}


.pcback{
    height: 100%;
    display: flex;
    justify-content: center; 
}


.pc_title_r{
	height: 100%;
	position: relative;
	width: auto!important;
	display: flex;
    justify-content: center; 
}

.pcrinnerwrap{
	display: flex;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.pcrinnerwrap:first-child{
	border-bottom: solid 1px #000;
}

.pcrinnerwrap div{
	position: relative;
}

.pcrinnerwrap div:first-child{
	border-right:1px solid #000;
	padding-right: 0.2em;
}

.pcrinnerwrap div:last-child{
	padding-left: 0.4em;
}


.pcr_idtitle2{
	font-size:0.8em;
	line-height: 1.4!important;
	text-align: center;
	font-weight: 400;
}

.pcr_idtitle2_2{
	font-size:0.8em;
	line-height: 1.6!important;
	text-align: center;
	font-weight: 400;
	margin-right: 3em;
}

.pcr_idtitle2 span{
	font-size:78%;
}


.pcr_button p{
	font-size: 0.8em;
	letter-spacing: 0.05em;
	transform: translateY(-0.1em);
}

.pcr_gotop{
	text-align: center;
	font-weight: 700;
	font-size: 1em;
}

@media screen and (max-width:1650px){
	.pcr_idtitle{
		font-size:0.7em;
	}
	.pcr_idtitle2,.pcr_idtitle2_2,.pcr_button p,.pcr_gotop{
		font-size:0.7em;
	}
}

@media screen and (max-width:1530px){
	.pcr_idtitle{
		font-size:0.6em;
	}
	.pcr_idtitle2,.pcr_idtitle2_2,.pcr_button p,.pcr_gotop{
		font-size:0.6em;
	}
}

@media screen and (max-width:1410px){
	.pcr_idtitle{
		font-size:0.5em;
	}
	.pcr_idtitle2,.pcr_idtitle2_2,.pcr_button p,.pcr_gotop{
		font-size:0.5em;
	}
}

@media screen and (max-width:1300px){
	.pcr_idtitle{
		font-size:0.4em;
	}
	.pcr_idtitle2,.pcr_idtitle2_2,.pcr_button p,.pcr_gotop{
		font-size:0.4em;
	}
}

@media screen and (max-width:1200px){
	.pcr_idtitle{
		font-size:0.3em;
	}
	.pcr_idtitle2,.pcr_idtitle2_2,.pcr_button p,.pcr_gotop{
		font-size:0.3em;
	}
}

@media screen and (max-width:750px){
	.pcr_idtitle{
		font-size:0.8em;
	}
	.pcr_idtitle2,.pcr_idtitle2_2,.pcr_button p,.pcr_gotop{
		font-size:0.8em;
	}
}

.pcmenuarrow{
	position: absolute;
	width:16%!important;
	top:0;
	right:5%;
}

.pcmenuarrow2{
	position: absolute;
	width:14%!important;
	top:0;
	right:20%;
}

.pcr_boder{
	border-bottom: solid 1px #000;
	width:100%;
}

.pcrin_4adj{
	margin-right: -1.5em;
}

.pcr_button{
	width:100%;
	position: relative;
	border: solid 1px #000;
	border-radius: 30px;
	background-color: #fff;
	text-align: center;
	line-height: 1;
	padding:0.8em 1em;
	box-sizing: border-box;	
	margin-bottom: 1.4em;
}


.pcr_b_arrow{
	position: absolute;
	right:7%;
	top:50%;
	transform: translateY(-50%);
	width:8%;
}

#sot p{
	font-size:107%;
	text-align: center;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

#sot .pcrinnerwrap{
	width:86%;
	margin: 0 auto;
	justify-content: space-between;
}

.so1_t_3_3adj{
	width:49%;
}

.so1_t_3_4adj{
	width:51%;
}
.so1_t_3_4{
	width:116%!important;
}

.sot_boder{
	width:86%;
	margin: 1em auto;
	border-bottom: 1px solid #000;
}

#sot .pcr_button,#so3 .pcr_button{
	width:86%;
	margin: 4em auto; 
	border: solid 1px #000;
	border-radius: 40px;
	background-color: #fff;
	text-align: center;
	line-height: 1;
	padding:0.8em 1em;
	box-sizing: border-box;	
	margin-bottom: 1.4em;
}



#so1,#so1_2{
	background-color: #8cec9e;
}

.so1_tx1{
	text-align: center;
	font-size: 107%;
	font-weight: 700;
	margin-bottom: 1.6em;
	letter-spacing: 0.15em;
}

.so1_tx2{
	text-align: center;
	font-size: 107%;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.9;
}

.so1_tx3{
	text-align: center;
	font-size: 115%;
	font-weight: 700;
	margin-bottom: 1.6em;
	letter-spacing: 0.15em;
}

.so1_tx4{
	position: absolute;
	top:62%;
	right: 16%;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.4;
	font-size: 107%;
}

.so1_tx4 span{
	font-weight: 700;
}

.so1_1_4_2{
	position: absolute;
	top:0;
	left:0;
	transform: translate(-20px, 20px) scale(0.9);
	opacity: 0;
	transition: all 0.6s ease;
}

.so1_1_4_2.is-show{
	transform: translate(0, 0) scale(1);
	opacity: 1;
}

.so1_tx5{
	width:80%;
	margin: 0 auto 1em;
	text-align: justify;
}


.so1_tx5 p{
	line-height: 38px;
	font-size: 107%;
	letter-spacing: 0.05em;
	font-weight: 400;
}

.so1_tx5 p span{
	display: inline;
	padding-bottom: 14px;
	background-image: linear-gradient(#000,#000);
	background-repeat: repeat-x;
	background-position: 0 calc(100% - 4px); /* ←ここで調整 */
	background-size: 100% 1px;
}

@media screen and (max-width:750px){
	.so1_tx5 p{
		font-size: 13px;
	}
}



.so1_1_7wrap{
	padding: 2em;
	position: relative;
}

.so1_illust{
	float: left;
	margin-top: 0;   
	margin-left: -5px; 
	margin-right: 1em;
	width: 30%!important; 
	z-index: 2;
}

.so1_tx6{
	font-size: 115%;
	font-weight: 700;
	margin-bottom: 0.6em;
	letter-spacing: 0.1em;
}

.so1_tx7{
	text-align: left;
	font-size: 107%;
	font-weight: 400;
	letter-spacing: 0.06em;
	line-height: 1.9;
}

.so1_1_9_3{
	position: absolute;
	top:0;
	left:0;
	transform: translate(-30px, 60px) scale(0.8);
	opacity: 0;
}

.so1_1_9_3.is-show{
	animation: girlPop 0.5s ease-out forwards;
}

@keyframes girlPop{
	0%{
		transform: translate(-30px, 60px) scale(0.8);
		opacity: 0;
	}
	60%{
		transform: translate(5px, -5px) scale(1.05); /* ちょい出す */
		opacity: 1;
	}
	100%{
		transform: translate(0, 0) scale(1);
		opacity: 1;
	}
}

.so1_tx8{
	width:80%;
	margin: 0 auto;
	font-weight: 400;
}

.so1_tx8_2{
	font-size:84%;
	line-height: 1.3!important;
}

.bottomit{
	position: absolute;
	bottom:0;
	left:0;
}

#so1_1_9{
	padding-bottom: 3em;
}

#so1_2{
	padding-bottom: 4em;
}

.so1_tx9{
	text-align: center;
	font-size:160%;
	font-weight: 700;
	position: absolute;
	top:37%;
	left:50%;
	transform: translateX(-50%);
	letter-spacing: 0.22em;
	line-height: 1.3;
	width:100%;
}

.so1_tx10{
	text-align: center;
	font-size:115%;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.05em;
	width:80%;
	margin: 0 auto;
}

.so2_1{
	position: relative;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	background-color: #27bb55;
	margin-bottom: 2em;
}

.so1_1_12_2{
	position: absolute;
	top: 0;
	left: 0;
	animation: noteSwing1 2s ease-in-out infinite;
	transform-origin: bottom center;
}

.so1_1_12_3{
	position: absolute;
	top: 0;
	left: 0;
	animation: noteSwing2 2.2s ease-in-out infinite;
	transform-origin: bottom center;
}

.so1_1_12_4{
	position: absolute;
	top: 0;
	left: 0;
	animation: catSwing 2.4s ease-in-out infinite;
	transform-origin: bottom center;
}

@keyframes noteSwing1{
	0%,100%{ transform: translateY(0) rotate(0deg); }
	25%{ transform: translateY(-6px) rotate(-2deg); }
	50%{ transform: translateY(0) rotate(2deg); }
	75%{ transform: translateY(-4px) rotate(-1deg); }
}

@keyframes noteSwing2{
	0%,100%{ transform: translateY(0) rotate(0deg); }
	30%{ transform: translateY(-8px) rotate(3deg); }
	60%{ transform: translateY(0) rotate(-2deg); }
	80%{ transform: translateY(-5px) rotate(1deg); }
}

@keyframes catSwing{
	0%,100%{ transform: translateY(0) rotate(0deg); }
	20%{ transform: translateY(-4px) rotate(-1deg); }
	40%{ transform: translateY(0) rotate(1deg); }
	60%{ transform: translateY(-3px) rotate(-1deg); }
	80%{ transform: translateY(0) rotate(1deg); }
}

#so1_1_17{
	padding-bottom: 4.4em;
}

#so1_1_18{
	padding-bottom: 1.4em;
}

#so1_1_20{
	padding-bottom: 1.4em;	
}
#so1_1_22{
	
}

.so1_1_23_3{
	width:16.3%;
	position: absolute;
	top:20%;
	left:40%;
	z-index: 2;
	overflow: hidden;
}

.so1_1_23_3 img{
	display: block;
	clip-path: inset(100% 0 0 0);
	animation: steamMask 2.5s ease-in-out infinite;
}

@keyframes steamMask{
	0%{
		clip-path: inset(100% 0 0 0); 
		opacity: 0;
	}
	30%{
		opacity: 1;
	}
	70%{
		clip-path: inset(0 0 0 0);
		opacity: 1;
	}
	100%{
		clip-path: inset(0 0 0 0);
		opacity: 0; 
	}
}

#so3{
	background-color: #8cec9e;	
	padding-bottom: 3em;
}

#so3 p{
	font-size:100%!important;
}

.so1_tx11{
	width:80%;
	margin: 0 auto;
	font-weight: 400;
	line-height: 1.9;
	font-size: 107%;
	letter-spacing: 0.05em;
}

#so3 .pcr_button{
	padding:1.4em;
}

#so4{
	background-color: #27bb55;
	padding-top: 2em;
	padding-bottom: 2em;
}

#so4 h3{
	font-size:107%;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.07em;
	margin-bottom: 0.4em;
}

.so4wrap{
	width:86%;
	margin: 0 auto 1.2em;
	border:solid 1px #000;
	border-radius: 36px;
	background-color: #fff;
	padding-bottom: 1em;
	position: relative;
}

.so4_textwrap{
	width:78%;
	margin: 0 auto;
}

.so1_1_26cs{
	width:20%!important;
	position: absolute;
	top:-1em;
	right:-1em;
}

.infowrap{
	display: flex;
	border-bottom: solid 1px #000;
	text-align: center;
	width:86%;
	margin: 0.5em auto;
	padding-bottom: 0.8em;
}

.infowrap div{
	position: relative;
	padding-bottom: 4em;
}

.infowrap div:first-child{
	border-right:1px solid #000;
	padding-right: 1em;
}

.infowrap div:last-child{
	padding-left: 1em;
}

.infowrap h3{
	font-size:130%;
	font-weight: 400;
	line-height: 1.2;
}

.infowrap h3 span{
	font-size:79%;
}

.infowrap p{
	font-size:92%;
	line-height: 1.4;
}

.infowrap p span{
	font-size:92%;
}

.infoarrow{
	width:16.6%!important;
	position: absolute;
	bottom:0;
	left:50%;
	transform: translateX(-50%);
}

#information{
	margin-bottom: 6em;
}

.dgtwrap{
	width:100%;
	position: relative;
}

#dgt{
	border-bottom: solid 2px #27bb55;
}

#dgt2{
	background-color: #a3eaa4;
	padding-top: 2em;
	padding-bottom: 4em;
}

#dgt2 h2{
	font-size:115%;
	text-align: center;
	letter-spacing: 0.26em;
	font-weight: 600;
}

.dg_title{
	background-color: #27bb55;
	padding-bottom: 1.6em;
	width:88%;
	margin: 0 auto 1em;
}

.dg_title h3{
	font-size:138%;
	text-align: center;
	font-weight: 800;
	letter-spacing: 0.3em;
	line-height: 1.3;
}

.dg_tx1{
	line-height: 2.2;
	font-size:107%;
	letter-spacing: 0.05em;
	width:80%;
	margin: 0 auto 1.3em;
}
.dg_title h3 span{
	font-size:116%;
	font-weight: 600;
}

.dg_tx2{
	width:91%;
	margin: 0 auto 0.4em;
	font-weight: 400;
}

.dg_tx3{
	width:91%;
	margin: 0 auto 0.4em;
	font-weight: 400;
	font-size:107%;
}

.dg_wrap{
	background-color: #fff;
	margin: 0 auto;
	width:87%;
	border-radius: 20px;
}

.dg_bicon{
	line-height: 1;
	background-color: #27bb55;
	padding:0.6em 1em;
	color:#fff;
	text-align: center;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	border-radius: 20px;
}

#dg1,#dg2,#dg3{
	margin-bottom: 5em;
}

.dg_tx4{
	font-size:107%;
	line-height: 1.7;
	text-align: justify;
}

.dg2_innerwrap{
	display: flex;
	justify-content: space-between;
	width:100%;
	margin: 0 auto;
	padding-bottom: 2em;
}

.dg2ic{
	width:50%;
}

#dg1 .so1_tx8,#dg2 .so1_tx8,#dg3 .so1_tx8,#dg4 .so1_tx8{
	position: relative;
	padding-bottom: 3em;
	height: 100%;
	box-sizing: border-box;
}

.os2b{
	position: absolute;
	bottom:0;
	left:0;
}

.dg_gotop .pcr_button{
	width:86%;
	margin: 4em auto; 
	border: solid 1px #000;
	border-radius: 40px;
	background-color: #fff;
	text-align: center;
	line-height: 1;
	padding:1.4em 1em;
	box-sizing: border-box;	
	margin-bottom: 1.4em;	
}

.dg_gotop .pcr_button p{
	font-size:115%!important;
	font-weight: 700;
}

.menu .pc_menuwrap{
	padding-top: 1em;
	padding-bottom: 3em;
}

.so1_1_21_3sdj{
	margin-bottom: -3em;
}
