.SOS{display: none;}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}
  @keyframes fadeInUp {
	from {
	  opacity: 0;
	  -webkit-transform: translate3d(0, 5%, 0);
	  transform: translate3d(0, 5%, 0);
	}
  
	to {
	  opacity: 1;
	  -webkit-transform: translate3d(0, 0, 0);
	  transform: translate3d(0, 0, 0);
	}
  }
.invisible {
	visibility: hidden;
}
.animated {
	animation-duration: 1.2s;
	animation-delay: 0.2s;
}
.animated_slow { animation-delay: 0.8s; }

.animated_slow1 { animation-delay: 0.1s; }
.animated_slow2 { animation-delay: 0.3s; }
.animated_slow3 { animation-delay: 0.5s; }
.animated_slow4 { animation-delay: 0.7s; }
.animated_slow5 { animation-delay: 0.9s; }
.animated_slow6 { animation-delay: 1.1s; }

.c-heading{
background: #fcaaa0; /* Old browsers */
background: -moz-linear-gradient(45deg, #fcaaa0 0%, #f5b7c2 98%); /* FF3.6-15 */
background: -webkit-linear-gradient(45deg, #fcaaa0 0%,#f5b7c2 98%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(45deg, #fcaaa0 0%,#f5b7c2 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcaaa0', endColorstr='#f5b7c2',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    color: #fff;
    width: fit-content;
    font-weight: bold;
    padding: 0px 10px;
	font-size: 2.5rem;
	margin:0 0 10px;
}
.c-img_left{
    width: 94%;
    margin:auto auto 25px 0;
}
.c-img_right{
    width: 94%;
    margin:auto 0 25px auto;
}
.c-subheading{
    font-weight: bold;
    color: #ff7f8b;
    font-size: 1.75rem;
    margin:0 0 30px;
}
.c-text{
    line-height: 1.8;
    margin:0 0 20px;
    font-size: 1.4rem;
}
.c-img{
	margin:0 0 25px;
}
.c-img-sm{
	width: 60%;
	margin-left: auto;
	margin-right: auto;
}
.text-large{
	font-size: 150%;
}
.pink{
	color: #fc9391;
}
p{
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
.c-popup a{
	text-align: center;
	display: block;
	font-size: 1.5rem;
}
.kv{
	background: url(/template/default/img/sp/2023charity/concept/kv.jpg) no-repeat center top;
	background-size:cover;
	height: 90vh;
    display: flex;
    align-items: end;
    padding: 0 0 20px;
}
.kv_date {
    color: #fff;
    font-weight: bold;
    text-align: center;
    border: 1px solid #fff;
    padding: 10px 0;
    font-size: 1.3rem;
}
.kv .c-heading{
	font-size: 3rem;
}
.kv_content{
	/*width: 100%;*/
}
.kv_text{
	line-height: 1.8;
    font-weight: bold;
    color: #fff;
    font-size: 1.6rem;
}
.kv_date{
	color: #fff;
    font-weight: bold;
    text-align: center;
    border:1px solid #fff;
    padding: 10px 0;
    font-size: 1.3rem;
}
.sec01{
background: #fcaaa0; /* Old browsers */
background: -moz-linear-gradient(45deg, #fcaaa0 0%, #f5b7c2 98%); /* FF3.6-15 */
background: -webkit-linear-gradient(45deg, #fcaaa0 0%,#f5b7c2 98%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(45deg, #fcaaa0 0%,#f5b7c2 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcaaa0', endColorstr='#f5b7c2',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
    padding: 30px 0 0;
}

.sec01_heading{
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 2.1rem;
}
.sec01_content{
	padding:0 0 20px;
}
.sec01_group{
    position: relative;
    text-align: center;
    background: #fff;
    padding: 25px;
    margin:25px 0 0;
}
.sec01_group::before,
.sec01_group::after {
  position: absolute;
  content: '';
  width: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.sec01_group::before {
  top: 5px;
  left: 5px;
  border-top: 1px solid #ff7070;
  border-left: 1px solid #ff7070;
}
.sec01_group::after {
  bottom: 5px;
  right: 5px;
  border-bottom: 1px solid #ff7070;
  border-right: 1px solid #ff7070;
}
.sec01_group_heading{
	font-size: 2rem;
	line-height: 1.4;
}
.sec01_group_text{
    margin: 24px 0;
}

.popup-inline{
    position: relative;
    color: #ff7f8b;
    border:1px solid #ff7f8b;
    padding: 10px 0;
    font-size: 1.3rem;
}
.popup-inline::before {
    content:'';
    position:absolute;
    right: 20px;
    top: 50%;
    width:10px;
    height:1px;
    background-color:#ff7f8b;
  }

.popup-inline::after {
    content:'';
    position:absolute;
    right:20px;
    top:50%;
    width:10px;
    height:1px;
    background-color:#ff7f8b;
    transform:rotate(90deg);
}
.sec02{
    position: relative;
    padding: 25px 0;
}
.sec02::after {
    content: "";
    position: absolute;
    top: 100%;
    box-sizing: border-box;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
    border-top: 50px solid #fff;
    margin-top: -80px;
    
  }
  .sec02_heading_group{
	  margin:0 0 30px;
  }
  .sec02_img{
	  position: relative;
	  z-index:2;
  }

  .sec03_bg{
	padding: 80px 0 0;
    margin-top: -80px;
	background: #f9f9f7; /* Old browsers */
	background: -moz-linear-gradient(top, #f9f9f7 0%, #ffffff 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f9f9f7 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f9f9f7 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9f9f7', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
  }
  .sec03_subheading{
	  font-weight: bold;
    color: #fe7f8b;
    text-align: center;
    font-size: 1.9rem;
    margin:0 0 35px;
  }
  .sec03_group{
	background: #f7b3b7;  
    margin:120px auto 30px;
    padding: 0 0 30px;
  }
    .sec03_heading_group{
	  margin:0 0 30px;
  }
  .sec03_group_img{
  	margin:auto;
  	width: 80%;
  	position: relative;
    top: -110px;
  }
  .sec03 .c-card{
	  position: relative;
    text-align: center;
    padding: 20px;
    width: 80%;
    margin: -80px auto 0;
    background: #fff;
}
  .sec03 .c-card:before,
  .sec03 .c-card::after {
  position: absolute;
  content: '';
  width: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
  .sec03 .c-card::before {
  top: 5px;
  left: 5px;
  border-top: 1px solid #ff7070;
  border-left: 1px solid #ff7070;
}
  .sec03 .c-card::after {
  bottom: 5px;
  right: 5px;
  border-bottom: 1px solid #ff7070;
  border-right: 1px solid #ff7070;
}
.sec03 .c-card p{
    font-size: 1.6rem;
    line-height: 1.8;
}
.sec04{
	padding: 30px 0;
}
.sec04_heading{
	position: relative;
	font-weight: bold;
	color: #ff7f8b;
	width: 80%;
	margin: auto;
	font-size: 1.75rem;
}
.sec04_heading::before,
.sec04_heading::after {
  position: absolute;
  content: '';
  width: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.sec04_heading::before {
  top: -15px;
  left: -25px;
  border-top: 1px solid #ff7070;
  border-left: 1px solid #ff7070;
}
.sec04_heading::after {
  bottom: -15px;
  right: -25px;
  border-bottom: 1px solid #ff7070;
  border-right: 1px solid #ff7070;
}
.sec04_content{
	position: relative;
}
.sec04_content::before{
	content:"";
	display: block;
	border-left:1px solid #ccc;
	width: 1px;
	height: 40px;
	margin: 10px auto 25px;
}
.sec04_text{
	text-align: center;
	font-size: 1.6rem;
	margin:0 0 30px;
}
.sec04_comment{
	text-align: center;
	background: #f9f9f7;
	padding:15px 25px;
	margin: 40px auto 0;
}
.charity-popup{
	position: relative;
}
.charity-popup .c-img{
	/* margin-left:calc(50% - 50vw); */
	/* margin-right:calc(50% - 50vw); */
}
.charity-popup::before,
.charity-popup::after {
  position: absolute;
  content: '';
  width: 50px;
  height: 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.charity-popup::before {
  top: 5px;
  left: 5px;
  border-top: 1px solid #ff7070;
  border-left: 1px solid #ff7070;
}
.charity-popup::after {
  bottom: 5px;
  right: 5px;
  border-bottom: 1px solid #ff7070;
  border-right: 1px solid #ff7070;
}
.charity-popup__heading {
	text-align: center;
    font-size: 2rem;
    line-height: 1.4;
    margin:0 0 20px;
}
.charity-popup__close{
	position: relative;
    color: #ff7f8b;
    border: 1px solid #ff7f8b;
    padding: 10px 0;
	text-align: center;
    display: block;
     width: 70%;
    margin: auto;
    font-size: 1.5rem;
}
.charity-popup__close::before {
    content: '';
    display: block;
    position:absolute;
    right: 20px;
    top: 50%;
    width:10px;
    height:1px;
    background-color:#ff7f8b;
    transform:rotate(-45deg);
  }

.charity-popup__close::after {
    content: '';
    display: block;
    position:absolute;
    right:20px;
    top:50%;
    width:10px;
    height:1px;
    background-color:#ff7f8b;
    transform:rotate(45deg);
}
.charity-popup__subheading{
background: #fcaaa0; /* Old browsers */
background: -moz-linear-gradient(45deg, #fcaaa0 0%, #f5b7c2 98%); /* FF3.6-15 */
background: -webkit-linear-gradient(45deg, #fcaaa0 0%,#f5b7c2 98%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(45deg, #fcaaa0 0%,#f5b7c2 98%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcaaa0', endColorstr='#f5b7c2',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
color: #fff;
font-weight: bold;
margin:0 0 25px;
font-size: 1.5rem;

}
.charity-popup__subheading .num{
	background: #f9988c;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 35px;
	height: 35px;

}	
.charity-popup__subheading .txt{
	display: flex;
    align-items: center;
	padding: 0 15px;
}
.charity-popup__text{
	font-weight: bold;
	font-size: 1.7rem;
	margin:0 0 20px;
}
.charity-popup__group-button{
	padding: 5px 20px;
	width: fit-content;
	color: #ff7f8b;
    border: 1px solid #ff7f8b;
	
}
.charity-popup__group-arrow{
  display: block;
  width: 25px;
  height: 25px;
  margin: 10px auto 20px;
  border-bottom: 4px solid #ffd4d4;
  border-right: 4px solid #ffd4d4;
  transform: rotate(45deg);
	
}
.charity-popup__lead{
	text-align: center;
}
.charity-popup__list li{
	padding: 20px;
	border-top:1px solid #ccc;
}
.mfp-container {
    padding-left: 0!important;
    padding-right: 0!important;
}

.c-group-blue-heading{
background: #aecff5; /* Old browsers */
background: -moz-linear-gradient(45deg, #aecff5 0%, #a2d5ed 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(45deg, #aecff5 0%,#a2d5ed 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(45deg, #aecff5 0%,#a2d5ed 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aecff5', endColorstr='#a2d5ed',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
text-align: center;
color: #fff;
font-weight: bold;
padding: 8px 0;
font-size: 1.65rem;
}
.c-group-blue{
	position: relative;	
	margin:0 0 50px;
}
.c-group-blue-wrapper{
	background: #f9f9f7;
	margin:0 0 5px;
}
.c-group-blue-img{
	padding:20px;
	margin:0 auto;
}
.c-group-blue-text{
	padding:0 20px 20px;
}
.c-group-blue-text p{
	margin: 0;
}
.c-group-blue .note{
	text-align: right;
	display: block;
	color: #888;
	position: absolute;
	right:0;
	bottom:-40px;
}
.charity-video video {
    width: 367px;
    height: auto;
}
@media screen and (min-width:768px){
p {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
}	

.c-heading {
    padding: 2px 15px;
    font-size: 3rem;
}	
.c-subheading {
    font-size: 1.9rem;
}
.c-text {
    font-size: 1.5rem;
}
.c-popup a {
    width: 300px;
    margin: auto;
}

.c-img_right {
    width: 615px;
    margin: 0;
}
.c-img_left {
    width: 615px;
    margin: 0;
}
.c-img-outside-right{
	flex: 1;
    margin-left: calc(50% - 50vw);
    margin-right: 19%;
}
.c-img-outside-left{
	flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 4%;
}
.kv{
	background: url(/template/default/img/sp/2023charity/concept/kv_pc.jpg) no-repeat center top;
	background-size:cover;
	height: 50vw;
    display: flex;
    align-items: end;
    padding: 0 0 20px;
}	
.kv_date{
	width: 460px;
	font-size: 1.8rem;
}
.kv_text {
    font-size: 1.5em;
}
.kv .c-heading {
    font-size: 4rem;
}
.sec01{
	padding: 60px 0 0;
}
.sec01_heading {
    font-size: 2.9rem;
    margin:0 0 20px;
}
.sec01_content{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	padding:0 0 60px;
}
.sec01_group {
    width: 48%;
	padding: 35px;
}
.sec01_group_heading {
    font-size: 2.3rem;
    line-height: 1.4;
}
.sec01 .img img{
	width: 100%;
}

.sec01_group::before {
  top: 10px;
  left: 10px;
}
.sec01_group::after {
  bottom: 5px;
  right: 5px;
  border-bottom: 1px solid #ff7070;
  border-right: 1px solid #ff7070;
}
.sec02 {
    position: relative;
    padding: 70px 0;
}
.sec02_block-pc{
	background: #fafafa;
	padding: 50px 0;
	margin: 110px 0 60px;
}
.sec02_img02{
	margin:0;
	position: relative;
    top: -110px;
    left: 210px;
    width: 250px;
}
.sec02_box-pc{
	width: 850px;
	margin: auto;
}
.sec02 .img04{
	margin: 20px auto 0;
	width: 480px;
}
.sec02_text-pc{
	width: 50%;
	margin: 0 0 0 auto;
}
.sec02 .img05{
	width: auto;
	position: absolute;
    left: -30px;
}
.sec02_block-pc2 {
    background: #fafafa;
    padding: 50px 0;
    margin: 70px 0 110px;
}
.sec02::after {
    content: "";
    position: absolute;
    top: 100%;
    box-sizing: border-box;
    border-right: 10vw solid transparent;
    border-left: 10vw solid transparent;
    border-top: 50px solid #fff;
    margin-top: -86px;
    left: calc(90vw - 50%);
}
.sec03_group{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	padding: 50px 0;
	margin: 0 auto 60px;
}
.sec03_group_inner{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	width: 900px;
	margin: auto;
}

.sec03_group_img{
	position: static;
	width: 360px;
}
.sec03 .c-card{
	text-align: left;
	width: 540px;
	margin: 0;
	padding: 33px 35px 0px;
}
.sec03 .c-card p {
    font-size: 1.9rem;
    line-height: 1.7;
}
.sec03 .c-card::before,
.sec03 .c-card::after{
	display: none;
}
.sec03_subheading {
    font-size: 2.7rem;
    margin: 0 0 45px;
}
.sec03 .c-img_right {
    width: 550px;
}
.sec03_text-pc{
	width: 48%;
}
.sec03_img-pc{
	margin:0 0 0 auto;
}
.sec03_block-pc {
    background: #fafafa;
    padding: 50px 0;
    margin: 70px 0;
}
.sec03_block-pc .c-img {
    margin: 0;
    width: 550px;
    flex-shrink: 0;
}
.sec03_text-pc2{
	width: 48%;
	margin:0 0 0 auto;
}
.sec04_heading {
    width: fit-content;
    font-size: 1.8rem;
    line-height: 1.9;
}
.sec04_heading::before {
	content: "";
    top: -45px;
    left: -75px;
}
.sec04_heading::after {
	content: "";
    bottom: -45px;
    right: -75px;
}
.sec04_content::before {
    content: "";
    height: 60px;
    margin: 40px auto 35px;
}
.sec04_text {
    font-size: 2rem;
    margin: 0 0 44px;
}
.flex-pc{
	position: relative;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
}
.flex-d-c-rev{
	flex-direction: column-reverse;
}
.flex-d-r-rev{
	flex-direction: row-reverse;
}
.justify-center{
	justify-content: center;
}
.flex-wrap{
	flex-wrap: wrap;
}
.c-group-blue{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	margin: 0 0 80px;
}
.c-group-blue-wrapper{
	width: 48%;
}
.position-relative{
	position: relative;
}
.c-group-blue-heading {
    padding: 13px 0;
    font-size: 1.8rem;
}
.c-group-blue-img {
	text-align: center;
    padding: 25px 35px;
}
.c-group-blue-text{
    padding:0 35px 25px;	
}
.charity-video{
	margin: 0;
    width: auto;
}
.charity-video video {
    width: auto;
    height: 420px;
}
}
