﻿@charset "utf-8";
html{
	-webkit-text-size-adjust: 100%;
}
html.close {
	overflow:hidden;
	height:100%;
}

body {
	font-family: "source-han-serif-jp-subset", serif;
	font-size:min(4.2vw,19px);
	text-align:center;
	color:#000;
	line-height:1.7;
//	font-feature-settings: "palt";
}
body:before {
	content:'';
	display:block;
	width:100%;
	height:100%;
	position:fixed;
	left:0;
	top:0;
	z-index:-1;
	background:#e1ebf2 url(../images/fix_bg.webp)no-repeat center bottom;
	background-size:min(100%,1350px) auto;
}

.en{
  font-family: austin-pen, serif;
}
.en2{
	font-family: "alex-brush", serif;
}

a {
	color:#000;
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.7;
}

@media screen and (max-width:750px){
	a:hover {
		opacity: 1;
	}
}

img{
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}

.only_sp,
.only_sp_i,
.only_sp_f{
	display:none !important;
}

@media screen and (max-width:768px){
	.only_pc{
		display:none !important;
	}
	.only_sp{
		display:block !important;
	}
	.only_sp_i{
		display:inline-block !important;
	}
	.only_sp_f{
		display: -webkit-flex !important;
		display: flex !important;
	}
}

#wrapper{
	max-width:450px;
	margin-left:min(50% - 450px + 90px);
	background-color:#fff;
}

@media screen and (max-width:768px){
	#wrapper{
		margin:auto;
	}
}


.inner{
	width:min(405px,90%);
	margin:auto;
}


/* 色関係 */
.blue{
	color:#005585;
}
.bg_blue{
	color:#fff;
	background-color:#005585;
}
.sky{
	color:#337bad;
}
.bg_sky{
	color:#fff;
	background-color:#337bad;
}
.bg_black{
	color:#fff;
	background-color:#3f3e3a;
}
.green{
	color:#1c8784;
}
.bg_green{
	color:#fff;
	background-color:#1c8784;
}
.skin{
	color:#ed8c72;
}
.bg_skin{
	color:#fff;
	background-color:#ed8c72;
}
.yellow{
	color:#f8a30a;
}
.bg_yellow{
	color:#fff;
	background-color:#f9ba32;
}


/* 書式 */
.text_left{
	text-align:left !important;
}
.text_right{
	text-align:right !important;
}
.text_center{
	text-align:center !important;
}

.bold{
	font-weight:bold;
}
.heavy{
	font-weight:900;
}

.blc{
	display:block;
}



/* .tit_icon */
.tit_icon{
	font-weight:normal;
	position:relative;
}
.tit_icon:after{
	content:'';
	display:block;
	width:0.9em;
	height:0.9em;
	margin:0.5em auto 0;
	background:url(../images/tit_icon.png)no-repeat center top;
	background-size:100% auto;
}
.tit_icon .en{
	line-height:0.8;
	display:block;
	font-size:min(9.3vw,42px);
}
.tit_icon .jp{
	display:block;
	font-size:min(4vw,18px);
}


/* .bottom_logo */
.bottom_logo{
	text-align:left;
}
.bottom_logo .jp{
	line-height:0.5;
	display:block;
	margin-left:5.5em;
	font-size:min(4vw,18px);
}
.bottom_logo .en{
	line-height:0.5;
	display:block;
	font-size:min(26.6vw,120px);
}



/* header */
header{
	width:100%;
	max-width:450px;
	height:min(14.7vw,66px);
	line-height:1;
	padding-left:0.8em;
	background-color:#F9F9F9;
	display:flex;
	align-items:center;
	position:fixed;
	left:calc(50% - 450px + 90px);
	top:0;
	z-index:100;
}
header .logo{
	width:calc(100% - 2.8em);
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}
header .logo .logo_wrapper{
	display:flex;
	align-items:flex-end;
	flex-wrap:wrap;
}
header .logo .logo_wrapper .small{
	margin-bottom:0.5em;
	padding-bottom:0.3em;
	font-size:min(2.6vw,12px);
	border-bottom:1px solid;
}
header .logo .logo_wrapper .middle{
	font-size:min(3.4vw,15px);
}
header .logo .logo_wrapper .large{
	margin-left:0.35em;
	font-size:min(3.8vw,18px);
	font-weight:bold;
}
header .company{
	width:3.2em;
	line-height:1;
	font-size:min(7.7vw,34px);
	font-weight:bold;
	letter-spacing:0.05em;
	white-space:nowrap;
}

