

/* PC&タブレット端末向けCSS */
@media screen and (min-width:768px) {


/**************** ヘッダー内コンテンツ *****************/


header{
	width:100%;
	position:relative;
}

.header_top{
	width:100%;
	position:absolute;
	top:0;
	left:0;
	padding: 1% 0;
	background: rgba(1,18,24,.8);
}

.main_image{
	width:100%;
	line-height: 0;
	background: url(../images/header_bg.jpg);
	background-size:cover;
}

.main_image img{
	width:100%;
}

.main_image_inner_contents{
	padding:16% 5% 26%;
    width: 50%;
	text-align: center;
}

h2.catch_copy{
	font-size: 260%;
    letter-spacing: 0.2em;
    font-weight: 500;
	color: #129bce;
}


h2.catch_copy img{
	width:100%;
	height:100%;
}

.main_image_inner_contents span{
	display: block;
    font-size: 135%;
    font-family: 'Archivo Narrow', sans-serif;
    letter-spacing: 0.4em;
    color: #929292;
    font-weight: 100;
    padding-top: 1em;
}

.main_image_inner_contents p{
	font-weight:500;
	line-height: 2;
	color:#2d4859;
}


/**************** ヘッダー内コンテンツ end *****************/



/**************** メインコンテンツ *****************/
main{
	background:#FDFDFD;
	max-width:1000px;
	margin:0 auto 10em;
}
/**************** メインコンテンツ end *****************/


/**************** 各sectionの見出し *****************/

.section_title{
	margin:8% auto 3%;
	text-align: center;
}

.section_title h2{
	font-weight:500;
}

.section_title h2 span{
	font-size: 190%;
    color: #7fb953;
	margin: 0;
	letter-spacing: 0.1em;
	padding-bottom:0.3em;
}

/**************** 各sectionの見出し end *****************/



/**************** メールフォーム *****************/

form{
	width:70%;
	margin:3em auto 10em;
	font-size:90%;
}

.confirm_mail{
	text-align: center;
	margin-top:2em;
	font-weight:600;
}

.element_wrap{
	text-align: left;
	border: 1px solid #ccc;
	border-bottom: none;
	display: -webkit-flex;
	display:flex;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
}

.element_wrap_end{
	text-align: left;
	border: 1px solid #ccc;
	display: -webkit-flex;
	display:flex;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
}

.form_heading{
	width:30%;
	padding:1em 0 1em 1em;
	background:#32ACD8;
	border-right: 1px solid #ccc;
}

.element_wrap label,
.element_wrap_end label{
	color:#FFFFFF;
}

.red_span{
	font-size: 80%;
}

.control_box{
	width:70%;
	padding:1em;
}

.control_box span{
	padding-left:0.2em;
}

.element_wrap p,
.element_wrap_end p{
	display: inline-block;
	margin:  0;
	text-align: left;
	line-height: 2;
	padding-right: 1em;
}

input{
	width:90%;
}

input[type=text] {
	padding: 5px 10px;
	font-size: 86%;
	border:1px solid #ccc;
	border-radius: 3px;
}

.service_checkbox{
	padding-right:0.5em;
}

.service_inner{
	display: -webkit-flex;
	display:flex;
	-webkit-justify-content:flex-start;
	justify-content:flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.service_checkbox{
	padding-right:0.5em;
}

.service_checkbox input{
	display: inline-block;
	width:1em;
	vertical-align: middle;
}


.gender_inner p,
.service_inner p{
	font-size:90%;
}

input[name=gender]{
	display: inline-block;
	width:1em;
	vertical-align: middle;
}

.btn_box{
	text-align: center;
	width:70%;
	margin:2em auto 0;
}

input[name=btn_confirm],
input[name=btn_submit]{
	margin-top: 10px;
	padding: 5px 0;
	line-height: 2;
	font-size: 100%;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: 3px;
	box-shadow: 0 3px 0 #2887d1;
	background: #4eaaf1;
}

input[name=btn_back] {
	margin-top: 10px;
	padding: 5px 0;
	line-height: 2;
	font-size: 100%;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: 3px;
	box-shadow: 0 3px 0 #777;
	background: #999;
}

th[for=gender_male],
th[for=gender_female],
th[for=agreement] {
	margin-right: 10px;
	width: auto;
	font-weight: normal;
}

textarea[name=contact] {
	padding: 5px 10px;
	height: 100px;
	font-size: 86%;
	border:1px solid #ccc;
	border-radius: 3px;
	width:100%;
}


.error_list{
	padding: 10px 30px;
	color: #ff2e5a;
	font-size: 86%;
	text-align: left;
	border: 1px solid #ff2e5a;
	border-radius: 5px;
}

.thanks{
	width:70%;
	margin:3em auto 10em;
}

.back_toppage{
	display: block;
	margin-top:4em;
	padding:0 1em;
	line-height: 2;
	text-decoration: none;
	font-size: 100%;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: 3px;
	box-shadow: 0 3px 0 #2887d1;
	background: #4eaaf1;
}

/**************** メールフォーム end *****************/


/**************** privacy *****************/
.elemnt_privacy{
  margin-top: 3em;
}

.elemnt_title{
  margin: 0;
  font-size: 120%;
  padding-bottom: 5px;
}

.privacydetail{
	height: 200px;
	border: solid 1px #ccc;
	overflow-y: scroll;
}

.btn_box label {
    line-height: 135%;
    position: relative;
    margin: 0.5rem;
    cursor: pointer;
}

.option_privacy{
	vertical-align: middle;
	width: auto;
	position: relative;
	margin: 0 1rem 3px 0;
	cursor: pointer;
}
.option_privacy:before {
	position: absolute;
	z-index: 1;
	top: 0.125rem;
	left: 0.1875rem;
	width: 0.75rem;
	height: 0.375rem;
	content: '';
	-webkit-transition: -webkit-transform cubic-bezier(0.45, 1.8, 0.5, 0.75);
	transition: transform cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	transform: rotate(-45deg) scale(0, 0);
	border: 2px solid #4eaaf1;
	border-top-style: none;
	border-right-style: none;
}
.option_privacy:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	transform: rotate(-45deg) scale(1, 1);
}
.option_privacy:after {
	position: absolute;
	top: -0.125rem;
	left: 0;
	width: 1rem;
	height: 1rem;
	content: '';
	cursor: pointer;
	border: 2px solid #f2f2f2;
	background: #ffffff;
}

.errorMsg{
	color: #ff2e5a;
	font-size: 86%;	
}

#content01,
#content02{
	background-color:rgba(255,255,255,0.50);
	padding:30px 0;
}

