@charset "UTF-8";

/* =====================
  common - pc
===================== */
body {
	font-size: 16px;
	font-family: "Times New Roman", '游明朝', 'Yu Mincho', YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	line-height: 1.4;
	letter-spacing: 0em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
}

img {
	transition: 1.5s;
}

a img{
	transition: .5s;
}
a img:hover{
	opacity: .8;
	transition: .5s;
}

.resp,.sp {
	display: none;
}

/* =====================
  animation
===================== */
.fadeUp01 {
	transition: 1s;
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px)
}
.fadeUp02 {
	transition: 1s;
	opacity: 0;
	transform: translate(60px, 0);
	-webkit-transform: translate(60px, 0)
}
.fadeUp03 {
	transition: 1s;
	opacity: 0;
	transform: translate(-60px, 0);
	-webkit-transform: translate(-60px, 0)
}
.fadeUpOn {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0)
}

/* font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', sans-serif; */


/* =====================
   - pc
===================== */
.main{
	width: 100%;
	margin: 0 auto;
}

/* main > main_visual
------------------------*/
.main_visual{
	position: relative;
}
.main_txt{
	position: absolute;
	left: 50.8%;
	bottom: 29%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
}
.main_txt img{
	width: 34vw;
}
.main_visual_img{
	display: block;
	width: 100%;
	margin: 0 auto;
}
.main_scroll{
	position: absolute;
	left: 50%;
	bottom: 6%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
}
/* // end of main */


/* =====================
  message - pc
===================== */
.message{
	width: 100%;
	padding: 60px 0 50px;
	color: #fff;
	background-color: #82c3e4;
}
.message_inner{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	align-items: center;
	max-width: 1000px;
	margin: 0 auto;
}
.message_ttl{
	margin-right: 38px;
}
.message_txt{
	font-size: 18px;
	line-height: 1.8;
	font-weight: 400;
	letter-spacing: -.025em;
	font-family: 'Noto Serif JP', sans-serif;
}
.message_txt::before{
	content: '';
	display: inline-block;
	width: 2px;
	height: 95%;
	background-color: #fff;
}
/* // end of message */