@media screen and (max-width:768px){
	header{
		left:calc(50% - 225px);
	}
}

@media screen and (max-width:450px){
	header{
		left:0;
	}
}


/* header nav */
header nav{
	width:100%;
	max-width:450px;
	height:100vh;
	position:fixed;
	left:calc(50% - 90px);
	top:0;
	z-index:99;
	overflow:auto;
	display:none;
}
header nav .sec{
	width:100%;
	min-height:100dvh;
	padding-top:min(9.3vw,42px);
	background:
		url(../images/bottom_logo.png)no-repeat center bottom -0.3em,
		url(../images/menu_bg.webp)no-repeat center top;
	background-size:100% auto,cover;
	background-color:#fff;
	position:relative;
}
header nav .sec .tit_icon{
	color:#fff;
}
header nav .sec ul{
	padding:1.5% 13% 0;
}
header nav .sec ul li{
	margin-top:3%;
}
header nav .sec ul li a{
	line-height:2;
	display:block;
	background-color:rgba(255,255,255,0.9);
}

@media screen and (max-width:768px){
	header nav{
		left:calc(50% - 225px);
	}
}


@media screen and (max-width:450px){
	header nav{
		left:0;
	}
	header nav .sec{
		width:100%;
	}
}


/* #btnmenu */
#btnmenu{
	width:2em;
	height:2em;
	margin:0;
	padding:0;
	position:absolute;
	right:3%;
	top:50%;
	transform:translateY(-40%);
	z-index:103;
	cursor:pointer;
}

#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.5em;
	height: 0.13em;
	border-radius:0;
	margin: -0.075em 0 0 -0.75em;
	background: #5d4d41;
	-webkit-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.5em;
	height: 0.13em;
	background: #5d4d41;
	border-radius:0;
	-webkit-transition: .3s;
	transition: .3s;
}

#btnmenu span:before{
	margin-top: -0.6em;
}

#btnmenu span:after{
	margin-top: 0.5em;
}
#btnmenu.close span{
	background: transparent;
	width:2em;
	height:2em;
	margin:0;
	left:0;
	top:0;
}

#btnmenu.close span:before,
#btnmenu.close span:after{
	margin-top: 0;
	background-color:#fff;
}

#btnmenu.close span:before{
	width: 1.5em;
	height: 0.15em;
	margin: -0.1em 0 0 0.3em;
	border-radius:0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu.close span:after{
	width: 1.5em;
	height: 0.15em;
	margin: -0.1em 0 0 0.3em;
	border-radius:0;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}



/* main */
main{
	padding-top:min(14.7vw,66px);
}


/* .banner */
.banner{
	display:flex;
}
.banner li{
	width:50%;
}
.banner li a{
	height:min(11.2vw,50px);
	font-size:min(3.7vw,17px);
	display:flex;
	justify-content:center;
	align-items:center;
}
.banner li a img{
	width:1.1em;
	margin-right:0.1em;
}


/* .cta */
.cta{
	padding:0 min(5.3vw,24px) min(20vw,90px);
}
.cta dt{
	font-size:min(5.3vw,24px);
	font-weight:bold;
}
.cta dd{
	margin-top:0.7em;
}
.cta dd a{
	height:min(12.5vw,56px);
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:0.15em;
}
.cta dd a img{
	width:1.1em;
	margin-right:0.1em;
}


/* #mv */
#mv{
}
#mv .sec{
	height:calc(100vh - 66px - 50px - 62px);
	min-height:520px;
	max-height:800px;
	padding:5% 0 0;
	background:
		url(../images/bottom_logo_w.png)no-repeat center bottom -0.3em,
		url(../images/mv_bg.webp)no-repeat center top;
	background-size:100% auto,cover;
}
#mv .sec h1 .large{
	display:block;
	line-height:1.3;
	font-size:min(5.6vw,25px);
	letter-spacing:0.05em;
	padding-left:0.05em;
}
#mv .sec h1 .border{
	display:flex;
	justify-content:center;
	align-items:center;
}
#mv .sec h1 .border:before{
	content:'';
	display:block;
	width:2.5em;
	height:0.1em;
	margin-right:0.5em;
	background-color:#005585;
}
#mv .sec h1 .border:after{
	content:'';
	display:block;
	width:2.5em;
	height:0.1em;
	margin-left:0.5em;
	background-color:#005585;
}
#mv .sec h1 .small{
	margin-top:1em;
	display:block;
	line-height:1.3;
	font-size:min(4vw,18px);
}
#mv .sec .service{
	width:52%;
	margin:5% auto 0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
