﻿@charset "utf-8";
/* Foundation
***********************************************************************/
*,
:before,
:after{
	box-sizing:border-box;
}
html,
body{
	min-width:320px;
	min-height:100%;
	-webkit-overflow-scrolling:touch;
			overflow-scrolling:touch;
	overflow-y:auto;
}
body,
input,
select,
textarea,
button{
	line-height:1.75;
	color:#333;
	font-size:16px;
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Osaka", "MS Pゴシック", "MS PGothic", "MSゴシック", Arial, Helvetica, sans-serif;
	letter-spacing:.02em;
	word-wrap:break-word;
}
body{
	overflow-x:hidden;
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
}
body.pc{
	overflow-y:visible;
}
img{
	vertical-align:bottom;
	width:auto\9;
	max-width:100%;
	height:auto;
	-ms-interpolation-mode:bicubic;
}
button{
	padding:0;
	background:transparent;
	border:none;
	cursor:pointer;
	outline:none;
	appearance:none;
}
a{
	color:#333;
	text-decoration:none;
}

/* input */
input[type="submit"],
input[type="button"],
input[type="search"],
select{
	-moz-appearance:none;
	-webkit-appearance:none;
}
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="search"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="number"]{
	-moz-appearance:none;
	-webkit-appearance:none;
	max-width:100%;
	height:34px;
	padding:0 8px;
	background:#f2f3f3;
	border:1px solid #d3d4d4;
	border-radius:10px;
}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="number"]:focus{
	border-color:#2f47ab;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}
input[type="number"] {
    -moz-appearance:textfield;
}

.textarea_wrap{
	display:inline-flex;
	width:100%;
}
textarea{
	-webkit-appearance:none;
	   -moz-appearance:none;
	vertical-align:top;
	width:100%;
	max-width:100%;
	height:120px;
	padding:0 8px;
	border:1px solid #d3d4d4;
	border-radius:10px 0 0 10px;
	overflow-y:scroll;
	resize:vertical;
}
::-webkit-input-placeholder{
	color:#b0b0b1;
}
::-moz-placeholder{
	color:#b0b0b1;
	opacity:1;
}
:-ms-input-placeholder{
	color:#b0b0b1;
}

/* select */
select{
	height:34px;
	padding:0 40px 0 8px;
	background:#f2f3f3;
	border:1px solid #d3d4d4;
	border-radius:10px;
	white-space:nowrap;
}
select::-ms-expand{
    display:none;
}
.select_wrap{
	display:inline-block;
	position:relative;
}
.select_wrap + .select_wrap{
	margin-left:4px;
}
.select_wrap:after{
	display:block;
	position:absolute;
	top:0;
	right:22px;
	bottom:4px;
	width:8px;
	height:8px;
	margin:auto;
	border-right:2px solid #333;
	border-bottom:2px solid #333;
    content:"";
		-webkit-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
			transform:rotate(45deg);
}

/* Layout
***********************************************************************/
#container{
	max-width:1020px;
	margin:0 auto;
}

/* Object
***********************************************************************/
.flex{
	display:flex;
	margin:0 -4px;
}
.flex-wrap{
	flex-wrap:wrap;
}
.flex_item{
	margin:0 4px;
}
.label_gray{
	color:#7e7c7c;
}
.btn_area{
	margin:50px auto 0;
	text-align:center;
}
	.btn_area p{
	margin-bottom:1em;
	}
	#grayish{
	background:#ccc;
	}
.btn{
	display:inline-block;
	position:relative;
	line-height:1;
	background:transparent;
	border-radius:10px;
	font-weight:bold;
	cursor:pointer;
	transition:all .2s;
}
.btn-ghost{
	padding:16px 30px 14px;
	border:2px solid #008a5c;
}
.btn-option{
	vertical-align:top;
	margin:2px;
	padding:10px 10px 8px;
	background:#409a6c;
	border:0;
	color:#fff;
}

