@charset "UTF-8";
* {box-sizing: border-box;}
html {font-size: 62.5%;}
body {
	font-size: 1.6em;
	line-height: 1.4em;
	transition: .5s;
	display: block;
	height: 100vh;
	background-image: url(../images/bgpc.jpg) ;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-attachment: fixed;
}
.bg::before{
	content: '';
	display: block;
}
body.after_load {
	opacity: 1;
}
body * {
	color: #3c433f;
	letter-spacing: 0.05em;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 400;
}
.bold {font-weight: 700;}
.hidden1 {overflow: hidden!important;}

a, a:hover, a::after, a:hover::after, a img, a:hover img, a::before, a:hover::before {transition: 0.3s;}
a, a:focus {outline:none;}
img {max-width: 100%;}

.scrolldown {
	position: fixed;
	bottom: 5%;
	right: 10%;
}
.scrolldown span {
	position: absolute;
	left: -20px;
	bottom: 25px;
	color: #c74947;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
	padding: 10px 5px;
}
.scrolldown:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0px;
	width: 2px;
	height: 8px;
	background: #c74947;
	transform: skewX(-31deg);
}
.scrolldown:after{
	content: "";
	position: absolute;
	bottom: 0px;
	right: 3px;
	width: 2px;
	height: 28px;
	background: #c74947;
}

/* .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
} */

h2 {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 3rem;
}
h2::before {
	content: '';
  display: block;
  background: url(../images/nav_icon.svg) no-repeat center/auto 100%;
  position: relative;
	width: 18px;
  height: 18px;
  margin: 0 auto 10px;
}

.inner section {
	padding: 30px 20px;
}

.menu {
	top: 50%;
  left: 30%;
  position: fixed;
  width: 26%;
  transform: translate(-60% , -55%);
}
.menu a:hover {
	opacity: 0.6;
}
#page-top {
	margin-bottom: 20px;
}
.nav_list li {
	padding: 10px 0;
}
.nav_list li span {
	font-weight: bold;
	font-size: 1.6rem;
}
.nav_list a::before {
	content:"";
	background: url(../images/nav_icon.svg) no-repeat;
	display: inline-block;
	position: relative;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	margin: 0 8px 0 0;
}
.sp_menu_btn button {
	display: none;
}

.contents {
	position: fixed;
	background-color: #fff;
	width: 40%;
	transform: translate(120%, 0%);
	position: relative;
	overflow-y: auto;
	-ms-overflow-style: none;
	 scrollbar-width: none;
	scroll-behavior: smooth;
}
.contents::-webkit-scrollbar {
	display: none;
}