#mv .sec .service li{
	width:49%;
	margin-top:3%;
}
#mv .sec .bottom_logo{
	margin-top:auto;
	color:#fff;
}

#mv .bottom_mess{
	position:relative;
}
#mv .bottom_mess .mess{
	height:2em;
	font-size:min(6.9vw,31px);
	font-weight:500;
	display:flex;
	justify-content:center;
	align-items:center;
}
#mv .bottom_mess .scroll{
	display:block;
	width:6em;
	margin:auto;
	padding:0 3%;
	line-height:1.3;
	font-size:min(2.6vw,12px);
	border-bottom:2px solid;
	position:absolute;
	left:50%;
	transform:translate(-58%,120%) rotate(-90deg);
	animation: move 1s infinite;
}
#mv .bottom_mess .scroll:before{
	content:'';
	display:block;
	width:2px;
	height:1em;
	background-color:#005585;
	position:absolute;
	left:0;
	top:calc(100% + 2px);
	transform:rotate(-55deg);
	transform-origin:left top;
}
@keyframes move {
	0% {
		top:90%;
	}
	40% {
		top:110%;
	}
	100% {
		top:90%;
	}
}

@media screen and (max-width:450px){
	#mv .sec{
		height:calc(100svh - 38vw);
		min-height:120vw;
		max-height:180vw;
	}
}


/* .cont */
.cont{
	padding:min(0.5vw,15px) 0 min(12vw,54px);
}


/* #cont0 */
#cont0{
	padding-top:min(12vw,54px);
}
#cont0 .nav_list div{
	margin-top:min(4vw,30px);
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
#cont0 .nav_list div dt{
	width:100%;
	line-height:1;
	padding-left:0.3em;
	font-size:min(5.8vw,26px);
	font-weight:600;
	text-align:left;
	border-left:0.3em solid;
	white-space:nowrap;
}
#cont0 .nav_list div dd{
	width:47%;
	margin-top:3%;
}
#cont0 .nav_list div dd a{
	display:block;
	padding-bottom:5%;
	border:2px solid;
	border-radius:0.3em;
	box-shadow:7px 7px 5px rgba(0,0,0,0.3);
}
#cont0 .nav_list div dd a .num{
	line-height:1;
	font-size:min(9.3vw,42px);
}
#cont0 .nav_list div dd a .num:before{
	content:'Case.';
	font-size:min(3.2vw,14px);
	font-family: austin-pen, sans-serif;
	vertical-align:0.3em;
}
#cont0 .nav_list div dd a h2{
	line-height:1.3;
	font-size:min(4.2vw,18px);
	font-feature-settings: "palt";
	white-space:nowrap;
}
#cont0 .nav_list div dd a p{
	margin-top:0.25em;
	padding:0.2em 0 0.2em;
	font-size:min(5.8vw,26px);
	font-weight:600;
	letter-spacing:0.1em;
	text-indent:0.1em;
}
#cont0 .nav_list div dd a p:after{
	content:'';
	display:block;
	width:0.6em;
	height:0.8em;
	margin:auto;
	background:url(../images/arrow.png)no-repeat center bottom;
	background-size:100% auto;
}
#cont0 .bottom{
	line-height:1.5;
	margin-top:12%;
	font-size:min(4.8vw,21px);
	font-weight:bold;
}