#content01 p,
#content02 p{
	text-align: justify;
	margin: 0;
}

.content01_inner,
.content02_inner{
  margin:0 auto;
	line-height:2;
	color:#333333;
	font-weight:500;
	font-size:90%;
	padding:0 2em;
}

.content01_inner h3,
.content02_inner h3{
	text-align: center;
	color:#333333;
	font-weight:600;
	font-size:120%;
	margin:0 0 30px;
}

.beginning_part{
	margin-bottom:3em;
}

#content01 ul,
#content02 ul{
	list-style:none;
	padding:0;
}

.date_part{
	text-align: right;
	margin: 0;
}

#content01 p.sign_part,
#content02 p.sign_part{
	text-align: right;
	margin-top: 3em;
}

.bottom_part{
	margin-top:3em;
}

.textBox{
	margin: 30px auto 0;
	box-sizing: border-box;
	padding: 20px;
	border: solid 1px #333;
}

.textBox .title{
	font-weight: bold;
}

.textBox .title + p{
	padding-bottom: 10px;
}

.textBox p{
	margin: 0;
}

.textArea{
	width: 80%;
	margin: 0 auto;
}

.ind01{
	padding-left: 1em;
	text-indent: -1em;
}

.ind02{
	padding-left: 2em;
	text-indent: -2em;
}

