@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap');
/*
Theme Name: Toitoy
*/
html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}
body {
	margin: 0;
	padding: 0;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	text-align: center;
}
p {
	margin:0;
	padding: 0;
	overflow-wrap: break-word;
}
a {
	color: #000;
	text-decoration: none;
	transition: 0.5s;
}
ul,ol {
	list-style-type: none;
	padding:0;
	margin:0;
}
/* Common */
.fadein {
	opacity : 0;
	transform : translate(0, 40px);
	transition : all 0.5s 0.5s ease-out;
}
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
.popin {
	opacity : 0;
	transform : scale(0.7);
	transition : all 0.5s 0.9s ease;
}
.popin.scrollin {
	opacity : 1;
	transform : scale(1);
}
.pc_none {
	display: none;
}


/* ----------------------------- */
/* Header
/* ----------------------------- */
.hamburger-overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 60px;
	height: 60px;
	border-bottom-right-radius: 50%;
	border: none;
	background: #fff;
	cursor: pointer;
}
.hamburger-overlay__line {
	position: absolute;
	left: 13px;
	width: 26px;
	height: 2px;
	transition: all .6s;
}
.hamburger-overlay__line:nth-of-type(1) { top: 15px; background-color: #d50050; }
.hamburger-overlay__line:nth-of-type(2) { top: 24px; background-color: #d50050; }
.hamburger-overlay__line:nth-of-type(3) { top: 33px; background-color: #d50050; }
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
	transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
	opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
	transform: translateY(-9px) rotate(45deg);
}
.nav-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(213, 0, 80, 0.95);
	visibility: hidden;
	opacity: 0;
	transition: all .6s;
	z-index: 900;
}
.nav-overlay.active {
	visibility: visible;
	opacity: 1;
}
.nav-overlay__content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
}
.nav-overlay__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav-overlay__item {
	opacity: 0;
	transform: translateY(20px);
	transition: all .6s;
	margin: 3rem 0;
}
.nav-overlay__item a {
	color: #fff;	
}
.nav-overlay.active .nav-overlay__item {
	opacity: 1;
	transform: translateY(0);
	font-size: 2.8rem;
}
.nav-overlay__list li:last-child {
	margin-top: 8rem;
}
.nav-overlay__list li:last-child img {
	display: block;
	width: 45%;
	max-width: 180px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.sp_menu {
		display: block;
	}
	.navi {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	.hamburger-overlay {
		width: 50px;
		height: 50px;
	}
	.hamburger-overlay__line {
		left: 12px;
		width: 22px;
		height: 2px;
	}
	.hamburger-overlay__line:nth-of-type(1) { top: 12px; }
	.hamburger-overlay__line:nth-of-type(2) { top: 21px; }
	.hamburger-overlay__line:nth-of-type(3) { top: 30px; }
	
}

/* ----------------------------- */
/* Main
/* ----------------------------- */
.mv {
	background: #d50050;
	position: relative;
}
.mv_shine {
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: center;
	height: 920px;
	width: 100%;
}
@media screen and (max-width: 1366px) {
	.mv_shine {
		aspect-ratio: 16 / 11;
		height: inherit;
	}
}
.mv_shine img {
	display: block;
	animation: rotateAnimation 20s linear infinite;
	margin-top: -10rem;
}
@keyframes rotateAnimation {
  from {
    transform: scale(1.8) rotate(0deg);
  }
  to {
    transform: scale(1.8) rotate(360deg);
  }
}
.mv_garland, .mv_confetti {
	position: absolute;
	top: 0;
	width: 100%;
}
.mv_garland img {
	display: block;
	width: 22%;
	height: auto;
	position: absolute;
}
.mv_garland img:first-child {
	top: 0;
	left: 0;
}
.mv_garland img:last-child {
	top: 0;
	right: 0;
	transform: scale(-1, 1);
}
.mv_confetti img {
	display: block;
	position: absolute;
}
.mv_confetti img:first-child {
	width: 25%;
	top: 0;
	left: 0;
    animation-name: fadeIn300ms;
    animation-delay: 1800ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
	transform: translateY(-20px);
    opacity: 0;
}
.mv_confetti img:last-child {
	width: 29%;
	top: 0;
	right: 0;
    animation-name: fadeIn300ms;
    animation-delay: 2100ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(-20px);
    opacity: 0;
}
@keyframes fadeIn300ms {
    0% {
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}
.mv_mamanomama {
	display: flex;
	justify-content: center;
	position: absolute;
	top: 5%;
	width: 100%;
}
.mv_mamanomama  img {
	display: block;
	width: 45%;
    animation-name: popIn300ms;
    animation-delay: 300ms;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
	transform: scale(0.7);
    opacity: 0;
}
@keyframes popIn300ms {
    0% {
    }
    60% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
		opacity: 1;
    }
}
.mv_title_wrap {
	display: flex;
	justify-content: center;
}
.mv_title_wrap div {
	display: flex;
	justify-content: center;
	position: absolute;
	top: 15%;
	width: 100%;
	max-width: 1366px;
}
.mv_heart{
	display: block;
	width: 66%;
	position: relative;
}
.mv_ribbon {
	position: absolute;
	width: 50%;
	top: 12%;
    animation-name: fadeIn300ms;
    animation-delay: 500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(-10px);
    opacity: 0;	
}
.mv_title {
	position: absolute;
	width: 70%;
	top: 40%;
    animation-name: popIn300ms;
    animation-delay: 1200ms;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
	transform: scale(0);
    opacity: 0;
}
.mv_copy {
	position: absolute;
	width: 62%;
	top: 78%;
    animation-name: fadeIn300ms;
    animation-delay: 1500ms;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    transform: translateY(10px);
    opacity: 0;	
}
@media screen and (max-width: 960px) {
	.mv_shine {
		padding-bottom: 5vw;	
	}
}
@media screen and (max-width: 640px) {
	.mv_shine {
		padding-bottom: 20vw;	
	}
	.mv_mamanomama  img {
		width: 55%;
	}
	.mv_heart {
		width: 80%;
	}
	.mv_ribbon {
		width: 60%;
		top: 12%;
	}
	.mv_title {
		width: 85%;
		top: 40%;
	}
	.mv_copy {
		width: 72%;
		top: 75%;
	}
}
@media screen and (max-width: 480px) {
	.mv_shine {
		padding-bottom: 52vw;	
	}
	.mv_mamanomama {
		top: 10%;
	}
	.mv_mamanomama  img {
		width: 72%;
	}
	.mv_title_wrap div {
		top: 20%;
	}
	.mv_heart {
		width: 85%;
	}
	.mv_ribbon {
		width: 68%;
		top: 10%;
	}
	.mv_title {
		width: 92%;
		top: 42%;
	}
	.mv_copy {
		width: 85%;
		top: 82%;
	}
}

/* ----------------------------- */
/* ABOUT
/* ----------------------------- */
.about {
	position: relative;
}
.about_wrap {
	margin-top: -12rem;
	overflow-x: hidden;
	position: relative;
}
.about_top, .about_bottom {
	display: block;
}
.about_cont {
	background: #fff8bb;
}
.about_bottom {
	transform: scale(1, -1);
}
.about h2 {
	padding-top: 1px;
	z-index: 2;
	position: relative;
}
.about h2 img {
	display: block;
	margin: -5rem auto 2rem;
	width: 75%;
	max-width: 750px;
    animation-name: popIn300ms;
    animation-delay: 2800ms;
    animation-duration: 0.5s;
    animation-fill-mode: forwards;
	transform: scale(0.7);
	opacity: 0;
}
.about  h2 + p {
	font-size: 2rem;
	font-weight: 700;
	line-height: 2;
	text-align: center;
	position: relative;
	z-index: 2;
}
.about  h2 + p span {
	display: inline-block;
}
.about_image01 {
	position: absolute;
	width: 320px;
	top: 28%;
	left: 3%;
	z-index: 1;
}
.about_image02 {
	position: absolute;
	width: 270px;
	top: 37%;
	right: 5%;
	z-index: 1;
}
.about_image03 {
	position: absolute;
	width: 260px;
	top: 64%;
	left: 6%;
	z-index: 1;
}
.about_image04 {
	position: absolute;
	width: 270px;
	top: 69%;
	right: 2%;
	z-index: 1;
}
@media screen and (max-width: 1200px) {
	.about h2 img {
		width: 60%;
	}	
	.about_image01 {
		width: 22%;
	}
	.about_image02 {
		width: 18%;
	}
	.about_image03 {
		width: 18%;
	}
	.about_image04 {
		width: 17%;
	}
}
@media screen and (max-width: 960px) {
	.about h2 img {
		margin: -2rem auto 1rem;
	}
	.about  h2 + p {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 640px) {
	.about h2 img {
		width: 80%;
	}	
	.about_image01 {
		width: 22%;
		top: 25%;
		left: 2%;
	}
	.about_image02 {
		width: 19%;
		top: 48%;
	}
	.about_image03 {
		width: 19%;
		top: 60%;
	}
	.about_image04 {
		width: 18%;
		top: 75%;
	}
}
@media screen and (max-width: 480px) {
	.about h2 img {
		width: 85%;
		margin: 0 auto 1.5rem;
	}
	.about  h2 + p {
		font-size: 1.8rem;
	}
	.about_image01 {
		width: 32%;
		top: 21%;
		left: 0;
	}
	.about_image02 {
		width: 25%;
		top: 49%;
		right: 2%;
	}
	.about_image03 {
		width: 25%;
		top: 50%;
		left: 2%;
	}
	.about_image04 {
		width: 27%;
		top: 76%;
		right: 0;
	}	
}

/* ----------------------------- */
/* MEDIA
/* ----------------------------- */
.media {
	margin-top: -12rem;
	padding: 16rem 0 10rem;
	background-color: #ffffff;
	background-image: radial-gradient(circle, #e08980 1.5px, transparent 1.5px), radial-gradient(circle, #e08980 1.5px, transparent 1.5px);
	background-position: 0 0, 8.5px 17px;
	background-size: 17px 34px;	
}
.media h2 img {
	display: block;
	margin: 0 auto 1rem;
	width: 90%;
	max-width: 640px;
}
.media h2 + p {
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 3rem;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.media_box {
	padding: 5rem;
	width: 90%;
	max-width: 1000px;
	border: solid 2px #e08980;
	background: #f7e1df;
	border-radius: 3rem;
	box-shadow: 5px 5px 0 #e08980;
	margin: 0rem auto 4rem;
	box-sizing: border-box;
}
.media_title {
	display: flex;
	align-items: center;
	margin-bottom: 3rem;
}
.media_title img {
	display: block;
	height: 130px;
	width: auto;
	margin-right: 5rem;
}
.media_title p {
	font-size: 2rem;
	line-height: 1.8;
}
.media_onair {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.media_onair img.onair {
	display: block;
	width:35%;
}
.media_onair div {
	width: 60%;
}
.media_onair div ul {
	padding: 1rem 3rem;
	border-radius: 2rem;
	background: #fff;
}
.media_onair div ul li {
	display: flex;
	align-items: center;
	padding: 2rem 0;
	border-bottom: solid 1px #e08980;
}
.media_onair div ul li:last-child {
	border-bottom: 0;	
}
.media_onair div ul li span img {
	width: 120px;
	display: block;
	margin-right: 3rem;
}
.media_onair div ul li span img.fmoita {
	width: 196px;
}
.media_onair div ul li p {
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.media_onair div ul li p span {
	font-size: 90%;
}
.media_onair div  div {
	width: 100%;
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
}
.media_onair div  div img.mamatomo {
	width: 50%;
	display: block;
	margin-right: 3rem;
}
.media_onair div  div a {
	width: 35%;
}
.media_onair div  div a img {
	width: 100%;
	display: block;
	margin-top: 1.5rem;
}
.media_onair div  div a:hover {
	opacity: 0.7;	
}
.media_onair div small {
	display: block;
	text-align: right;
	font-size: 1.4rem;
	margin-top: 1rem;
}
.media_message {
	text-align: center;
	font-size: 2.2rem;
	line-height: 1;
}
.media_message span {
	display: inline-block;
	padding: 0.5rem;
	padding-left: 1rem;
	background: #d50050;
	color: #fff;
	font-weight: 700;
	margin: 0.5rem 0;
}
.media_message p span:first-child {
	padding-right: 0;	
}
.media_message p span:last-child {
	padding-left: 0;	
}

@media screen and (max-width: 768px) {
	.media_title {
		display: block;
	}
	.media_title img {
		height: 100px;
		margin: 0 auto 1rem;
	}
	.media_title p {
		font-size: 1.8rem;
	}
	.media_onair img.onair {
		width:30%;
	}
	.media_onair div {
		width: 68%;
	}	
	.media_onair div ul li span img {
		width: 90px;
	}
	.media_onair div ul li span img.fmoita {
		width: 148px;
	}	
	.media_onair div  div {
		display: block;
	}
	.media_onair div  div img.mamatomo {
		width: 70%;
		display: block;
		margin: 0 auto 1rem;
	}
	.media_onair div  div a {
		width: 60%;
		display: block;
		margin: 0 auto;
	}	
	
}
@media screen and (max-width: 640px) {
	.media {
		background-image: radial-gradient(circle, #e08980 1px, transparent 1px), radial-gradient(circle, #e08980 1px, transparent 1px);
		background-position: 0 0, 5px 10px;
		background-size: 10px 20px;	
	}
	.media_title {
		margin-bottom: 1rem;
	}
	.media h2 + p {
		font-size: 2.2rem;
		margin-bottom: 1.5rem;
	}	
	.media_onair {
		display: block;
	}
	.media_onair img.onair {
		width:60%;
		margin: 0 auto 1rem;
	}
	.media_onair div {
		width: 100%;
	}
	.media_message {
		font-size: 1.8rem;
	}
	.media_message p span:first-child {
		padding-right: 0.5rem;	
	}
	.media_message p span:last-child {
		padding-left: 1rem;	
	}	
}
@media screen and (max-width: 480px) {
	.media_box {
		padding: 3rem;
	}
	.media_title img {
		height: 80px;
	}
	.media_title p {
		font-size: 2rem;
		line-height: 1.6;
		text-align: center;
	}
	.media_onair div ul {
		padding: 1rem 2rem;
	}	
	.media_onair div ul li span img.fmoita {
		width: 120px;
	}	
}

/* ----------------------------- */
/* GALLERY
/* ----------------------------- */
.gallery {
	background: #d50050;
	padding-bottom: 16rem;
}
.gallery_wrap {
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
}
.gallery h2 {
	padding-top: 1px;
}
.gallery h2 img {
	display: block;
	margin: -3rem auto 0;
	width: 98%;
	max-width: 850px;
}
.gallery h3 img {
	display: block;
	margin: 0 auto 3rem;
	width: 75%;
	max-width: 480px;
}
.gallery p {
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
	line-height: 2;
	margin-bottom: 3rem;
}
.gallery ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gallery ul li {
	width: 23.5%;
	margin-bottom: 1rem;
}
.gallery ul li button, .gallery ul li img {
	display: block;
	width: 100%;
	border-radius: 1rem;
	margin-bottom: 0.25rem;
}
.gallery ul li button {
	border: 0;
	padding: 0;
	background: none;
	cursor: pointer;
	transition: 0.5s;
}
.gallery ul li button:hover {
	opacity: 0.7;
}
.gallery ul li a:hover img {
	opacity: 0.7;
}
.gallery ul li a img {
	transition: 0.5s;
}
.gallery ul li a:hover img {
	opacity: 0.7;
}
.gallery ul li p {
	font-size: 1.4rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}
.gallery_cs {
	width: 100%;
	display: block;
}
@media screen and (max-width: 480px) {
	.gallery h2 img {
		margin-top: -3rem;
		width: 100%;
	}
	.gallery p {
		font-size: 1.7rem;
	}
	.gallery ul li {
		width: 47.5%;
	}
	.gallery_cs {
		width: 90%;
		margin: 0 auto;
	}	
}

/* ----------------------------- */
/* HOW
/* ----------------------------- */
.how {
	position: relative;
}
.how_wrap {
	margin-top: -10rem;
}
.how_top {
	display: block;
}
.how_cont {
	background: #fffce4;
	padding-bottom: 16rem;
}
.how_cont h2 {
	position: relative;
	width: 90%;
	max-width: 900px;
	margin: 0 auto 6rem;
}
.how_cont h2::before {
	content: url('../img/35th/how_icon01.png');
	display: block;
	position: absolute;
	top: -50%;
	left: 0;
	transform: scale(0.5);
}
.how_cont h2::after {
	content: url('../img/35th/how_icon02.png');
	display: block;
	position: absolute;
	top: -50%;
	right: 0;
	transform: scale(0.5);
}
.how_cont h2 img {
	display: block;
	margin: 0 auto;
}
.how_cont h2 img:first-child {
	width: 35%;
	max-width: 340px;
	margin-bottom: 2rem;
}
.how_cont h2 img:last-child {
	width: 50%;
	max-width: 500px;
}
.how_step {
	width: 90%;
	max-width: 1000px;
	display: block;
	margin: 0 auto 5rem;
}
.how_message {
	display: block;
	width: 85%;
	max-width: 700px;
	margin: 0 auto 10rem;
}

.how_target {
	padding: 3rem;
	background: #fff;
	border: solid 2px #d50050;
	border-radius: 3rem;
	width: 80%;
	max-width: 1000px;
	box-sizing: border-box;
	margin: 5rem auto 0;
	position: relative;
}
.target_title {
	display: block;
	margin: -6.5rem auto 1.5rem;
	width: 30%;
	max-width: 300px;
}
.target_ok {
	display: block;
	margin: 0 auto 0.5rem;;
	width: 40%;
	max-width: 400px;
}
.target_ok  + p {
	color: #d50050;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.5rem;
}
.how_target div {
	display: flex;
	justify-content: center;
	font-size: 1.8rem;
	line-height: 1.8;
	font-weight: 700;
	margin-bottom: 1rem;
}
.how_target div ul li {
	position: relative;
	padding-left: 1.5rem;
}
.how_target div ul li::before {
	content: '●';
	position: absolute;
	font-size: 0.7rem;
	top: 10px;
	left: 0;
}
.how_target div + p {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: center;
}
.how_target .hide_br {
	display: none;	
}
.target_image01 {
	position: absolute;
	top: 0;
	left: -10%;
	width: 30%;
}
.target_image02 {
	position: absolute;
	top: 0;
	right: -10%;
	width: 28%;
}
.btn_upload {
	display: block;
	width: 320px;
	text-align: center;
	margin: 6rem auto 0;
	background: #d50050;
	color: #fff;
	font-size: 1.5rem;
	border-radius: 3rem;
	padding: 1.5rem 0;
	transition: 0.5s;
}
.btn_upload:hover {
	opacity: 0.7;	
}
@media screen and (max-width: 1200px) {
	.how_target .hide_br {
		display: block;	
	}
	.target_image01 {
		top: 12%;
		left: -7%;
		width: 30%;
	}
	.target_image02 {
		top: 12%;
		right: -7%;
		width: 28%;
	}	
}
@media screen and (max-width: 1000px) {
	.how_cont h2::before {
		transform: scale(0.45);
		left: -5%;
	}
	.how_cont h2::after {
		transform: scale(0.45);
		right: -5%;
	}
	.target_title {
		width: 40%;
	}
	.target_ok {
		margin: 0 auto 0.5rem;;
		width: 50%;
	}	
	.target_ok  + p {
		font-size: 2rem;
	}
	.how_target div {
		font-size: 1.6rem;
	}
	.how_target div + p {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 768px) {
	.how_cont h2::before {
		transform: scale(0.35);
		top: -75%;
	}
	.how_cont h2::after {
		transform: scale(0.35);
		top: -75%;
	}
}
@media screen and (max-width: 640px) {
	.how_cont h2 img:first-child {
		width: 45%;
	}
	.how_cont h2 img:last-child {
		width: 55%;
	}	
	.how_cont h2::before {
		transform: scale(0.3);
		top: -85%;
		left: -10%;
	}
	.how_cont h2::after {
		transform: scale(0.3);
		top: -85%;
		right: -10%;
	}
	.how_target {
		width: 90%;
		padding-bottom: 40vw;	
	}
	.target_title {
		width: 50%;
	}
	.target_ok {
		margin: 0 auto 0.5rem;;
		width: 60%;
	}		
	.target_image01 {
		top: inherit;
		bottom: -10%;
		left: 15%;
		width: 40%;
	}
	.target_image02 {
		top: inherit;
		bottom: -10%;
		right: 15%;
		width: 38%;
	}
	.btn_upload {
		margin-top: 9rem;	
	}
}
@media screen and (max-width: 480px) {
	.how_cont h2 {
		margin-bottom: 3rem;
	}	
	.how_cont h2 img:first-child {
		width: 60%;
	}
	.how_cont h2 img:last-child {
		width: 85%;
	}	
	.how_cont h2::before {
		transform: scale(0.2);
		top: -125%;
		left: -27%;
	}
	.how_cont h2::after {
		transform: scale(0.2);
		top: -125%;
		right: -27%;
	}
	.how_target {
		padding: 2rem;
		padding-bottom: 40vw;	
	}
	.target_title {
		width: 70%;
		margin-top: -4.5rem;
	}
	.target_ok {
		width: 80%;
	}
	.how_target div {
		font-size: 1.9rem;
	}
	.how_target div + p {
		font-size: 1.6rem;
	}
	.how_target .hide_br {
		display: none;	
	}
	.target_image01 {
		left: 10%;
		width: 45%;
	}
	.target_image02 {
		right: 10%;
		width: 42%;
	}
}


/* ----------------------------- */
/* Q&A
/* ----------------------------- */
.qa {
	position: relative;
}
.qa_wrap {
	margin-top: -10rem;
}
.qa_top {
	display: block;
}
.qa_cont {
	background: #fff;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 10rem;
}
.qa_cont h2 img {
	display: block;
	width: 75%;
	max-width: 500px;
	margin: 0 auto 3rem;
}
.qa_box {
	width: 90%;
	margin: 0 auto 3rem;
}
.toggle {
	display: none;
}
.qa_q {
	font-size: 1.8rem;
	font-weight: 700;
	padding: 2rem;
	display: block;
	background: #f6dcd9;
	border-radius: 30px;
	padding-left: 7rem;
	padding-right: 7rem;
	cursor: pointer;
}
.qa_q:before {
	content: "Q";
	color: #e08980;
	font-size: 4.2rem;
	font-weight: 700;
	position: absolute;
	top: calc(50% - 0.6em);
	left: 2rem;
	line-height: 1;
}
.qa_q::after{	
	content:"";
	width: 16px;
	height: 16px;
	border-top: 2px solid #e08980;
	border-right: 2px solid #e08980;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 12px );
	right: 2rem;
	transform: rotate(135deg);
}
.qa_q,
.qa_a {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.qa_a  {
	height: 0;
	margin-bottom: 2.5rem;
	padding-left: 7rem;
	overflow: hidden;
	font-size: 1.6rem;
	line-height: 1.8;
}
.qa_a:before  {
	content: "A";
	color: #d50050;
	font-size: 4.2rem;
	font-weight: 700;
	position: absolute;
	top: 2rem;
	left: 2rem;
	line-height: 1;
}
.toggle:checked + .qa_q + .qa_a  {
	height: auto;
	padding: 2rem;
	padding-left: 7rem;
	transition: all .3s;
}
.toggle:checked + .qa_q + .qa_a.last_a  {
	padding-bottom: 0;	
}
.toggle:checked + .qa_q::after {
	transform: rotate(-45deg) !important;
	top:calc( 50% - 6px );
}
@media screen and (max-width: 640px) {
	.qa_wrap {
		margin-top: -8rem;
	}
	.qa_cont {
		padding-top: 2rem;
		padding-bottom: 5rem;	
	}
}
@media screen and (max-width: 480px) {
	.qa_q {
		font-size: 2rem;
	}
	.qa_a  {
		font-size: 1.8rem;
	}	
}


/* ----------------------------- */
/* FOOTER
/* ----------------------------- */
footer {
	margin-top: 12rem;
}
footer img {
	display: block;
}
.foot_wrap {
	background: #e08980;
	padding-bottom: 2rem;
	text-align: center;
	padding-top: 1px;
}
.present {
	display: flex;
	align-items: flex-start;
	width: 94%;
	max-width: 900px;
	margin: 0 auto 5rem;
}
.present img:first-child {
	display: block;
	width: 25%;
	margin-right: 2rem;
}
.present img:last-child {
	display: block;
	width: 70%;
}
.contact {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto 3rem;
	padding: 3rem 0;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	display: flex;
	align-items: stretch;
}
.contact b {
	background: #fff;
	color: #e08980;
	font-size: 2rem;
	font-weight: 500;
	width: 160px;
	margin-right: 2.5rem;
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact div {
	text-align: left;
	color: #fff;
}
.contact div .name {
	font-size: 1.8rem;
}
.contact div .tel {
	font-size: 4rem;
	line-height: 1;
	color: #fff;
}
.contact div .tel span {
	font-size: 3rem;	
}
.contact div .time {
	font-size: 1.8rem;
	margin-right: 1rem;
	display: inline-block;
}
.contact div .mail {
	font-size: 2.4rem;
	color: #fff;
	display: inline-block;
}

.foot_wrap small {
	color: #fff;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}
.button_bottom img {
	display: block;
	width: 80%;
	max-width: 720px;
	margin: 0 auto;
	position: relative;
	top: 0;
	transition: all .3s ease;
}
.button_bottom img:hover {
	top: 7px;
	opacity: 0.7;
}
.button_fix {
	position: fixed;
	right: 10px;
	bottom: 10px;
	width: 170px;
	z-index: 10;
    display: block;
    transition: all .3s ease-in-out;
    transform: translateY(0);
}
.button_fix img {
	display: block;
	width: 100%;
    vertical-align: middle;
}
.button_fix:hover{
    transform: translateY(-5px);
}
.is-hidden {
  visibility: hidden;
  opacity: 0;
}
@media screen and (max-width: 960px) {
	.button_fix {
		width: 20vw;
		min-width: 100px;
	}
}
@media screen and (max-width: 480px) {
	footer {
		margin-top: 8rem;
	}	
	.button_bottom img {
		width: 92%;
	}
	.present {
		display: block;
		width: 94%;
		margin: -5rem auto 5rem;
	}
	.present img:first-child {
		width: 40%;
		margin-right: 0;
		margin: 0 auto 2rem;
	}
	.present img:last-child {
		width: 100%;
	}
	.contact b {
		margin-right: 1rem;	
	}
	.contact div .name {
		font-size: 1.6rem;
	}
	.contact div .tel {
		font-size: 3.6rem;
	}	
}

@media screen and (max-width: 768px) {
	html {
		font-size: 54.5%;
	}
}
@media screen and (max-width: 640px) {
	.pc_none {
		display: inline;
	}
}