/* .service */
.service{
}
.service .service_icon{
	display:inline-block;
	width:3.6em;
}
.service .service_tit{
	line-height:2.3;
	margin-top:0.5em;
	padding-bottom:0.2em;
	font-size:min(5.6vw,25px);
	font-weight:600;
	letter-spacing:0.1em;
	text-indent:0.1em;
	position:relative;
}
.service .service_tit:after{
	content:'';
	display:block;
	width:100%;
	height:1px;
	background-color:#fff;
	position:absolute;
	left:0;
	bottom:0.4em;
}
.service .sec{
	padding:9% 0 1.5%;
	
}
.service .sec h3 .jp{
	display:block;
	font-size:min(4.8vw,21px);
}
.service .sec h3 .en{
	line-height:1;
	display:block;
	font-size:min(9.3vw,42px);
	font-weight:normal;
}
.service .sec h3 .icon{
	display:block;
	line-height:1.3;
	padding-bottom:0.15em;
	font-size:min(5.3vw,24px);
	border-bottom:2px solid;
	white-space:nowrap;
}
.service .sec h3 .icon:before{
	content:'';
	display:block;
	width:0.65em;
	height:0.65em;
	margin:0.3em auto 0.5em;
	background:url(../images/tit_icon.png)no-repeat center top;
	background-size:100% auto;
}
.service .sec h3 .icon.none:before{
	content:none;
}
.service .sec p{
	margin-top:0.5em;
	text-align:left;
}
.service .sec .list{
	margin-top:7%;
	text-align:left;
	counter-reset: listnum;
}
.service .sec .list li:nth-child(n+2){
	margin-top:9%;
}
.service .sec .list li h4{
	padding-left:1.6em;
	text-indent:-1.6em;
	line-height:1.3;
	font-size:min(4.4vw,20px);
	white-space:nowrap;
}
.service .sec .list li h4:before{
	line-height:0.5;
	content:counter(listnum);
  counter-increment: listnum;
	font-family: austin-pen, sans-serif;
	font-size:min(9.8vw,44px);
	font-weight:normal;
	vertical-align:0.05em;
	margin-right:0.3em;
}

.service .sec .sec_caution{
	margin-top:9%;
}
.service .sec .sec_caution h5{
	font-size:min(4vw,18px);
	white-space:nowrap;
	text-align:left;
}
.service .sec .sec_caution dl{
	padding:5% 5% 0;
	border:4px solid #bdbdb5;
}
.service .sec .sec_caution dl dt{
	font-weight:bold;
	background-color:#e5e5e5;
}
.service .sec .sec_caution dl dd{
	line-height:1.5;
	padding:0.3em 0 2em;
	font-size:min(3.7vw,17px);
	text-align:left;
}
.service .sec .sec_caution p{
	line-height:1.5;
	margin-top:5%;
	padding:5%;
	border:4px solid #bdbdb5;
	font-size:min(3.7vw,17px);
}
.service .sec .last_mess{
	margin-top:12%;
	padding:6% 8%;
	font-weight:bold;
	text-align:left;
	position:relative;
}
.service .sec .last_mess:before{
	content:'';
	display:block;
	width:3em;
	height:3em;
	border-top:0.4em solid;
	border-left:0.4em solid;
	position:absolute;
	top:0;
	left:0;
}
.service .sec .last_mess:after{
	content:'';
	display:block;
	width:3em;
	height:3em;
	border-bottom:0.4em solid;
	border-right:0.4em solid;
	position:absolute;
	bottom:0;
	right:0;
}



/* #cont1 */
#cont1{
}
#cont1 .sec .last_mess{
	background-color:#ebf2f7;
}


/* #cont2 */
#cont2{
}
#cont2 .sec .last_mess{
	background-color:#e8f3f3;
}


/* #cont3 */
#cont3{
}
#cont3 .sec .last_mess{
	background-color:#fdf0ef;
}


/* #cont4 */
#cont4{
}
#cont4 .sec .last_mess{
	background-color:#fef8ea;
}


/* #cont5 */
#cont5{
}
#cont5 .tbl{
	margin-top:5%;
	text-align:left;
}
#cont5 .tbl tr{
	border-bottom:1px solid;
}
#cont5 .tbl th,
#cont5 .tbl td{
	font-size:min(3.3vw,15px);
	font-weight:normal;
	color:#444;
}
#cont5 .tbl th{
	padding:1.2em 0.2em;
	text-align:justify;
	text-align-last:justify;
	white-space:nowrap;
	letter-spacing:0.08em;
	text-indent:0.08em;
}
#cont5 .tbl td{
	padding: 1.2em 0 1.2em 0.8em;
}
#cont5 .fig{
	width:min(60%,270px);
	margin-top:min(9.3vw,42px);
}
#cont5 .fig figcaption{
	font-size:min(3.3vw,15px);
	text-align:left;
}