/* =====================
  tab - pc
===================== */
.tab{
	width: 100%;
	padding: 10px 0;
	background-color: #f1fcff;
}
.tab.active{
	background-color: #fff;
}
.tab_nav{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.tab_nav-top{
	margin-bottom: 70px;
}

/* tab > tab_cont
------------------------*/
.tab_cont{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.tab_cont_ttl{
	margin-bottom: 40px;
	text-align: center;
}

/* tab > oms
------------------------*/
.oms_mv{
	margin-bottom: 40px;
}
.oms_mv_txt{
	margin-bottom: 40px;
	font-size: 20px;
	text-align: center;
	line-height: 1.8;
	font-family: 'Noto Serif JP', sans-serif;
}
.oms_price{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 800px;
	margin: 0 auto 120px;
}

/* tab > oms > flow
------------------------*/
.flow{
	position: relative;
	margin-bottom: 70px;
	padding: 50px 30px 30px;
	border: 2px solid #48727d;
}
.flow_ttl{
	position: absolute;
	top: 0;
	left: 50%;
	padding: 0 .8em;
	font-size: 30px;
	text-align: center;
	font-family: 'Noto Serif JP', sans-serif;
	background-color: #f1fcff;
	transform: translateX(-50%) translateY(-70%);
}
.flow_ttl::before{
	content: '';
	display: block;
	width: 66px;
	height: 12px;
	margin: 0 auto 10px;
	background: url(../images/flow.png) no-repeat;
	background-size: contain;
}
.flow_txt{
	font-size: 20px;
	text-align: center;
	font-family: 'Noto Serif JP', sans-serif;
}

.flow_list{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.flow_item{
	width: 100%;
	max-width: 455px;
	margin-top: 50px;
}
.flow_item_ttl{
	margin-bottom: 30px;
	text-align: center;
}
.flow_item_ttl-txt{
	display: block;
	padding-top: 25px;
	font-size: 26px;
	line-height: 1;
	font-family: 'Noto Serif JP', sans-serif;
}
.flow_item_txt{
	margin-bottom: 25px;
	font-size: 16px;
	font-family: 'Noto Serif JP', sans-serif;
	line-height: 1.8;
	letter-spacing: .025em;
}
.sList_item{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 20px;
}
.sList_item_img{
	margin-right: 20px;
}
.sList_item_ttl{
	margin-bottom: 20px;
	font-size: 26px;
	color: #804f21;
	line-height: 1;
	font-family: 'Noto Serif JP', sans-serif;
}
.sList_item_txt{
	font-size: 16px;
	line-height: 1.8;
	font-family:  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}

/* tab > rs
------------------------*/
/* tab > rs > styling
------------------------*/
.styling{
	margin-bottom: 80px;
}
.styling_ttl{
	position: relative;
	margin-bottom: 40px;
	text-align: center;
	border-bottom: 1px solid #82c3e4;
}
.styling_ttl::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 12.5px 0 12.5px;
	border-color: #82c3e4 transparent transparent transparent;
	transform: translateX(-50%) translateY(100%);
}
.styling_ttl::after{
	content: '';
	position: absolute;
	bottom: 1px;
	left: 50%;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 12.5px 0 12.5px;
	border-color: #fff transparent transparent transparent;
	transform: translateX(-50%) translateY(100%);
}
.styling_ttl-sub{
	display: block;
	margin-top: 40px;
	padding-bottom: 20px;
	font-size: 22px;
	font-weight: bold;
	color: #82c3e4;
}
.styling_cont{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.styling_img{
	margin-right: 40px;
}
.styling_detail_txt{
	font-size: 18px;
	color: #333;
	line-height: 1.8;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}
.styling_detail_list{
	margin: 25px 0;
}
.styling_detail_list-sub{
	margin: 20px 0 0;
}
.styling_detail_item{
	font-size: 18px;
	line-height: 1.8;
	font-weight: 500;
	font-family: 'Noto Sans JP', sans-serif;
}
.styling_detail_item-sub{
	font-size: 16px;
}
.pickup{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.pickup_ttl{
	margin-bottom: 25px;
}
.pickup_txt{
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}
.pickup_img{
	margin-left: 29px;
}
/* // end of tab */


/* =====================
  info - pc
===================== */
.info{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 70px;
}
.info_ttl{
	margin-bottom: 30px;
	text-align: center;
}
/* // end of info */


/* =====================
  bottom - pc
===================== */
.footer{
	background-color: #f5f5f5;
}
.footer.active{
	background-color: #f5f5f5;
}
.bottom {
	width: 100%;
	max-width: 1060px;
	margin: 0 auto;
	padding: 70px 0 120px;
}
.bottom ul {
	margin: 0 auto
}
.bottom ul .left {
	float: left
}
.bottom ul .right {
	float: right
}
.bottom a{
	text-decoration: none;
}
.bottom_txt{
	position: relative;
	display: table;
	margin: 5% auto;
	font-size: 30px;
	color: #4d4d4d;
	line-height: 2;
	text-align: center;
}
.bottom_txt::after{
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	border-bottom: 1px solid #4d4d4d;
}

.pageTop{
	margin-top: 80px;
	text-align: center;
}
/* // end of bottom */


/* =====================
  fix - pc
===================== */
.fix{
	margin: 30px 0;
	background-color: #850007;
}
.fix a{
	display: block;
	padding: 24px 0;
	font-size: 24px;
	color: #fff;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}
.fix a::after{
	content: '';
	display: inline-block;
	margin-left: .5em;
	width: 18px;
	height: 18px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.fix a:hover{
	text-decoration: underline;
}
/* // end of fix */



/* *********************
  small pc
********************* */
@media screen and (max-width:1000px){
	/* =====================
	  main - small pc
	===================== */
	.main_txt{
		bottom: 28.5%;
		width: 35%;
	}
	.main_txt img{
		width: 100%;
	}
	.main_scroll{
		width: 10%;
	}
	.main_scroll img{
		width: 100%;
	}
	/* // end of main */



	/* =====================
	  message - small pc
	===================== */
	.message_inner{
		width: 96%;
	}
	.message_txt{
		font-size: 16px;
	}
	/* // end of message */



	/* =====================
	  tab - small pc
	===================== */
	.tab_btn{
		width: 49.5%;
	}
	.tab_btn img{
		width: 100%;
	}

	/* tab > tab_cont
	------------------------*/

	/* tab > oms
	------------------------*/
	.oms_mv img{
		width: 100%;
	}
	.oms_price{
		width: 80%;
	}
	.oms_price_img{
		width: auto;
		height: 9vw;
	}
	.oms_price_img img{
		width: auto;
		height: 100%;
	}

	/* tab > oms > flow
	------------------------*/
	.flow_item{
		width: 49%;
		max-width: inherit;
	}
	.flow_item_img img{
		width: 100%;
	}

	/* tab > rs
	------------------------*/
	/* tab > rs > styling
	------------------------*/
	.styling_img{
		width: 48%;
		margin-right: 0;
	}
	.styling_img img{
		width: 100%;
	}
	.styling_detail{
		width: 48%;
	}
	.pickup_cont{
		width: 60%;
	}
	.pickup_img{
		width: 35%;
		margin-left: 0;
	}
	.pickup_img img{
		width: 100%;
	}
	/* // end of tab */



	/* =====================
	  info - small pc
	===================== */
	.info_img img{
		width: 100%;
	}
	/* // end of info */



	/* =====================
	  bottom - small pc
	===================== */
	.bottom{
		width: 100%;
		margin: 10% auto 0;
		padding-bottom: 10vw;
	}
	.bottom .left{
		width: 100%;
		float: none !important;
		margin: 0 auto 10%;
	}
	.bottom .right{
		width: 100%;
		float: none !important;
	}
	.bottom img{
		width: 100%;
	}
	.pageTop{
		margin-top: 8%;
	}
	.pageTop img{
		width: 5%;
	}
	/* // end of bottom */
}



/* *********************
  tablet
********************* */
@media screen and (max-width:767px){
	img{
		width: 100%;
	}

	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	.resp{
		display: block;
	}


	/* =====================
	  main - tablet
	===================== */
	.main{
		margin: 0 auto;
	}
	.main_txt{
		top: 51%;
		bottom: inherit;
		width: 71%;
		transform: translateX(-50%) translateY(-50%);
	}
	.main_scroll{
		bottom: 2%;
		width: 3%;
	}
	/* // end of main */



	/* =====================
	  message - tablet
	===================== */
	.message{
		padding: 9% 0 6%;
	}
	.message_inner{
		display: block;
	}
	.message_ttl{
		width: 30%;
		margin: 0 auto 5%;
	}
	.message_txt{
		font-size: 22px;
	}
	/* // end of message */



	/* =====================
	  tab - tablet
	===================== */
	.tab_nav-top{
		margin-bottom: 15%;
	}

	/* tab > tab_cont
	------------------------*/
	.tab_cont_ttl{
		width: auto;
		height: 18vw;
		margin: 0 auto 13%;
	}
	.tab_cont_ttl img{
		width: auto;
		height: 100%;
	}

	/* tab > oms
	------------------------*/
	.oms_mv_txt{
		margin-bottom: 6%;
	}
	.oms_price{
		flex-direction: column;
		margin: 0 auto 13%;
	}
	.oms_price_img{
		margin-bottom: 6%;
	}

	/* tab > oms > flow
	------------------------*/
	.flow{
		width: 95%;
		margin: 0 auto 10%;
		padding: 8% 5% 5%;
	}
	.flow_txt{
		font-size: 26px;
	}
	.flow_list{
		flex-direction: column;
	}
	.flow_item{
		width: 100%;
		margin-top: 10%;
	}
	.flow_item::after{
		content: none;
		display: block;
		width: 4vw;
		height: 4vw;
		margin: 10% auto 0;
		background: url(../images/arrow.png) no-repeat;
		background-size: contain;
	}
	.flow_item_ttl{
		margin-bottom: 5%;
	}
	.flow_item_ttl img{
		width: auto;
		height: 7vw;
	}
	.flow_item_ttl-txt{
		padding-top: 4%;
		font-size: 24px;
	}
	.flow_item_txt{
		margin-bottom: 5%;
		font-size: 22px;
		text-align: center;
	}
	.sList_item{
		margin-top: 5%;
	}
	.sList_item_img{
		width: 37%;
		margin-right: 0;
	}
	.sList_item_cont{
		width: 60%;
	}
	.sList_item_ttl{
		font-size: 28px;
	}
	.sList_item_txt{
		font-size: 18px;
	}

	/* tab > rs
	------------------------*/


	/* tab > rs > styling
	------------------------*/
	.styling_ttl{
		width: auto;
		margin-bottom: 5%;
	}
	.styling_ttl img{
		width: auto;
		height: 9.5vw
	}
	.styling_ttl-sub{
		margin-top: 6%;
		font-size: 24px;
		padding-bottom: 4%;
	}
	.styling_cont{
		flex-direction: column;
		width: 85%;
		margin: 0 auto;
	}
	.styling_img{
		width: 100%;
		margin-bottom: 5%;
	}
	.styling_detail{
		width: 100%;
	}
	.styling_detail_txt{
		line-height: 2;
	}
	.styling_detail_list{
		margin: 4% 0 9%;
	}
	.styling_detail_item{
		line-height: 2;
	}
	.pickup{
		align-items: center;
	}
	.pickup_cont{
		width: 48%;
	}
	.pickup_ttl{
		width: 75%;
		margin-bottom: 5%;
	}
	.pickup_txt{
		font-size: 18px;
	}
	.pickup_img{
		width: 48%;
	}
	/* // end of tab */



	/* =====================
	  info - tablet
	===================== */
	.info{
		padding-top: 10%;
	}
	.info_ttl{
		width: 30%;
		margin: 0 auto 8%;
	}
	.info_img{
		width: 90%;
		margin: 0 auto;
	}
	/* // end of info */



	/* =====================
	  fix - tablet
	===================== */
	.fix{
		position: fixed;
		bottom: -50%;
		left: 0;
		width: 100%;
		margin: 0;
		transition: .3s;
	}
	.fix.active{
		bottom: 0;
		transition: .3s;
	}
	.fix a{
		padding: 5% 0;
		font-size: 20px;
	}
	/* // end of fix */



	/* =====================
	  bottom - tablet
	===================== */
	.bottom{
		padding: 10% 0;
	}
	.bottom .right{
		width: 90%;
		margin: 0 auto 10%;
	}
	.bottom .left{
		width: 90%;
		margin: 0 auto 10%;
	}
	/* // end of bottom */
}



/* *********************
  smartphone
********************* */
@media screen and (max-width:480px){
	.fadeUp01 {
		opacity: 0;
		transform: translate(0,2%);
		-webkit-transform: translate(0,2%)
	}
	.fadeUpOn {
		opacity: 1;
		transform: translate(0, 0);
		-webkit-transform: translate(0, 0)
	}


	/* =====================
	  main - smartphonet
	===================== */
	.main_txt{
		top: 51%;
		bottom: inherit;
		width: 71%;
		transform: translateX(-50%) translateY(-50%);
	}
	.main_scroll{
		bottom: 2%;
		width: 3%;
	}
	/* // end of main */



	/* =====================
	  message - smartphonet
	===================== */
	.message_txt{
		font-size: 14px;
	}
	/* // end of message */



	/* =====================
	  tab - smartphonet
	===================== */
	/* tab > tab_cont
	------------------------*/
	/* tab > oms
	------------------------*/
	.oms_mv_txt{
		font-size: 16px;
	}
	.oms_price_img{
		margin-bottom: 8%;
		height: 12vw;
	}

	/* tab > oms > flow
	------------------------*/
	.flow_ttl{
		font-size: 18px;
	}
	.flow_ttl::before{
		width: 12vw;
		margin: 0 auto 3%;
	}
	.flow_txt{
		font-size: 14px;
	}
	.flow_item::after{
		width: 5vw;
		height: 5vw;
	}
	.flow_item_ttl img{
		height: 9vw;
	}
	.flow_item_ttl-txt{
		font-size: 16px;
	}
	.flow_item_txt{
		font-size: 12px;
	}
	.sList_item_ttl{
		font-size: 18px;
		margin-bottom: 4%;
	}
	.sList_item_txt{
		font-size: 14px;
	}
	/* tab > rs
	------------------------*/
	/* tab > rs > styling
	------------------------*/
	.styling_ttl img{
		height: 11vw;
	}
	.styling_ttl-sub{
		font-size: 18px;
	}
	.styling_detail_txt{
		font-size: 14px;
	}
	.styling_detail_item{
		font-size: 12px;
	}
	.pickup_txt{
		font-size: 12px;
	}
	/* // end of tab */



	/* =====================
	  info - smartphonet
	===================== */
	/* // end of info */



	/* =====================
	  fix - smartphonet
	===================== */
	.fix a{
		font-size: 14px;
	}
	.fix a::after{
		width: 3vw;
		height: 3vw;
	}
	/* // end of fix */



	/* =====================
	  bottom - smartphonet
	===================== */
	.bottom{
		width: 100%;
	}
	.bottom .left{
		width: 90%;
		float: none !important;
		text-align: center;
		margin: 0 auto 10vw;
	}
	.bottom .right{
		width: 90%;
		float: none;
	}
	.bottom_txt{
		font-size: 20px;
	}
	.pageTop img{
		width: 7%;
	}
	/* // end of bottom */
}


/* =====================
  small sp
===================== */
@media screen and (max-width:375px){
	/* =====================
	  message - small sp
	===================== */
	.message_txt{
		font-size: 14px;
	}
	/* // end of message */



	/* =====================
	  tab - small sp
	===================== */
	/* tab > flow
	------------------------*/
	.flow_txt{
		font-size: 14px;
	}
	.flow_item_txt{
		font-size: 12px;
	}
	.sList_item_ttl{
		font-size: 16px;
	}
	.sList_item_txt{
		font-size: 12px;
	}

	/* tab > rs > styling
	------------------------*/
	.styling_detail_txt{
		font-size: 12px;
	}
	.styling_detail_item{
		font-size: 10px;
	}
	.pickup_txt{
		font-size: 10px;
	}
	/* // end of tab */



	/* =====================
	   - small sp
	===================== */
	/*  >
	------------------------*/
	/* // end of  */



	/* =====================
	   - small sp
	===================== */
	/*  >
	------------------------*/
	/* // end of  */
}