.radio,
.checkbox{
	display:inline-block;
	vertical-align:middle;
	position:relative;
	cursor:pointer;
}
.radio_input,
.checkbox_input,
.radio_btn,
.checkbox_btn{
	display:inline-block;
	position:absolute;
	top:-1px;
	width:30px;
	height:30px;
	margin:0;
}
.radio_input,
.checkbox_input{
	opacity:0;
}
.radio_btn,
.checkbox_btn{
	background:#f2f3f3;
	border:1px solid #d3d4d4;
}
.radio_btn{
    border-radius:50%;
}
.checkbox_btn{
    border-radius:10px;
}
.checkbox-only .checkbox_btn,
.radio-only .radio_btn{
	vertical-align:top;
	position:relative;
}
.radio_input:checked + .radio_btn,
.checkbox_input:checked + .checkbox_btn{
	border-color:#008a5c;
}
.radio_btn:after,
.checkbox_btn:before,
.checkbox_btn:after{
    content:"";
    display:inline-block;
    position:absolute;
    top:0;
	right:0;
	bottom:0;
    left:0;
	margin:auto;
	background:#008a5c;
}
.radio_btn:after{
    width:18px;
    height:18px;
	border-radius:50%;
	transform:scale(0);
	transition:transform .1s;
}
.radio_input:checked + .radio_btn:after{
	transform:scale(1);
}
.checkbox_btn:before,
.checkbox_btn:after{
	border-radius:3px;
	opacity:0;
	transition:transform .2s, top .2s, right .2s, bottom .2s, left .2s;
}
.checkbox_btn:before{
	bottom:-16px;
	left:-3px;
    width:12px;
    height:3px;
}
.checkbox_btn:after{
	right:-6px;
    width:3px;
    height:20px;
}
.checkbox_input:checked + .checkbox_btn:before,
.checkbox_input:checked + .checkbox_btn:after{
	opacity:1;
	-webkit-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
			transform:rotate(45deg);
}
.checkbox_input:checked + .checkbox_btn:before{
	bottom:-5px;
	left:-13px;
}
.checkbox_input:checked + .checkbox_btn:after{
	right:-6px;
}
.radio_txt,
.checkbox_txt{
	display:inline-block;
	padding-left:38px;
}

.dl > dl + dl{
	margin-top:8px;
}
.dl_line{
	margin:-8px 0;
}
.dl_line > dl{
	padding:4px 0;
}
.dl_line dl + dl{
	border-top:1px solid #d3d4d4;
	margin-top:0;
}

.dlCol{
	max-width:640px;
	margin:0 auto;
}
.dlCol > dl + dl{
	margin-top:32px;
}
.dlCol > dl > dt{
	font-weight:bold;
}
.dlCol > dl > dd{
	margin-top:8px;
}

.dlTable_ttl{
	width:100%;
	max-width:680px;
	margin:0 auto 12px;
	padding:2px 8px;
	background:#008a5c;
	color:#fff;
	font-weight:bold;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.dlTable_ttl:not(:first-child){
	margin-top:48px;
}
.dlTable{
	display:table;
}
.dlTable > dl{
	position:relative;
	display:table-row;
}
.dlTable > dl > dt,
.dlTable > dl > dd{
	display:table-cell;
	vertical-align:top;
}
.dlTable > dl > dt{
	white-space:nowrap;
}
.dlTable > dl > dd{
	padding-left:16px;
}
.dlTable_btn_area{
	width:100%;
	max-width:636px;
	margin:0 auto;
}

.dlTable-flat{
	width:100%;
	max-width:680px;
	margin:0 auto;
	padding:0 8px;
}
.dlTable-pc.dlTable-flat > dl + dl{
	margin-top:16px;
}
.dlTable-flat > dl > dt{
	font-weight:bold;
}
.dlTable-pc.dlTable-flat > dl > dd{
	margin-top:4px;
}
.dlTable-flat input[type="text"],
.dlTable-flat .select_wrap,
.dlTable-flat .textarea_wrap{
	margin-bottom:8px;
}
.dlTable-flat input[type="text"]{
	width:100%;
}
.dlTable-flat .radio,
.dlTable-flat .checkbox{
	margin-bottom:16px;
}

.table-line{
	width:100%;
	max-width:640px;
	margin:0 auto;
	border-top:1px solid #d3d4d4;
	border-bottom:1px solid #d3d4d4;
}
.table-line thead th{
	padding:8px 8px 4px;
}
.table-line tbody th,
.table-line tbody td{
	vertical-align:top;
	padding:8px 8px 4px;
	border-top:1px solid #d3d4d4;
}

.iconLabel{
	display:inline-block;
	vertical-align:top;
	position:relative;
	top:2px;
	margin-left:4px;
	padding:0 4px;
	background:#f44336;
	border-radius:2px;
	font-size:12px;
	font-weight:normal;
}
.iL-required{
	color:#fff;
}

.link-txt{
	color:#008a5c;
	text-decoration:underline;
}

.stepper{
	display:flex;
	counter-reset:number;
	width:100%;
	margin:0 auto 30px;
	font-weight:bold;
	font-size:15px;
}
.stepper li{
	display:flex;
	flex:1;
	align-items:center;
    justify-content:center;
	position:relative;
	padding:12px;
	color:#999;
	background:#f2f2f2;
}
.stepper li:first-child{
	border-radius:5px 0 0 5px;
}
.stepper li:last-child{
	border-radius:0 5px 5px 0;
}
.stepper_num:before{
	counter-increment:number;
	content:counter(number);
    z-index:2;
}
.stepper li.is-active{
	color:#008a5c;
}
.stepper li .stepper_txt{
	display:none;
}
.stepper li:not(:last-child):after{
	content:"";
	position:absolute;
	top:0;
	right:-2px;
	bottom:0;
	z-index:1;
	height:8px;
	width:8px;
	margin:auto;
	border-top:2px solid #ccc;
	border-right:2px solid #ccc;
	-webkit-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
			transform:rotate(45deg);
}

/* header
----------------------------------------------------------------------*/
header{
	display:flex;
	justify-content:center;
	margin-bottom:16px;
	padding:24px 16px;
	border-top:9px solid #008a5c;
}
.page_ttl{
	width:100%;
	background:url(../images/site-title-mobile.jpg) center no-repeat;
	color:#008a5c;
	font-weight:bold;
	font-size:26px;
	text-indent:-9999px;
}

/* contents
----------------------------------------------------------------------*/
#contents{
	max-width:992px;
	margin:0 auto;
	padding:0 16px 80px;
}

