@charset "utf-8";
/* CSS Document */

:root{
	--black:#000000;
	--orange:#FF330C;
	--text:#333333;
	--gray:#F5F5F5;
	--shadow: 3px 3px 8px rgba(175, 175, 175, 0.35);
}
*{
	box-sizing:border-box;
}
span.nowrap{
    display: inline-block;
}

body{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    margin:0;
    color:#313131;
    overflow-x: hidden;
	background:#fafafa;
}


span.ja{
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 1px;
}
span.en{
    font-family: "Montserrat",Arial, Helvetica, sans-serif;
    font-size: 14px;
}
span.en.title{
    font-size: 22px;
    letter-spacing: 1px;
    font-weight: bold;
}
.inlineblock{
    display: inline-block;
}
img{
    outline:none;
    border-style:none;
}
a{
    color:#1880DB;
    text-decoration: none;
}
/*****HEADER*****/

/*****ARTICLE*****/
section{
    display: block;
    width: 100%;
    margin: 20px auto;
    max-width: 1024px;
}
article{
    width: 100%;
    overflow-x: hidden;
}


/*===============================
    202303フォーム
*/
#wrapper{
    width: 90%;
    margin: 3em auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
header{
	text-align:center;
	padding-block:2rem 0;
}
h2{
	margin-bottom:1rem;
}
h2+p{
	margin-bottom:3rem;
    line-height:1.75;
}
.form-top{
	margin-bottom:3rem;
	display: block;
	margin-inline:auto;
	width: fit-content;
	text-decoration: underline;
	font-size: 17px;
}
header .form-top{
	margin-top:1em;
	margin-bottom:0;
}
.form-top:hover{
	text-decoration:none;
}
#container{
    width: 100%;
	max-width:900px;
    padding:1rem 3rem;
    background:#fff;
	box-shadow:0 10px 20px rgba(0,0,0,0.1);
	border-radius:5px;
}
#container form#mailformpro dl dt{
    float: none;
    width:auto;
    font-size:1em;
    padding:1.5em 1em 0;
    text-align: left;
    display: flex;
}
#container form#mailformpro dl dd{
    clear: both;
    border-top: none;
    font-size:15px;
    line-height: 1.5em;
    padding: 1em 1em 1.5em;
    background: #fff;
}
#container form#mailformpro dl dd input,
#container form#mailformpro dl dd select,
#container form#mailformpro dl dd textarea{
    padding:.75em 1em;
    box-shadow: initial;
}
#container form#mailformpro dl dd textarea{
	width:100%!important;
}
#container form#mailformpro button{
    padding:.75em 2.5em;
    cursor: pointer;
    transition: all .25s;
	text-shadow:none;
	font-family: 'Noto Sans JP', sans-serif;
	background:#143c6b;
	border: 1px solid #143c6b;
    color: #fff;
    font-size: 1em;
    font-weight: 400;
    margin: 0 auto;
    transition: all .3s; 
}
#container form#mailformpro label{
    white-space: initial;
}
.formflex{
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}


/* 郵便番号の本体フィールドは画面外に退避（ただし display:none は使わない） */
.mfp_zip_full{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  padding:0;
  margin:0;
  border:0;
}
#container form#mailformpro dl dt,
#container form#mailformpro dl dd{
	background:#fff;
	border:none;
}
#container form#mailformpro dl dt{
	display:flex;
	align-items:center;
	padding-left: 1em;
	padding-block:0.5em;
	border-left: 2px solid #276cbf;
	margin-left: 0.25em;
	gap:0.75em;
}
#container form#mailformpro dl dd{
	padding:0;
	margin-block: 1em 2.5em;
}
#container form#mailformpro dl dd :is(input,textarea){
	border: 1px solid #e0e0e0;
    background: #fafafa!important;
    
    padding: 0.6em 0.75em;
    font-size: 0.95em;
    font-family: var(--ja);
    cursor: pointer;
}
.mfp_rows{
	display:flex;
	gap:1em 2em;
	flex-wrap:wrap;
}
#container form#mailformpro button.juusyobtn{
	padding:0.45em 1em;
	font-size:1em;
	background:#1f3a6a;
}
div.mfp_buttons button#mfp_button_send{
	    padding:.75em 2.5em;
    cursor: pointer;
    transition: all .25s;
	text-shadow:none;
	font-family: 'Noto Sans JP', sans-serif;
	background:#143c6b;
	border: 1px solid #143c6b;
    color: #fff;
    font-size: 1em;
    font-weight: 400;
    margin: 0 auto;
    transition: all .3s; 
	padding:0.45em 1em;
	font-size:1em;
	background:#1f3a6a;
	box-shadow:none;
}
div.mfp_buttons button#mfp_button_cancel{
	    padding:.75em 2.5em;
    cursor: pointer;
    transition: all .25s;
	text-shadow:none;
	font-family: 'Noto Sans JP', sans-serif;
	border: 1px solid #143c6b;
    color: #143c6b;
    font-size: 1em;
    font-weight: 400;
    margin: 0 auto;
    transition: all .3s; 
	padding:0.45em 1em;
	font-size:1em;
	background:#fff;
	box-shadow:none;	
}
div.mfp_buttons button#mfp_button_send:hover,
div.mfp_buttons button#mfp_button_cancel:hover{
	opacity:0.75;
}
#zip1{
	margin-right:0.5em;
}
#zip2{
	margin-left:0.5em;
	margin-right:1em;
}
.mfp_col10{
	width:100%;	
}
#address{
	margin-top:1em;
	width:100%!important;
}
.must{
	flex-shrink:0;
	text-shadow:none;
	box-shadow:none;
	border:none;
	padding:0 0.75em;
	line-height:2;
	font-size:11px;
	background:;
	background-image:none;
}
#container form#mailformpro button:hover{
	background:#fff;
	color:#1f3a6a;
	box-shadow:none;
}
#mfp_overlay *{
	font-size:14.5px!important;
	line-height:1.75;
}
@media(width<768px){
	body{
		font-size:14.5px;
	}
}
@media(width<500px){
	#wrapper{
		width:87.5%;
	}
	#container form#mailformpro button.juusyobtn{
		display:block;
		margin-inline:0;
		margin-top:1em;
		margin-left:1.25em;
		padding:0.3em 1em;
		font-size:13.5px;
	}
	#address{
		margin-top:0;
	}
	#container{
		padding:1em 1.5em;
	}
	#mfp_overlay *{
		font-size:14px!important;
		line-height:1.75;
	}
}
@media(width<350px){
	#zip1,#zip2{
		width:4.5em!important;
	}
	#container form#mailformpro dl dd :is(input,textarea):not(:where(#zip1,#zip2)){
		width:100%;
	}
}
@media(width<800px){
	table#mfp_confirm_table tr th{
		padding-top:0.5em;
		padding-bottom:0.1em;
	}
	table#mfp_confirm_table tr td{
		padding-top:0;
		padding-bottom:0.65em;
		border-top:none;
	}
}

body.thanks{
	background:#fff;
}
body.thanks h2{
	margin-bottom:3rem;
}
body.thanks #wrapper{
	width:87.5%;	
}
body.thanks #container{
	box-shadow:none;
	padding:0;
	max-width:980px;
}
div.mfp_thanks{
	padding:0;
}