/* #cont6 */
#cont6{
}
#cont6 .tit_icon:after{
	margin:1em auto 0;
}
#cont6 .map{
	margin-top:5%;
	position:relative;
	padding-top:90%;
}
#cont6 .map iframe{
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}


/* #cont7 */
#cont7{
}
#cont7 .lead{
	line-height:1.3;
	margin:-2em auto 0.5em;
	padding-bottom:1.5em;
	font-size:min(4.8vw,21px);
	font-weight:bold;
	color:#3f3e3a;
	text-align:left;
	letter-spacing:0.03em;
	background:url(../images/arrow_blue.png)no-repeat center bottom;
	background-size:1em auto;
}


/* #contact */
#contact{
	padding: min(12vw,54px) 0 min(20vw,90px);
}
.tit_icon.mt:after{
	margin:1em auto 0;
}
#contact .lead{
	margin-top:min(11vw,50px);
	text-align:left;
}
#contact .lead .caution{
	display:block;
	padding-left:2em;
	text-indent:-2em;
	font-size:min(3.7vw,17px);
}
#contact .input{
	max-width:360px;
	width:80%;
	margin-top:min(9vw,40px);
	color:#505050;
}
#contact .input .hissu:after{
	content:'必須';
	margin-left:1em;
	font-size:min(3.5vw,16px);
	color:#ed6c5d;
	vertical-align:0;
}
#contact .input dl{
	text-align:left;
}
#contact .input dl dt{
	margin:1.3em 0 0.3em;
	font-size:clamp(16px,4vw,18px);
}
#contact .input dl.confirm dt{
	font-weight:bold;
}
#contact .input dl.confirm dd{
	border-bottom:1px dotted;
}
#contact .input .policy{
	margin-top:1.5em;
}
#contact .input .policy h3{
	font-size:min(3.5vw,16px);
	font-weight:normal;
	text-align:left;
	}
#contact .input .policy .cont_wrapper{
	height:20em;
	padding:3% 3% 5%;
	font-size:min(3.1vw,14px);
	text-align:left;
	overflow:auto;
	border:1px solid #c7c7c7;
}
#contact .input .policy .cont_wrapper h3 {
	font-size:min(4vw,18px);
}
#contact .input .policy .cont_wrapper .lead {
	margin-top:0;
}
#contact .input .policy .cont_wrapper .num_list {
	padding-left:1.5em;
}
#contact .input .policy .cont_wrapper .num_list > li{
	margin-top:1em;
	list-style:decimal;
}
#contact .input .policy .cont_wrapper .num_list > li .mt {
	margin-top:1em;
}
#contact .input .policy .cont_wrapper .num_list > li .indent {
	padding-left:1.35em;
	text-indent:-1.35em;
}

#contact .input .privacy{
	margin-top:1em;
	text-align:left;
}

#contact .thanks{
	max-width:360px;
	width:80%;
	margin-top:min(9vw,40px);
}
#contact .thanks h3{
	font-size:min(5.6vw,25px);
	font-weight:600;
}
#contact .thanks p{
	line-height:1.5;
	margin-top:min(6.6vw,30px);
}
#contact .thanks .tel{
	margin-top:12%;
	font-weight:bold;
}
#contact .thanks .tel .small{
	font-size:min(4.8vw,21px);
	letter-spacing:0.1em;
	vertical-align:0.3em;
}
#contact .thanks .tel .large{
	font-size:min(9.8vw,44px);
}
#contact .thanks .btn{
	margin-top:20%;
}


/* テキストボックス */
input[type="text"],
input[type="email"],
input[type="tel"]{
	width:100%;
	height:2.6em;
	padding:0 1em;
	font-size:clamp(16px,4.2vw,19px);
	border: 1px solid #C7C7C7;
	border-radius:0em;
	outline:none;
}

/* チェックボックス */
input[type="checkbox"] {
	position: relative;
	-webkit-appearance: none;
	appearance: none;
	font-size:min(3.5vw,16px);
	width: 1.2em;
	height: 1.2em;
	border: 1px solid #C7C7C7;
	border-radius:0;
	vertical-align: middle;
	cursor: pointer;
}
input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	top: 0.05em;
	left: 0.25em;
	content: "";
	width: 0.6em;
	height: 0.8em;
	border-right: min(0.6vw,3px) solid #f00;
	border-bottom: min(0.6vw,3px) solid #f00;
	transform: rotate(42deg);
	background-color:transparent;
	border-radius:0;
}
input[type="checkbox"] + span {
	display:inline-block;
	vertical-align:middle;
	font-size:min(3.5vw,16px);
	margin-left:0.5em;
	line-height:1.5;
	letter-spacing:0.06em;
}