/* FV */
.FV {
	position: relative;
	padding: 0;
}
.FV img {
	display: block;
}
.FV .mv {
	width: 100%;
	box-sizing: border-box;
	display: block;
}
.FV .title {
	position: absolute;
  top: 13%;
  left: 50%;
  transform: translate(-50%, -20%);
	width: 70%;
}
.FV .jq {
	position: absolute;
	top: 68%;
  right: 0%;
  width: 30%;
	animation: 3s fuwafuwa infinite;
  display: inline-block;
  transition: 1.5s ease-in-out;
}
@keyframes fuwafuwa {
	0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* どこでもAMUとは？ */
.about h3 {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 1rem;
	text-align: center;
}
.about_block {
	margin-bottom: 3rem;
}
.about .what img {
	width: 140px;
	padding-right: 10px;
}
.about .what {
	background-color: #ffeae7;
	border-radius: 10px;
	padding: 20px;
}
.about .what h3 {
	text-align: left;
}
.about .what p {
	line-height: 1.5;
	font-size: 1.5rem;
}
.about .movie .mov {
	width: 100%;
	display: block;
	padding-bottom: 2rem;
}
.scene h3 {
	margin-bottom: 3rem;
}
.scene h3::before {
	left: 60px;
  transform: rotate(-35deg);
}
.scene h3::after {
	right: 60px;
  transform: rotate(35deg);
}
.scene h3:first-child::before, .scene h3:first-child::after {
	content: "";
	width: 2px;
	height: 2.2rem;
	background-color: #3c433f;
	position: absolute;
}
.scene .flex {
	display: flex;
	align-items: center;
	width: calc(100% + 20px)
}
.scene .reverse {
	flex-flow: row-reverse;
}
.scene p {
	font-size: 1.4rem;
}
.scene small {
	display: block;
	font-size: 1.1rem;
	margin-top: 5px;
}
.scene .txt {
	width: 60%;
	height: 60%;
	padding-right: 20px;
}
.scene .image {
	width: 40%;
	height: 40%;
	padding-right: 20px;
}
.scene .zoom {
	animation: zoom 1.6s infinite ease-in-out alternate;
  transform: scale(0.85,0.85);
}
@keyframes zoom {
	100% {
		transform: scale(1,1);
	}
}
.scene h4 {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 1.4;
}
.scene .flex .h4_3baca3 {
	color: #3baca3;
}
.scene .flex .h4_eb6469 {
	color: #eb6469;
}
.scene .flex .h4_a185c1 {
	color: #a185c1;
}
.scene .flex .h4_f9841a {
	color: #f9841a;
}
.scene .flex .h4_6199df {
	color: #6199df;
}
.scene .flex .h4_e88aad {
	color: #e88aad;
}

/* ご利用方法 */
.flow {
	background-color: #fff9d7;
}
.flow_block {
	margin-bottom: 2rem;
}
.flow_block:last-child {
	margin-bottom: 0;
}
.flow h3 {
	color: #f58c64;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
.flow .flow_block::after {
	border-top: 20px solid #f0bd59;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  content: "";
  position: relative;
  bottom: 70%;
  left: 50%;
  width: 0;
  margin-left: -30px;
  display: block;
  margin-top: 2rem;
}
.flow .step4::after {
	border: none;
}
.flow .step {
	background-color: #f58c64;
	padding: 16px;
	border-radius: 10px;
}
.flow .step p, .flow .step li {
	color: #fff;
	font-size: 1.4rem;
}
.flow .step .ttl {
	font-weight: bold;
	font-size: 1.6rem;
	margin-bottom: 10px;
	text-align: center;
}
.flow .step .ttl .sp {
	display: none;
}
.flow .step1 img, .flow .step2 img {
	position: absolute;
	display: inline-block;
	width: 20%;
	right: 14%;
	transform: translate(50%, -25%);
}
.flow .step4 img {
	width: 50%;
	margin: 2rem auto 0;
	display: block;
}
.flow .step3 p, .flow .step3 ul {
	margin-bottom: 1rem;
}
.flow .step3 li {
	padding-left: 1.6rem;
 }
.flow .step3 li:first-child {
	padding-left: 0;
}
.flow .step3 .credit {
	padding: 16px;
	background-color: #fff;
	border-radius: 8px;
}
.flow .step3 .credit p {
	padding: 8px 16px;
	background-color: #e88aad;
	border-radius: 30px;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.4;
	position: relative;
}
.flow .step3 .credit p::before {
	content: "";
  position: absolute;
  display: block;
  width: 50%;
  height: 50%;
  left: 16%;
  top: 90%;
  background: url(../images/flow_03_credit_parts.svg) no-repeat left/contain;
}
.flow .step3 .credit small {
	display: block;
	font-size: 1.1rem;
	color: #fff;
	margin-top: 4px;
}
.flow .step3 .credit img {
	padding: 10px;
}

/* よくあるご質問 */
.qa .accordion {
	display: block;
  width: : 100%;
  margin: 0 auto;
}
.qa .accordion_block {
	margin-bottom: 10px;
}
.qa .accordion_item {
  margin-top: 10px;
  cursor: pointer;
}
.qa .accordion_catch p {
	color: #fff;
	font-weight: bold;
	background-color: #3baca3;
	border-radius: 10px;
	position: relative;
	padding: 10px 15px 10px 15px;
	cursor: pointer;
}
.qa .accordion_catch p::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 8px 0 7px;
	border-color: #fff transparent transparent transparent;
	position: absolute;
	top: 47%;
	right: 3%;
	transition: all 0.3s;
}
.qa .accordion_block.active .accordion_catch p::after {
	content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7px 8px 7px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  top: 50%;
  right: 3%;
  margin-top: -4px;
}
.qa .accordion {
  display: none;
}
.qa .accordion.open {
  display: block;
}

.qa .accordion_item dt {
	background-color: #e2f2f2;
	border-radius: 10px;
  position: relative;
  padding: 10px 60px 10px 45px;
  cursor: pointer;
}
.qa .accordion_item dt span {
	font-weight: bold;
	position: relative;
}
.qa .accordion_item dt span::before {
	content: "";
  position: absolute;
  display: block;
	width: 20px;
  height: 20px;
  left: -30px;
  top: 2px;
  background: url(../images/qa_q.svg) no-repeat left/contain;
}
.qa .accordion_item dt::before,
.qa .accordion_item dt::after {
	content: "";
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background-color: #3c433f;
  width: 14px;
  height: 2px;
  transition: all 0.3s;
}
.qa .accordion_item dt::after {
  transform: rotate(90deg);
}
.qa .accordion_item dd {
  display: none;
  cursor: pointer;
	position: relative;
}
.qa .accordion_item dd::before {
	content: "";
  position: absolute;
  display: block;
	width: 20px;
  height: 20px;
  left: 15px;
  top: 12px;
  background: url(../images/qa_a.svg) no-repeat left/contain;
}

.qa .accordion_item dd.open {
  display: block;
}
.qa .accordion_item.active dt::before {
  transform: rotate(180deg);
}
.qa .accordion_item.active dt::after {
  transform: rotate(180deg);
  opacity: 0;
}
.qa .accordion_item dd .inbox {
	font-size: 1.4rem;
	padding: 10px 20px 10px 45px;
}
.qa .accordion_item dd .inbox img {
	padding: 10px;
}
.qa .accordion_item dd .btn_block {
	margin: 10px 0;
}
.qa .accordion_item dd_list li {
	text-indent:-1rem;
  padding-left:1rem;
}
.qa .accordion_item dd_list li::before {
	content: "";
	width: 3px;
	height: 3px;
	position: relative;
	top: -3px;
	margin-right: 6px;
	display: inline-block;
	background-color: #3c433f;
	border-radius: 50%;
}
.qa .inquiry {
	border: 1px solid;
	border-color: #3c433f;
	border-radius: 8px;
	padding: 16px;
	font-size: 1.3rem;
	line-height: 1.3;
}
.qa .inquiry p {
	margin-bottom: 0.7rem;
}
.qa .inquiry .inquiry_list li {
	text-indent:-1rem;
  padding-left:1rem;
}
.qa .inquiry .inquiry_list li::before {
	content: "";
	width: 3px;
	height: 3px;
	position: relative;
	top: -3px;
	margin-right: 6px;
	display: inline-block;
	background-color: #3c433f;
	border-radius: 50%;
}


footer {
	margin-top: 2rem;
  padding-bottom: 2rem;
}
.copy {
	margin-top: 50px;
	text-align: center;
	color: #3c433f;
	font-size: 1.1rem;
}

.btn_block {
	width: 100%;
	margin: auto;
  display: block;
  background-color: #c74947;
  font-weight: bold;
  padding: 14px 10px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 4px 0 rgb(0 0 0 / 20%);
  transition: .3s;
  cursor: pointer;
	position: relative;
}
.btn_block:hover {
	box-shadow: none;
	transform: translate(0, 5px);
}
.btn_block span {
	color: #fff;
	font-weight: bold;
	line-height: 1;
}
.btn_block::after {
	content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 8px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 6%;
  margin-top: -7px;
}


.anm {
	opacity: 0;
	transform: translateY(10px);
	transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.anm.show {
	opacity: 1;
	transition-delay: .1s;
	transform: translateY(0px);
}

/* --------------------- */
@media screen and (min-width: 751px) {
	h1 a:hover img, footer h3 a:hover img {opacity: .5;}
	.sp_menu button:hover span.bar {margin: 0 auto;}
	.sp_menu button.active:hover span.bar {margin: 7px auto;}
	.sp_menu button.active:hover span.bar3 {margin-top: 12px;}
	.event_list a:hover img {transform: rotate(6deg);}
}

/* --------------------- */
@media screen and (min-width: 1300px) {
	.scene h3::before { left: 100px; transform: rotate(-35deg);}
	.scene h3::after { right: 100px; transform: rotate(35deg);}
	.flow .step1 img, .flow .step2 img { width: 19%; right: 14%; transform: translate(50%, -18%);}
}
@media screen and (max-width: 1200px) {
	.scene h3::before { left: 35px; transform: rotate(-35deg);}
	.scene h3::after { right: 35px; transform: rotate(35deg);}
	.flow .step1 img, .flow .step2 img { width: 26%; right: 14%; transform: translate(50%, -20%);}
	.flow .step3 .credit p::before {width: 35%; height: 35%;}
}/* 1200px */

@media screen and (max-width: 1000px) {
	.scene .lead { font-size: 1.6rem;}
	.scene h3::before { left: 25px; transform: rotate(-35deg);}
	.scene h3::after { right: 25px; transform: rotate(35deg);}
	.flow .step3 .credit p { font-size: 1.2rem;}
	.flow .step3 .credit p .sp { display: none;}
	.flow .step .ttl .sp { display: block;}
}/* 1000px */

@media screen and (max-width: 860px) {
	.scene .lead { font-size: 1.5rem;}
	.scene h3::before { left: 15px; transform: rotate(-35deg);}
	.scene h3::after { right: 15px; transform: rotate(35deg);}
	.flow .step3 .credit p::before {width: 30%; height: 30%;}
}/* 860px */

@media screen and (max-width: 750px) {
	body { display: block; background-image: none;}
	.scrolldown { display: none;}
	.contents { position: static;; background-color: #fff; width: 100%; height: auto; transform: translate(0, 0);}

	.menu { width: 100%; top: 0; z-index: 1; transform: translate(0,0);}
	.nav_list li {
		width: 100%;
		height: 100%;
		margin: 0 0 2rem 0;
	}
	.sp_menu_btn {
		position: fixed;
		top: 2%;
		right: 2%;
		z-index: 9997;
	}
	.sp_menu_btn button {
		display: block;
		cursor: pointer;
		width: 45px;
		height: 45px;
		border: none;
		outline: none;
		border-radius: 6px;
		background-color: #fff;
		padding: 0;
		transition: .3s;
	}
	.sp_menu_btn button span.bar {
		display: block;
		height: 3px;
		width: 25px;
		background-color: #3c433f;
		margin: 7px auto;
		transition: all 0.2s;
		transform-origin: 0 0;
	}
	.sp_menu_btn button.active span.bar {
		width: 35px;
		transform-origin: center left;
	}
	.sp_menu_btn .active .bar1 {
		transform: rotate(45deg) translate(4px, -4px);
	}
	.sp_menu_btn .active .bar2 {opacity: 0;}
	.sp_menu_btn button.active .bar3 {
		transform: rotate(-45deg) translate(4px, 4px);
		margin-top: 12px;
	}
	.menu {
		width: 50vw;
		position: fixed;
		top: 0;
		left: inherit;
		right: -50vw;
		z-index: 1;
		transform: translate(0, 0);
		transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
	}
	#page-top {
		width: 40%;
	}
	.menu nav {
		position: static;
		background-color: #fff;
		height: 100vh;
		padding: 20px 30px;
		box-sizing: border-box;
	}
	.menu.open {
		right: 0;
	}
	.menu nav > ul li {
		transition: 1s cubic-bezier(0.16, 1, 0.3, 1);
		margin-bottom: 24px;
	}
	.menu nav > ul li:last-child {margin-bottom: 0;}
	.menu nav li a {
		display: inline-block;
		transform: translateX(20px);
		color: #3c433f;
	}
	.menu.open > ul li a {
		transform: translateX(0px);
		opacity: 1;
		transition-delay: .2s;
	}
	.menu.open > ul li a:hover{
		opacity: 0.6;
	}
	.menu.open > ul li:nth-child(2) a {transition-delay: .35s;}
	.menu.open > ul li:nth-child(3) a {transition-delay: .4s;}
	.menu.open > ul li:nth-child(4) a {transition-delay: .45s;}
	.menu.open > ul li:nth-child(5) a {transition-delay: .5s;}

	.scene .lead {
		font-size: 1.8rem;
	}
	.scene h3::before {
		left: 160px;
	  transform: rotate(-35deg);
	}
	.scene h3::after {
		right: 160px;
	  transform: rotate(35deg);
	}
	.flow .step1 img, .flow .step2 img {
		width: 20%;
    right: 11%;
		transform: translate(50%, -23%);
	}
	.flow .step3 .credit p { font-size: 1.4rem;}
	.flow .step3 .credit p::before {width: 50%; height: 50%;}
	.flow .step .ttl .sp { display: none;}

}/* 750px */

@media screen and (max-width: 650px) {
	.scene h3::before { left: 100px; transform: rotate(-35deg);}
	.scene h3::after { right: 100px; transform: rotate(35deg);}
	.flow .step3 .credit p .sp { display: block;}
}/* 650px */

@media screen and (max-width: 520px) {
	.menu { width: 70vw; right: -70vw;}
	.about .what p { letter-spacing: 0.03em;}
	.scene h3::before { left: 50px; transform: rotate(-35deg);}
	.scene h3::after { right: 50px; transform: rotate(35deg);}
	.scene p { letter-spacing: 0.01em; font-size: 1.3rem; line-height: 1.6;}
	.flow .step p, .flow .step li {letter-spacing: 0.03em;}
}/* 520px */

@media screen and (max-width: 480px) {
	.scene h3::before { left: 20px; transform: rotate(-35deg);}
	.scene h3::after { right: 20px; transform: rotate(35deg);}
	.flow .step1 img, .flow .step2 img { width: 24%; right: 14%;transform: translate(50%, -23%);}
	.flow .step3 .credit p { font-size: 1.2rem; padding: 8px 12px;}
	.flow .step .ttl .sp { display: block;}
	}
}/* 480px */

@media screen and (max-width: 400px) {
	.menu { width: 80vw; right: -80vw;}
}/* 400px */


@media screen and (max-width: 370px) {
	.scene .lead { font-size: 1.5rem;}
	.flow .step3 .credit p::before {width: 30%; height: 30%;}
	.flow .step1 img, .flow .step2 img { width: 32%; right: 19%;transform: translate(50%, -23%);}
	.flow .step3 .credit p .sp { display: none;}
}/* 370px */