/* main
----------------------------------------------------------------------*/
#main{
	display:flex;
	flex-direction:column;
	align-items:center;
}
#main > * {
	min-width:288px;
    max-width:100%;
    min-height:0%;
	flex-shrink:0;
}
.sec_ttl{
	margin-bottom:16px;
	font-weight:bold;
	font-size:20px;
}

.subsec:not(:first-child){
	margin-top:40px;
}
.subsec_ttl{
	font-weight:bold;
}
.sec_body{
	display:flex;
	flex-direction:column;
}
.sec_body > * {
    min-height:0%;
	flex-shrink:0;
}

/* btnTop
----------------------------------------------------------------------*/
#btnTop{
	position:fixed;
	right:8px;
	bottom:8px;
	z-index:9999;
	opacity:0;
	transition:opacity .4s;
}
#btnTop.is-active{
	opacity:1;
}
#btnTop a{
	display:block;
	position:relative;
	width:56px;
	height:56px;
	background:rgba(0,0,0,.5);
	border-radius:50%;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
#btnTop a:after{
    display:block;
    position:absolute;
    top:8px;
    right:0;
	bottom:0;
	left:0;
    width:18px;
    height:18px;
	margin:auto;
    border-top:solid 2px #fff;
    border-left:solid 2px #fff;
	-webkit-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
			transform:rotate(45deg);
    content:"";
}

/* Utility
***********************************************************************/
.u-width-218{
	max-width:218px !important;
}
.u-width-70{
	max-width:70px !important;
}
.u-mt-8{
	margin-top:8px;
}
.u-mt-12{
	margin-top:12px;
}
.u-mt-24{
	margin-top:24px;
}
.u-mr-8{
	margin-right:8px;
}
.u-mr-16{
	margin-right:16px;
}
.u-mr-24{
	margin-right:24px;
}
.u-mb-8{
	margin-bottom:8px;
}
.u-mb-16{
	margin-bottom:16px;
}
.u-ml-8{
	margin-left:8px;
}
.u-ta-c{
	text-align:center;
}
.u-ta-r{
	text-align:right;
}
.u-fw-b{
	font-weight:bold;
}
.u-fs-l{
	font-size:20px;
}
.u-col-red{
	color:#f44336;
}
.u-disp-iB{
	display:inline-block
}
.textarea_readonly{
	height:400px;
}


/* adding 20200529
***********************************************************************/