.ex{
	color:#f00;
	position: relative;
	left: -2em;
}

.complex01,
.complex02{
	border: solid 1px #333;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	line-height: 1.5;
}

.complex02{
border-bottom: none;
}

.complex01 p
.complex02 p{
	margin: 0;
}

.mainList{
	padding: 0;
}

.mainList li{
	margin-bottom: 1em;
}

.complex01 dt.complex01_01{
	text-align: center;
	width: 30%;
	border-right: solid 1px #333;
	border-bottom: solid 1px #333;
	box-sizing: border-box;
	padding: 1%;
}

.complex01 dt.complex01_02{
	text-align: center;
	width: 70%;
	border-bottom: solid 1px #333;
	box-sizing: border-box;
	padding: 1%;
}

.complex01 dd{
	margin: 0;
	border-bottom: solid 1px #333;
	width: 100%;
}

.complex01 dd:last-of-type{
	border-bottom: none;
}

.comp01{
	box-sizing: border-box;
	padding: 1%;
}

.comp02{
	padding-left: 4%;
}

.comp02 .comp_inner{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-left: solid 1px #333;
	border-top: solid 1px #333;
	margin: 0;
}

.comp02 .comp_inner:last-of-type{
	border-bottom: none;	
}

/*.comp02 .multiple{

}
*/
.comp02 .multiple dt,
.comp02 .multiple dd{
	border-bottom: dashed 1px #333;
}

.comp02 .multiple dt:last-of-type,
.comp02 .multiple dd:last-of-type{
	border-bottom: none;
}

.comp02 .comp_inner dt{
	width: 27%;
	box-sizing: border-box;
	padding: 1%;
	border-right: solid 1px #333;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.comp02 .comp_inner dd{
	width: 73%;	
	box-sizing: border-box;
	padding: 1%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.complex02 dt{
	padding: 1% 1% 1% 1.5em;
	text-indent: -1em;
	width: 30%;
	border-right: solid 1px #333;
	border-bottom: solid 1px #333;
	box-sizing: border-box;
}

.complex02 dd{
	margin: 0;
	border-bottom: solid 1px #333;
	width: 70%;
	padding: 1%;
	box-sizing: border-box;
}

.sublist{
  padding:0;
  margin:0;
}

.sublist li{
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
	padding: 0% 0% 0% 1.5em;
	text-indent: -1.5em;
	text-align: justify;
	margin-bottom: 0;
}

.sublist li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}

.sublist li p{
	padding-left: 1em;
}

.innerlist{
	margin: 1em 0;
  padding: 0;	
}

.innerlist li{
  list-style: none;
  counter-increment: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
  margin-bottom: 0;
}

.innerlist li:before{
  display: initial;
  content: initial;
}

.termslist li{
  list-style: none;
	padding: 0% 0% 2% 1.3em;
	text-align: justify;
  text-indent: -1.3em;
  margin-bottom: 0;
}

.termslist .innerlist{
	padding-left: 2em;
}

.btnLink {
	display: block;
	text-decoration: none;
	width: 90%;
	margin: 15px auto 0;
	padding: 5px 0;
	line-height: 2;
	font-size: 100%;
	color: #fff;
	cursor: pointer;
	border: none;
	border-radius: 3px;
	box-shadow: 0 3px 0 #2887d1;
	background: #4eaaf1;
}

/**************** privacy end *****************/



/**************** sns *****************/
.sns{
	position:fixed;
	right:0;
	top:20vh;
	z-index:200;
}

.fb{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-bottom:1em;
}

.fb a{
	color:#FFFFFF;
	background:#414d7a;
	font-weight: bold;
	padding:2.5em 0.5em;
	text-decoration: none;
}

.fb a:hover{
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
}

.fb i{
	padding-bottom:0.5em;
}

/**************** sns end *****************/


}