@charset "utf-8";

/*------------------------------------------------------------
LP
------------------------------------------------------------*/

/*パンくずリスト*/
.bread-crumbs .bread-crumbs-inner{
	display: none;
}
main{
	width: 100%;
	/*max-width: 1400px;*/
	max-width: 2000px;
	/*font-family: "linotype-sabon","Times New Roman", Times,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;*/
	font-family: "linotype-sabon","Times New Roman", Times, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", serif;
	margin: 0 auto;
	color: #404040;
	font-size: 14px;
}
main h2{
		font-size: 27px;
		/*font-style: italic;*/
		font-family: "linotype-sabon","Times New Roman", Times, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", serif;
		display: block;
		color: #333333;
		text-align: center;
		margin: 0 auto;
		padding: 100px 0 50px;
	}


/*! pc & tb 
------------------------------------------*/
@media screen and (min-width: 641px) {
	
.spView{
	display: none;
}
.tbView{
	display: none;
}


.sec_wrap{
	width: 100%;
	margin: 0 auto;
	padding: 150px 0 0;
}
.sec_ttl{
	font-size: 25px;
	text-align: center;
	padding-bottom: 60px;
}
.sec_sub_ttl{
	font-size: 21px;
	text-align: center;
	margin-top: 100px;
	padding-bottom: 20px;
}
.sec_sub_copy{
	font-size: 17px;
	text-align: center;
	padding-bottom: 60px;
}

/*固定ボタン
---------------------*/
.pagetop{
	position: fixed;
	bottom: 100px;
	right: 12px;
	z-index: 999;
	width: 132px;
	height: 132px;
	border-radius: 66px;
	background-color: #a7a7a7;
	-webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
.pagetop:hover{
	background-color: #333333;
}
.circle_btn{
	width: 100%;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	text-align: center;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	color: #ffffff;
}
.circle_txt1{
	font-size: 14px;
}
.circle_txt2{
	font-size: 26px;
}
.txt_small{
	font-size: 15px;
}

/*main
---------------------*/
.main_wrap{
	position: relative;
}
.main_img{
	margin: 0 auto;
}
.main_img img{
	width: 100%;
	margin: 0 auto;
}
.main_logo{
	width: calc(45/100*100%);
	max-width: 550px;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	z-index: 1;
}


/*Concept
---------------------*/
.concept_wrap{
	padding: 150px 0 0;
}
.con_img_wrap{
	width: calc(92/100*100%);
	max-width: 920px;
	display: flex;
	flex-wrap: nowrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	justify-content: space-between;
	align-items: flex-start;/*上揃え*/
	margin: 0 auto;
}
.con_img1, .con_img2{
	width: calc(450/930*100%);
}
.con_img2{
	margin-top: 100px;
}
	.con_txt_top{
	width: calc(92/100*100%);
	max-width: 720px;
	text-align: center;
	margin: 0 auto 10px;
	line-height: 2.5;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	}
.con_txt_wrap{
	width: calc(92/100*100%);
	max-width: 720px;
	display: flex;
	flex-wrap: nowrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	justify-content: space-between;
	align-items: flex-start;/*上揃え*/
	align-items: center;
	margin: 0 auto;
	/*background-color: aqua;*/
}
.con_anm{
	width: calc(294/720*100%);
}
/*SVGアニメーション*/
/*.cls-1 {
	fill: none;
  stroke: aqua;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 16px;
}*/
.cls-2 {
	fill: none;
	stroke: aqua;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 8px;
}
.con_txt{
	width: calc(380/720*100%);
	max-width: 520px;
	margin: 0 auto;
	line-height: 2.5;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}



/*How It works
---------------------*/
.how_txt{
	width: calc(92/100*100%);
	max-width: 540px;
	margin: 0 auto;
	line-height: 2;
	padding-bottom: 40px;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.step_wrap{
	width: calc(92/100*100%);
	max-width: 720px;
	margin: 0 auto;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.step_box, .step_box_last{
	width: calc(100/100*100%);
	max-width: 720px;
	height: 135px;
	display: flex;
	flex-wrap: nowrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	justify-content: space-between;
	align-items: flex-start;/*上揃え*/
	align-items: center;
	margin: 0 auto 11px;
	border-bottom: 1px solid #858585;
	position: relative;
}
.step_box:after{
	content: "";
	position: absolute;
	/*display: inline-block;*/
  background: url(/photo/page/250521_kaitori/img/line_center.jpg) no-repeat;
  height: 11px;
  width: 22px;
	bottom: -11px;
	right: 0;
  left: 0;
  margin: 0 auto;
}
.step_num{
	/*width: calc(150/720*100%);*/
	width: 75px;
	text-align: center;
}
.step_num img{
	width: 35px;
	padding-bottom: 20px;
}
.step_ttl{
	/*width: calc(350/720*100%);*/
	width: 180px;
	padding-left: 10px;
	font-size: 22px;
}
.step_note{
	width: calc(100% - 255px);
	line-height: 1.8;
}
.space_narrow{
	letter-spacing: -1px;;
}

.item_txt{
	text-align: center;
	padding: 10px 0;
}

/*What We Buy
---------------------*/
.what_wrap{
	margin: 0 auto;
	padding: 140px 0 0px;
}
.what_txt{
	width: calc(92/100*100%);
	max-width: 540px;
	margin: 0 auto;
	line-height: 2;
	padding-bottom: 40px;
	font-family: "Noto Serif JP", serif;
 	font-optical-sizing: auto;
  	font-style: normal;
	text-align: center;
}
.txt_mark{
	background-color: #f9f9f9;
	padding: 20px 25px 25px;
	margin: 20px 0 15px;
	line-height: 1.9;
	letter-spacing: -0.5px;
	font-size: 14px;
	/* text-align: left; */
	text-align: center;
/*	border: 1px solid #ccc;*/
/*	border-top: 1px solid #cccccc;*/
}
.mark_ttl{
	text-align: center;
	padding-bottom: 10px;
	font-size: 14px;
}

.what_link{
	text-decoration: underline;
}
.item_wrap{
	width: calc(92/100*100%);
	max-width: 720px;
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	justify-content: space-between;
	align-items: flex-start;/*上揃え*/
	align-items: center;
	margin: 0 auto;
}
.item_box{
	width: calc(220/720*100%);
	padding-bottom: 20px;
}


/*  予約 ボタン大
======================*/
.yoyaku_btn_wrap {
	padding: 35px 0 90px;
}

.yoyaku_btn_wrap a{
	width: 240px;
	height: 45px;
	display: block;
	margin: 0 auto;
}

.yoyaku_btn{
	background-color: #a7a7a7;
	border-radius: 45px;
	font-size: 15px;
	font-weight: bold;
	line-height: 45px;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.8px;
}
.yoyaku_btn_wrap .btn_note{
	text-align: center;
	font-size: 11px;
	padding: 10px 0 0;
}



/*Q and A
---------------------*/
.qanda_wrap{
	width: calc(92/100*100%);
	max-width: 720px;
	margin: 0 auto;
	padding: 60px 0 70px;
	border-top: 1px solid #c2c2c2;
	border-bottom: 1px solid #c2c2c2;
}
.sec_border{

	margin: 0 auto;

}
.qanda_txt{
	margin: 0 auto;
	line-height: 1.8;
	padding-bottom: 10px;
	text-align: center;
}

/* 質問はこちらボタン
======================*/
.qanda_btn_wrap {
	padding: 10px 0 0px;
}

.qanda_btn_wrap a{
	width: 240px;
	height: 36px;
	display: block;
	margin: 0 auto;
}

.qanda_btn{
	background-color: #ffffff;
	border: 1px solid #7a7a7a;
	border-radius: 50px;
	font-size: 14px;
	line-height: 30px;
	color: #333333;
	text-align: center;
}
.qanda_btn_wrap .btn_note{
	text-align: center;
	font-size: 11px;
	padding: 6px 0 0;
}
.center_line{
	width: 5px;
	height: 1px;
	background-color: #666666;
	margin: 25px auto 15px;
	text-align: center;
}



/* Access
======================*/
.access_wrap{
	width: calc(92/100*100%);
	max-width: 720px;
	margin: 0 auto;
	padding: 60px 0 0px;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.acc_img{
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}
.access_shopinfo{
	position: relative;
	width: 640px;
	margin: 0 auto;
	padding: 40px 0 90px;
}
.access_logo{
	position: absolute;
	width: 145px;
	top: 40px;
	left: 70px;
}
.access_map{
	position: absolute;
	width: 19px;
	top: 115px;
	left: 246px;
}
.access_info{
	font-size: 14px;
	line-height: 1.6;
	padding-left: 245px;
	text-align: left;
}
.access_add{
	/*padding-top: 20px;*/
	/*padding-bottom: 20px;*/
}
.access_google a{
	display: block;
	padding-top: 15px;
	padding-left: 27px;
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
	font-size: 11px;
	color: #7d7d7d;
}

.sec_second .footer_btn_wrap a{
	margin: 0 auto!important;
	padding-bottom: 100px;
}



/* 人生すべて、いい日になれ。
======================*/
.iihi_wrap{
	width: calc(100/100*100%);
	max-width: 2000px;
	margin: 0 auto;
	padding: 60px 0 0;
	position: relative;
}
.iihi_img{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.iihi_img img{
	width: 100%;

}
/*.iihi_txt{
	width: calc(70/100*100%);
	max-width: 420px;
	margin: 0 auto;
	padding: 100px 0 100px;
	text-align: center;
}*/
.iihi_logo{
	width: calc(35/100*100%);
	max-width: 440px;
	position: absolute;
	top: 50%;
  left: 50%;
  transform: translateX(-50%);
	z-index: 1;
}






/* View More ボタン大
======================*/
.sec_btn_wrap {
	padding: 35px 0 70px;
}

.sec_btn_wrap a{
	width: 200px;
	height: 30px;
	display: block;
	margin: 0 auto;
}

.sec_btn{
	background-color: #a7a7a7;
	border-radius: 50px;
	font-size: 14px;
	line-height: 30px;
	color: #ffffff;
	text-align: center;
	letter-spacing: 0.8px;
}



}/*! //pc & tb */













/*! tb 
------------------------------------------*/
@media screen and (max-width: 950px) {
	

.pcView{
	display: none;
}
.tbView{
	display: block;
}

.top-bar{
	z-index: 999;
}
/*tb Main
---------------------*/
.main_logo{
	width: calc(60/100*100%);
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	z-index: 1;
}
/*tb Concept
---------------------*/
.concept_wrap{
}

.con_txt_wrap{
	flex-wrap: wrap;/*改行許可*/
}
.concept_wrap .sec_sub_ttl{
	padding-bottom: 20px;
}
.concept_wrap .sec_sub_copy{
	padding-bottom: 50px;
}
.con_anm{
	width: calc(920/920*100%);
	max-width: 360px;
	margin: 10px auto 10px;
}

.con_txt{
	width: calc(920/920*100%);
	max-width: 520px;
	margin: 0 auto;
	text-align: center;
	line-height: 3.0;
}

/* tb 人生すべて、いい日になれ。
======================*/
.iihi_logo{
	width: calc(52/100*100%);
	max-width: 440px;
	position: absolute;
	top: 25%;
  left: 50%;
  transform: translateX(-50%);
	z-index: 1;
}

}/*tab*/












/*! sp 
------------------------------------------*/
@media screen and (max-width: 640px) {
.pcView{
	display: none;
}
.tbView{
	display: none;
}

.top-bar{
	z-index: 999;
}
main{
	/*margin-bottom: 20vw;*/
	font-size: 3.5vw;
}
main .contents{
	margin: 0 0 0;
}


.sec_wrap{
	width: 100%;
	margin: 0 auto;
	padding: 25vw 0 0;
}
.sec_ttl{
	font-size: 4.3vw;
	font-size: 5vw;
	text-align: center;
	padding-bottom: 10vw;
}
.sec_sub_ttl{
	font-size: 4.3vw;
	text-align: center;
	margin-top: 15vw;
	padding-bottom: 3vw;
}
.sec_sub_copy{
	font-size: 4.0vw;
	text-align: center;
	padding-bottom: 11vw;
}

/*sp 固定ボタン
---------------------*/
.pagetop{
	position: fixed;
	bottom: 60px;
	right: 5px;
	z-index: 999;
	width: calc(105 / 430 * 100vw);
	height: calc(105 / 430 * 100vw);
	border-radius: 50%;
	background-color: #a7a7a7;
	-webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
.pagetop:hover{
	background-color: #333333;
}
.circle_btn{
	width: 100%;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	text-align: center;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	color: #ffffff;
}
.circle_txt1{
	font-size: 3.0vw;
	font-weight: 600;
}
.circle_txt2{
	font-size: 5.8vw;
}
.txt_small{
	font-size: 3.0vw;
}
/*sp main
---------------------*/
.main_wrap{
	position: relative;
}
.main_img{
	margin: 0 auto;
}
.main_img img{
	width: 100%;
	margin: 0 auto;
}
.main_logo{
	width: calc(70/100*100%);
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	z-index: 1;
}

/*sp Concept
---------------------*/
.concept_wrap{
	padding: 25vw 0 0;
}
.con_img_wrap{
	width: calc(780/780*100%);
	display: flex;
	flex-wrap: nowrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	justify-content: space-between;
	align-items: flex-start;/*上揃え*/
	margin: 0 auto;
}
.con_img1, .con_img2{
	width: calc(372/760*100%);
}
.con_img2{
	margin-top: 25vw;
}
.con_txt_top{
	width: calc(90/100*100%);
	text-align: center;
	margin: 0 auto 10px;
	line-height: 2.5;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-size: 3.5vw;
}

.con_txt_wrap{
	margin: 0 auto;
	/*background-color: aqua;*/
	font-size: 3.5vw;
}
.concept_wrap .sec_sub_ttl{
	padding-bottom: 3vw;
}
.con_anm{
	width: calc(450/720*100%);
	margin: 5vw auto;
}
/*SVGアニメーション*/
/*.cls-1 {
	fill: none;
  stroke: aqua;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 16px;
}*/
.cls-2 {
	fill: none;
	stroke: aqua;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 8px;
}
.con_txt{
	width: calc(90/100*100%);
	max-width: 520px;
	margin: 0 auto;
	line-height: 2.5;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}


/*sp How It works
---------------------*/
.how_txt{
	width: calc(90/100*100%);
	margin: 0 auto;
	line-height: 1.8;
	padding-bottom: 10vw;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-size: 3.5vw;
}

.step_wrap{
	width: calc(90/100*100%);
	margin: 0 auto;
}
.step_box, .step_box_last{
	width: calc(100/100*100%);
	margin: 0 auto 15vw;
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	align-items: flex-start;/*上揃え*/
	align-items: center;
	border-bottom: 1px solid #858585;
	position: relative;

}
.step_box:after{
	content: "";
	position: absolute;
	/*display: inline-block;*/
  background: url(/photo/page/250521_kaitori/img/line_center.jpg) no-repeat;
  height: 11px;
  width: 22px;
	bottom: -11px;
	right: 0;
  left: 0;
  margin: 0 auto;
}
/*.step_num{
	width: calc(60/780*100%);
}
.step_num img{
	width: 100%;
	padding-bottom: 5vw;
}*/
.step_ttl{
	/*width: calc(250/780*100%);*/
	font-size: 4.3vw;
	/*margin: 0 auto;*/
	/*width: calc(300/780*100vw);*/
	text-align: left;
	padding-left: calc(65/780*100vw);
/*	background-color: bisque;*/
	position: relative;
	z-index: 0;
}
.num_bg0:after{
	content: "";
	position: absolute;
  background: url(/photo/page/250521_kaitori/img/how_step0.png) no-repeat;
	background-size: cover;
  width: calc(48/780*100vw);
	height: calc(74.4/780*100vw);
	top: calc(-27/780*100vw);
	left: 0;
}
.num_bg1:after{
	content: "";
	position: absolute;
  background: url(/photo/page/250521_kaitori/img/how_step1.png) no-repeat;
	background-size: cover;
  width: calc(48/780*100vw);
	height: calc(74.4/780*100vw);
	top: calc(-27/780*100vw);
	left: 0;
}
.num_bg2:after{
	content: "";
	position: absolute;
  background: url(/photo/page/250521_kaitori/img/how_step2.png) no-repeat;
	background-size: cover;
  width: calc(48/780*100vw);
	height: calc(74.4/780*100vw);
	top: calc(-27/780*100vw);
	left: 0;
}
.num_bg3:after{
	content: "";
	position: absolute;
  background: url(/photo/page/250521_kaitori/img/how_step3.png) no-repeat;
	background-size: cover;
  width: calc(48/780*100vw);
	height: calc(74.4/780*100vw);
	top: calc(-27/780*100vw);
	left: 0;
}
.num_bg4:after{
	content: "";
	position: absolute;
  background: url(/photo/page/250521_kaitori/img/how_step4.png) no-repeat;
	background-size: cover;
  width: calc(48/780*100vw);
	height: calc(74.4/780*100vw);
	top: calc(-27/780*100vw);
	left: 0;
}
.num_bg5:after{
	content: "";
	position: absolute;
  background: url(/photo/page/250521_kaitori/img/how_step5.png) no-repeat;
	background-size: cover;
  width: calc(48/780*100vw);
	height: calc(74.4/780*100vw);
	top: calc(-27/780*100vw);
	left: 0;
}
.step_note{
	width: calc(780/780*100%);
	line-height: 1.6;
	padding-top: 4vw;
	margin-bottom: 5vw;
  z-index: -1;
}




/*sp What We Buy
---------------------*/
.what_wrap{
	margin: 0 auto;
	padding: 10vw 0 0;
}
.what_txt{
	width: calc(90/100*100%);
	margin: 0 auto;
	line-height: 1.8;
	padding-bottom: 10vw;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-size: 3.5vw;
}
.txt_mark{
	background-color: #f9f9f9;
	padding: 5vw 6vw 6vw;
	margin: 4vw 0;
	line-height: 1.9;
	letter-spacing: -0.5px;
	text-align: left;
}
.mark_ttl{
	text-align: center;
	padding-bottom: 4vw;
}
.what_link{
	text-decoration: underline;
}
.item_wrap{
	width: calc(90/100*100%);
	display: flex;
	flex-wrap: wrap;/*改行許可*/
	justify-content: center;/*中央配置*/
	justify-content: space-between;
	align-items: flex-start;/*上揃え*/
	margin: 0 auto 15vw;
}
.item_box{
	width: calc(31/100*100%);
	padding-bottom: 3vw;
}

.item_txt{
	text-align: center;
	padding: 2vw 0 0;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
	font-size: 3vw;
}

/*sp 予約ボタン
---------------------*/
.yoyaku_btn_wrap a{
	display: block;
	width: 55vw;
	margin: 0 auto;
	background-color: #a7a7a7;
	border-radius: 4.5vw;
	line-height:9vw;
	height: 9vw;
	font-size: 3.5vw;
	text-align: center;
	color: #ffffff;
	}
.yoyaku_btn{
	letter-spacing: 0.1vw;
}
.btn_note{
	text-align: center;
	font-size: 3.2vw;
	padding: 2vw 0 0;
	letter-spacing: -0.1vw;
}

	
/*sp Q and A
---------------------*/
.qanda_wrap{
	width: calc(90/100*100%);
	margin: 15vw auto 8vw;
	padding: 15vw 0;
	border-top: 1px solid #c2c2c2;
	border-bottom: 1px solid #c2c2c2;
}
.sec_border{
	margin: 0 auto;
}

.qanda_txt{
	margin: 0 auto;
	line-height: 1.8;
	padding-bottom: 8vw;
	text-align: center;
}


/* 質問はこちらボタン
======================*/
.qanda_btn_wrap {
	padding: 0 0;
}
.qanda_btn_wrap a{
	display: block;
	width: 55vw;
	margin: 0 auto;
	background-color: #ffffff;
	border-radius: 4.5vw;
	line-height:9vw;
	height: 9vw;
	font-size: 3.5vw;
	text-align: center;
	color: #333333;
	border: 1px solid #7a7a7a;
	letter-spacing: -1vw;
	}
.qanda_btn{
	letter-spacing: -0.1vw;
}
.center_line{
	width: 5px;
	height: 1px;
	background-color: #666666;
	margin: 5vw auto 5vw;
	text-align: center;
}


/* sp Access
======================*/
.access_wrap{
	width: calc(90/100*100vw);
	margin: 0 auto;
	padding: 10vw 0 0;
}
.access_shopinfo{
	position: relative;
	width: calc(90/90*100%);
	margin: 5vw auto;
}
.access_logo{
	position: absolute;
	width: calc(25/90*100%);
	top: 0;
	left: calc(92/780*100vw);
}
.access_map{
	position: absolute;
	width: calc(4.2/90*100%);
	top: calc(195/780*100vw);
	left: calc(310/780*100vw);
}
.access_info{
	margin: 3vw auto 0;
	font-size: 3.2vw;
	line-height: 1.6;
	padding-left: calc(40/90*100%);
	text-align: left;
	font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.access_add{
	padding-bottom: calc(20/780*100vw);
}
.access_google a{
	display: block;
	padding-top: calc(30/780*100vw);
	padding-left: calc(45/780*100vw);;
	font-size: 2.4vw;
	color: #7d7d7d;
	font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
}


/* sp 人生すべて、いい日になれ。
======================*/
.iihi_wrap{
	width: calc(100/100*100%);
	max-width: 2000px;
	margin: 0 auto 20vw;
	padding: 16vw 0 0;
	position: relative;
}
.iihi_img{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.iihi_img img{
	width: 100%;

}
/*.iihi_txt{
	width: calc(70/100*100%);
	max-width: 420px;
	margin: 0 auto;
	padding: 100px 0 100px;
	text-align: center;
}*/
.iihi_logo{
	width: calc(570/780*100vw);
	position: absolute;
	top: 27%;
  left: 50%;
  transform: translateX(-50%);
	z-index: 1;
}





/*sp View Moreボタン
---------------------*/
.sec_btn_wrap a{
		display: block;
		margin: 0 auto;
}
.sec_btn_wrap a{
		width: 40vw;
		background-color: #a7a7a7;
		border-radius: 2.8125vw;
		font-size: 2.8125vw;
		height: 5.625vw;
		line-height: 5.625vw;
		color: #ffffff;
		text-align: center;
		letter-spacing: 0.1vw;
}



}/*! //sp */










/*@media screen and (max-width: 1200px) and (min-width: 768px) and (orientation: portrait) {
}
*/







/*トップのアニメーション start
=========================*/
.topAnmTrigger {
	opacity: 0;
}
.topAnmActive {
	opacity: 1;
}
.main_img .topAnmActive{
	animation: item_anm_zoom 5s ease-out 1;
}

/*その場で縮小表示*/
@keyframes item_anm_zoom {
0%   {transform: scale(1.2) rotate(0) translate3d(0,0,0); opacity: 0;}
100% {transform: scale(1) rotate(0) translate3d(0,0,0); opacity: 1;}
}

.imgFrame{
	overflow: hidden;
}
.imgFrame img{
	overflow: hidden;
}

/*トップのアニメーション end
=========================*/




/*画像回転アニメーション start
=========================*/
.itemAnmTrigger {
	opacity: 0;
}
.itemAnmActive {
	opacity: 1;
}

.iihi_img .itemAnmActive{
	animation: item_anm_zoom 3s ease-out 1;
}
/*その場で縮小表示*/
@keyframes item_anm_zoom {
0%   {transform: scale(1.2) rotate(0) translate3d(0,0,0); opacity: 0;}
100% {transform: scale(1) rotate(0) translate3d(0,0,0); opacity: 1;}
}

.imgFrame{
	overflow: hidden;
}
.imgFrame img{
	overflow: hidden;
}

/*画像回転アニメーション end
=========================*/





/*   ふわっと表示：時差で下から上へ start
=========================*/
/* ----- effects ----- */
  .effFIU1, .effFIU2, .effFIU3, .effFIU4, .effFIU5, .effFIU6 { opacity:0; }
  .effFIU1.effanm { animation:effFIU1 1.5s both; }
  .effFIU2.effanm { animation:effFIU2 1.5s both; animation-delay: 0.4s; }
  .effFIU3.effanm { animation:effFIU3 1.5s both; animation-delay: 0.8s;}
  .effFIU4.effanm { animation:effFIU4 1.5s both; animation-delay: 1.2s;}
  .effFIU5.effanm { animation:effFIU5 1.5s both; animation-delay: 1.6s;}
  .effFIU6.effanm { animation:effFIU6 1.5s both; animation-delay: 2.0s;}

/*for SP*/
@media screen and (max-width: 640px) {
	 .effFIU2.effanm { animation:effFIU2 1.5s both; animation-delay: 0.3s; }
  .effFIU3.effanm { animation:effFIU3 1.5s both; animation-delay: 0.6s;}
  .effFIU4.effanm { animation:effFIU4 1.5s both; animation-delay: 0.8s;}
  .effFIU5.effanm { animation:effFIU5 1.5s both; animation-delay: 1.1s;}
  .effFIU6.effanm { animation:effFIU6 1.5s both; animation-delay: 1.4s;}
}

/*下から上へフェードイン*/
  @-webkit-keyframes effFIU1 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU1 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

  @-webkit-keyframes effFIU2 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU2 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

  @-webkit-keyframes effFIU3 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU3 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}


  @-webkit-keyframes effFIU4 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU4 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

  @-webkit-keyframes effFIU5 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU5 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

  @-webkit-keyframes effFIU6 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU6 {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}


/*   ふわっと表示 end
=========================*/

/*   ふわっと表示 start
=========================*/
/* ----- effects ----- */
  .effFI, .effFIU, .effFID, .effFIR, .effFIL { opacity:0; }
  .effFI.effanm { -webkit-animation:effFI 2.5s both; animation:effFI 2.5s both; }
  .effFIU.effanm { -webkit-animation:effFIU 1.5s both; animation:effFIU 1.5s both; }
  .effFID.effanm { -webkit-animation:effFID 1.5s both; animation:effFID 1.5s both; }
  .effFIR.effanm { -webkit-animation:effFIR 1.5s both; animation:effFIR 1.5s both; }
  .effFIL.effanm { -webkit-animation:effFIL 1.5s both; animation:effFIL 1.5s both; }

/*その場でフェードイン*/
  @-webkit-keyframes effFI {0%{opacity:0}100%{opacity:1}}
  @keyframes effFI {0%{opacity:0}100%{opacity:1}}

/*下から上へフェードイン*/
  @-webkit-keyframes effFIU {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIU {0%{opacity:0;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*上から下へフェードイン*/
  @-webkit-keyframes effFID {0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFID {0%{opacity:0;-webkit-transform:translate3d(0,-50px,0);transform:translate3d(0,-50px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*右から左へフェードイン*/
  @-webkit-keyframes effFIR {0%{opacity:0;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIR {0%{opacity:0;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}

/*右から左へフェードイン*/
  @-webkit-keyframes effFIL {0%{opacity:0;-webkit-transform:translate3d(-50px,0,0);transform:translate3d(-50px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
  @keyframes effFIL {0%{opacity:0;-webkit-transform:translate3d(-50px,0,0);transform:translate3d(-50px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}
/*   ふわっと表示 end
=========================*/




/*トップのSVGロゴの手書きアニメーション start
=========================*/
.block {
  padding: 10%;
}

#logo_text {
  mask: url(#logo_mask);
}

.handwriting {
  width: 100%;
  height: auto;
}
.handwriting_text {
  fill: #404040;
	fill: #ffffff;
}
.handwriting_mask_line {
  fill: none;
  stroke: #fff;
  stroke-width: 14;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 10000px;
  animation: handwriting 5s linear infinite;
	animation-iteration-count: 1;
}

@keyframes handwriting {
  0% {
    stroke-dashoffset: 10000px;
  }
  100% {
    stroke-dashoffset: 0;
  }
}