table.disptab{
	width:100%;
}
table.disptab th{
	width:50%;
	background:#a8cbb6;
	border:2px solid #fff;
}
table.disptab td{
	text-align:right;
	padding:2px;
}
.totalpay{
	border-bottom:1px solid #aaa;
}

.end_message{
	text-align:center;
	font-size:2em;
}

#footerarea{
	margin-top:1em;
	width:100%;
	height:10px;
}
.casefile{
	width:95%;
	margin:0 auto 2em;
	border:1px solid #008a5c;
	padding:1em;
	font-size:.8em;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}


/*=====================================================================
   PC start
======================================================================*/
@media print, screen and (min-width:768px){
/* Foundation
***********************************************************************/
html,
body{
	overflow-y:visible;
}

.pc a.is-hover{
	text-decoration:none;
}

/* Object
***********************************************************************/
.pc .btn-ghost.is-hover,
.pc .btn-cart a.is-hover{
	background:#008a5c;
	color:#fff;
}
.pc .btn-option.is-hover{
	opacity:.6;
}
.btn-cart .btn.is-hover:before{
	background:url("../images/img_cart_w.png") center / cover no-repeat;
}
.dlTable-pc{
	display:table;
}
.dlTable-pc > dl{
	position:relative;
	display:table-row;
}
.dlTable-pc > dl > dt,
.dlTable-pc > dl > dd{
	display:table-cell;
	vertical-align:top;
}
.dlTable-pc > dl > dt{
	white-space:nowrap;
	width:148px;
}
.dlTable-pc > dl > dd > input,
.dlTable-pc > dl > dd > .select_wrap,
.dlTable-pc > dl > dd > .textarea_wrap{
	margin-top:-6px;
}
.dlTable-pc > dl > dd > .radio,
.dlTable-pc > dl > dd > .checkbox{
	margin-top:-2px;
}
.dlTable-pc.dlTable-flat{
	min-width:680px;
}
.dlTable-flat > dl:first-child > dt,
.dlTable-flat > dl:first-child > dd{
	padding-top:6px;
}
.dlTable-flat > dl:not(:first-child) > dt,
.dlTable-flat > dl:not(:first-child) > dd{
	padding-top:6px;
}
.dlTable-flat > dl:not(:last-child) > dt,
.dlTable-flat > dl:not(:last-child) > dd{
	padding-bottom:6px;
}
.dlTable-pc.dlTable-flat > dl > dd{
	padding-left:32px;
}

.stepper li{
	flex:auto;
	padding:12px 0;
}
.stepper li:first-child{
	padding-left:16px;
}
.stepper li:not(:first-child){
	padding-left:30px;
}
.stepper li:not(:last-child){
	border-right:4px solid #fff;
}
.stepper li:last-child{
	padding-right:16px;
}
.stepper_num:before{
	content:"";
}
.stepper li.is-active{
	color:#fff;
	background:#008a5c;
}
.stepper li .stepper_txt{
	display:inline;
}
.stepper li:not(:last-child):before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	z-index:1;
	margin:auto;
}
.stepper li:not(:last-child):before,
.stepper li:not(:last-child):after{
	height:0;
	width:0;
	margin:auto;
	border:26px solid transparent;
	border-right-width:0;
	-webkit-transform:rotate(0);
		-ms-transform:rotate(0);
			transform:rotate(0);
}
.stepper li:not(:last-child):before{
	right:-54px;
	border:25px solid transparent;
	border-left-color:#fff;
}
.stepper li:not(:last-child):after{
	right:-50px;
	border:25px solid transparent;
	border-left-color:#f2f2f2;
}
.stepper li.is-active:not(:last-child):after{
	border-left-color:#008a5c;
}

/* header
----------------------------------------------------------------------*/
.page_ttl{
	width:100%;
	height:90px;
	background:url(../images/site-title.jpg) center no-repeat;
	line-height:1.5;
	color:#008a5c;
	font-weight:bold;
	font-size:26px;
	text-indent:-9999px;
}

/* main
----------------------------------------------------------------------*/
.sec_ttl{
	font-size:26px;
}

.page-spSprt .dlCol{
	width:680px;
}

/* btnTop
----------------------------------------------------------------------*/
#btnTop{
	right:20px;
}
#btnTop .is-hover{
	transition:opacity .2s;
	opacity:.6;
}

.casefile{
	width:700px;
	margin:0 auto 2em;
}


/*=====================================================================
   PC end
======================================================================*/
}