/* テキストエリア */
textarea{
	width:100%;
	min-height: 9em;
	padding:0.5em 1em;
	font-size:clamp(16px,4.2vw,19px);
	border: 1px solid #C7C7C7;
	border-radius:0em;
	vertical-align:bottom;
	outline:none;
}

/* 送信ボタン */
#contact input[type="submit"],
button.btn{
	display:block;
	width:100%;
	line-height:2.4;
	margin:min(3.3vw,15px) auto 0;
	font-size:min(5.3vw,24px);
	cursor:pointer;
}
button[type="submit"]{
	margin-top:min(11vw,50px);
}

/* プレイスホルダー */
input::placeholder,
textarea::placeholder{
	color:#ccc;
}

/* エラー */
form label.error {
	margin:0 0 0;
	font-size:14px;
	color: red;
	display:block;
	font-weight:bold;
	text-align:left;
}
form #privacy_error + label.error {
	text-align:center;
}



/* footer */
footer{
	padding:min(4.6vw,21px) 0 min(8.8vw,40px);
}
footer.no_pd{
	padding-bottom:0;
	overflow:hidden;
}
footer dl dt .small{
	display:inline-block;
	font-size:min(3.4vw,15px);
	border-bottom:1px solid;
}
footer dl dt .large{
	line-height:1.3;
	display:block;
	font-size:min(4.8vw,21px);
}
footer dl dt .company{
	display:inline-block;
	margin-top:5%;
	font-weight:bold;
}
footer dl dt .company .company_small{
	font-size:min(4.2vw,19px);
}
footer dl dt .company .company_large{
	margin-left:0.15em;
	font-size:min(9.8vw,44px);
	letter-spacing:0.08em;
}
footer dl .tel{
	margin-top:5%;
	font-weight:bold;
}
footer dl .tel .small{
	font-size:min(4.8vw,21px);
	letter-spacing:0.1em;
	vertical-align:0.3em;
}
footer dl .tel .large{
	font-size:min(9.8vw,44px);
}
footer dl .info ul{
	padding-left:0.8em;
	display:inline-block;
	font-size:min(3.7vw,17px);
	text-align:left;
}
footer dl .info ul .address{
	line-height:1.3;
}
footer dl .info ul .hour{
	margin-top:0.5em;
}
footer .bottom_logo{
	margin-top:3%;
}
footer.no_pd .bottom_logo{
	margin-bottom:-1.5%;
}



/* to_top */
#topbtn{
	width:3.6em;
	position:fixed;
	z-index:98;
	right:30px;
	bottom:-200px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}


/* #bottom_banner */
#bottom_banner{
	width:100%;
	max-width:450px;
	position:fixed;
	z-index:99;
	left:calc(50% - 450px + 90px);
	bottom:-300px;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
#bottom_banner:hover{
	opacity:1;
}

@media screen and (max-width:768px){
	#bottom_banner{
		left:calc(50% - 225px);
	}
}

@media screen and (max-width:450px){
	#bottom_banner{
		left:0;
	}
}


/* .pc_nav */
.pc_nav{
	width:calc(50% - 90px);
	position:fixed;
	right:0;
	top:0;
}
.pc_nav ul{
	width:220px;
	margin:auto;
	padding:20px 0 0;
}
.pc_nav ul li{
	margin-top:3%;
}
.pc_nav ul li a{
	line-height:2;
	display:block;
	background-color:rgba(255,255,255,0.9);
}


/* fadein */
.fadein {
	opacity : 0.01;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0.01;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 2s;
	transition-duration : 2s;
}


.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein.scrollin,
.fadein_0.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}

/* popup */
.popup {
	-webkit-transform : scale(0);
	transform : scale(0);
	-webkit-transform-origin:left bottom;
	transform-origin:left bottom;
	-webkit-transition-property: transform;
	transition-property : transform;
	-webkit-transition-duration: 0.4s;
	transition-duration : 0.4s;
	-webkit-transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
	transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
}
.popup.scrollin {
	-webkit-transform : scale(1);
	transform : scale(1);
}
