@charset "UTF-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;vertical-align:baseline;}
*, *:before, *:after {-webkit-box-sizing: border-box; box-sizing: border-box;}

body { overflow-x: hidden;margin: 0px; padding: 0px; font-size: 14px; font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif; line-height: 1; -webkit-text-size-adjust: none; color: #222; -webkit-font-smoothing: antialiased; font-weight: 400; position: relative; width: 100%;} 
h2,h3,h4,h5 {line-height: 1.5;}
h2{font-size:60px;}
h3{font-size:34px;}
h4{font-size:30px;}
h5{font-size:24px;}
h6{font-size:16px;}
.lh12 {line-height: 1.2;}
.lh15 {line-height: 1.5;}
.lh16 {line-height: 1.6875;}
.lh17 {line-height: 1.714285714285714;}
p,li,dd,dt,.lh17 {line-height: 1.7;}
.rlt {position: relative;}
.ls4 {letter-spacing: -.4em;}
.lsn {letter-spacing: normal;}
.inlb {display: inline-block; letter-spacing: normal;}
.blk {display: block;}
.vtop {vertical-align: top;}
.vmid {vertical-align: middle;}
.vbtm {vertical-align: bottom;}
.flex {display: flex; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; flex-wrap: wrap; -ms-flex-wrap: wrap;}
.innerflex {display: flex; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; flex-wrap: wrap; -ms-flex-wrap: wrap;}
.fxCol{flex-direction: column;}
.flexNw {flex-wrap: nowrap; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap;}
.flRev {flex-direction: row-reverse;}
.alStart {align-items: flex-start; -webkit-box-align: start;	-ms-flex-align: start;}
.alEnd {align-items: flex-end; -webkit-box-align: end; -ms-flex-align: end;}
.alCent {align-items: center; -webkit-box-align: center; -ms-flex-align: center;}
.alSt {align-items: stretch; }
.jcCent {justify-content: center;}
.jcSb {justify-content: space-between;}
.jcStart{justify-content: flex-start;}
.jcEnd{justify-content: flex-end;}
.fr {float: right;}
.fl {float: left;}
.gap{ gap:40px;}
.objFit img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: 'object-fit: cover;';}
@media screen and (max-width: 986px){
	.spFlexCol {
		flex-direction: column;
	}
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}

nav ul {list-style:none;}

blockquote, q {quotes:none;}

blockquote:before, blockquote:after,
q:before, q:after {content:'';content:none;}

a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration: none;}

table {border-collapse:collapse;border-spacing:0;}

hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;}

input, select {vertical-align:middle;}

ol, ul {list-style: none;}


/* 画像 */
.alignleft	{float: left; margin-right: 20px; margin-bottom: 20px;}
.alignright	{float: right; margin-left: 20px; margin-bottom: 20px;}
.aligncenter {clear: both; display: block; margin: 25px auto;}

.highlight a:hover *{filter: alpha(opacity=75); -moz-opacity:0.75; opacity:0.75;}
.cf:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}  
.cf {display: inline-table; overflow: hidden;}  
/* Hides from IE-mac \*/  
* html .cf {height: 1%;}  
.cf {display: block;}  
/* End hide from IE-mac */  
.clear {clear: both;}
img {font-size:0;line-height:0;width:100%;max-width: 100%;height: auto;border: none;}
img.miniimage {display: none;}
@media screen and (min-width: 896px) {
 img.spimage {display: none;} /* miniを表示 */
 img.bigimage  {display: block;} /* bigを表示 */
}
@media screen and (max-width: 896px) {
 img.spimage {display: block;} /* miniを表示 */
 img.bigimage  {display: none;}  /* bigを非表示 */
}
strong {font-weight: bold;}
.txtCent {text-align:center;}
.txtRight {text-align:right;}
.txtLeft {text-align: left!important;}
.txt300 {font-weight: 400;}
.txt400 {font-weight: 400;}
.txt500 {font-weight: 500;}
.txt700 {font-weight: 700;}
.txt600 {font-weight: 600;}
.txt900 {font-weight: 900;}
.txtWH {color: #FFF;}
.txtGRE {color: #2AAB9F;}
.txtORE {color: #FDA500;}
.txtRED {color: #EE0000;}
.txtSKY {color: #006AA1;}
.txtBLU {color: #142C4D;}
.bgWH {background-color: #FFF;}
.bgYE{background-color: #FDA500;}
.bgBLA{background-color: #222222;}
.bgGRE{background-color: #2AAB9F;}
.bgGRY{background-color: #F4F8FB;}
.bgSKY{background-color: #006AA1;}
.bgBLU{background-color: #142C4D;}
.txt12 {font-size: 12px;}
.txt14 {font-size: 14px;}
.txt16 {font-size: 16px;}
.txt18 {font-size: 18px;}
.txt20 {font-size: 20px;}
.txt22 {font-size: 22px;}
.txt24 {font-size: 24px;}
.txt26 {font-size: 26px;}
.txt28 {font-size: 28px;}
.txt30 {font-size: 30px;}
.txt34 {font-size: 34px;}
.txt36 {font-size: 36px;}
.txt38 {font-size: 38px;}
.txt40 {font-size: 40px;}
.txt50 {font-size: 50px;}
.txt54 {font-size: 54px;}
.txt60 {font-size: 60px;}
.txt70 {font-size: 70px;}
.txt80 {font-size: 80px;}
.txt100 {font-size: 100px;}
.txt120 {font-size: 120px;}
.mb5 {margin-bottom: 5px}
.mb15 {margin-bottom: 15px}
.mb10 {margin-bottom: 10px}
.mb20 {margin-bottom: 20px}
.mb30 {margin-bottom: 30px}
.mb40 {margin-bottom: 40px}
.mb50 {margin-bottom: 50px}
.mb60 {margin-bottom: 60px}
.mb70 {margin-bottom: 70px}
.mb80 {margin-bottom: 80px}
.mb100 {margin-bottom: 100px}
.mb120 {margin-bottom: 120px}
.mb130 {margin-bottom: 130px}
.mb150 {margin-bottom: 150px}
.mb160 {margin-bottom: 160px}
.mt20 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px}
.mt50 {margin-top: 50px}
.mt60 {margin-top: 60px}
.mt70 {margin-top: 70px}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}
.mt120 {margin-top: 120px;}
.pt10 {padding-top: 10px;}
.pt20 {padding-top: 20px;}
.pt30 {padding-top: 30px;}
.pt40 {padding-top: 40px;}
.pt50 {padding-top: 50px;}
.pt60 {padding-top: 60px;}
.pt70 {padding-top: 70px;}
.pt80 {padding-top: 80px;}
.pt100 {padding-top: 100px;}
.pt120 {padding-top: 120px;}
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.pb100 {padding-bottom: 100px;}
.pb120 {padding-bottom: 120px;}
.ptb80 {padding: 80px 0 50px;}
.ptb40 {padding: 40px 0;}
.nrap{white-space: nowrap;}
@media screen and (min-width: 896px){	
  .pcbr {display:block;}
  .spbr {display:none;}
  
}
@media screen and (max-width: 896px){	
  .pcbr {display:none;}
  .spbr {display:block;}
  .pcbr.menu {display: none;}
	.txt16 {font-size: 14px;}
	.txt18,.txt20 {font-size:16px;}
	.txt24,.txt26 {font-size:20px;}
	.txt30 {font-size:22px;}
	.txt34,.txt36,.txt38 {font-size:24px;}
	.txt40 {font-size:24px;}
	.txt50,.txt54,.txt60 {font-size:40px;}
	.txt70,.txt80 {font-size: 50px;}
	.txt100,.txt120 {font-size: 60px;}
	.mt60,.mt70 { margin-top: 30px;}
	.mb40 {margin-bottom: 30px}
	.mb50 {margin-bottom: 30px}
	.mb60,.mb70 {margin-bottom: 40px}
	.mb80,.mb100 {margin-bottom: 50px}
	.mb120 {margin-bottom: 60px}
	.pt40 {padding-top: 30px;}
	.pt50 {padding-top: 30px;}
	.pt60 {padding-top: 40px;}
	.pt70 {padding-top: 40px;}
	.pt80,.pt100 {padding-top: 50px;}
	.pb40 {padding-bottom: 30px;}
	.pb50 {padding-bottom: 30px;}
	.pb60 {padding-bottom: 40px;}
	.pb70 {padding-bottom: 40px;}
	.pb80,.pb100 {padding-bottom: 50px;}
}

.alignright {width: 40%; margin: 0 0 20px 30px; float: right;}
.alignleft {width: 40%; margin: 0 30px 20px 0; float: left;}
.alignright2 {width: 30%; margin: 0 0 10px 20px; float: right;}
.aligncenter {width: 100%; width: 720px; margin: 0 auto 20px;}
@media screen and (max-width: 896px) {
	.alignright {width: 35%; margin: 0 0 20px 30px; float: right;}
	.alignleft {width: 35%; margin: 0 30px 20px 0; float: left;}
}
@media screen and (max-width: 896px) {
	.alignright {width: 100%; margin: 0 auto 20px; float: none;}
	.alignleft {width: 100%; margin: 0 auto 20px; float: none;}
	.alignright2 {width: 35%; margin: 0 0 10px 20px; float: right;}
}

/*a:link {color: #222; text-decoration: none;}
a:visited {color: #222; text-decoration: none;}*/
a:hover {/*color: #666; */text-decoration: none;}
a:active {color: #222; text-decoration: none;}
.ubdr {text-decoration: underline;/* color: #157437;*/}

/*フォーム関連***********************/
#mailform dl {}
#mailform dl dt,#mailform dl dd {margin-bottom: 20px;}
#mailform dl dt {position: relative; font-size: 18px; font-weight: 600;}
#mailform dl dd {width: 100%; margin-bottom: 40px; font-weight: 400; font-size: 16px;}
#contact02 #mailform dl dt {margin-bottom: 10px;}
#contact02 #mailform dl dd {margin-bottom: 30px;}
#mfp_phase_confirm #kv {padding: 100px 0 0 0;}
#mfp_phase_confirm h4 {display: none;}
.mfp_buttons {margin-bottom: 100px;}
#mailform .submitBtn {display: flex; flex-wrap: wrap; justify-content: center;}
#formBtn {margin: 20px auto 0; width: 80%;}
#form-btn input[type="button"],#form-btn input[type="submit"] {color: #FFF; font-size: 18px;}
.must {display: inline-block; line-height: 24px;	background-color: #C00;	padding: 0 5px;	font-size: 14px; color: #FFF;	margin: 0 0 0 20px;	border-radius: 4px;}
button,option,select,textarea,input[type="button"],input[type="submit"],input[type="number"],input[type="email"],input[type="tel"],input[type="text"],input[type="select"],input[type="option"],input[type="checkbox"] {-webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; border: none; outline: 0; margin: 0;}
/* デフォルトのradio、checkboxは非表示 */
input[type=radio],input[type=checkbox] {display: none;}
/* for firefox */
select {text-indent: 0.01px; text-overflow: '';}
/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */
select::-ms-expand {display: none;}
textarea,input[type="number"],input[type="text"],input[type="tel"],input[type="email"],input[type="date"] {width: 100%!important; padding: 15px 20px;	font-size: 16px; border: 1px solid #999; background-color: #FFF; border-radius: 5px;}
textarea {height: 200px!important; border-radius: 5px;}
/* フォーカス時の色変更 */
textarea:focus,input[type="tel"]:focus,input[type="email"]:focus,input[type="text"]:focus {border: 1px solid #222;}
/* ラジオボタン */
.form-radio label {display: block; margin-bottom: 10px;}
.form-radio span {margin-left: 20px;}
.form-radio input[type=radio] {position: relative; display: inline-block; font-size: 18px; cursor: pointer; padding: 9px 10px 8px 28px; top: -3px;}
.form-radio input[type=radio]::before,.form-radio input[type=radio]::after {position: absolute; display: block; content: ''; top: 50%; left: -2px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; border-radius: 50%;}
.form-radio input[type=radio]::before {width: 26px; height: 26px; margin-top: -13px; background: #FFF; border: 1px solid #999;}
.form-radio input[type=radio]::after {left: 3px; width: 16px; height: 16px; margin-top: -8px; background: #FFF;}
.form-radio input[type=radio]:checked::after {background: #222;}
.form-checkbox input[type=checkbox]{display: none;}
.form-checkbox .must {margin-left: 10px;}
.form-checkbox .itemLabel {padding-left: 36px; position:relative; margin: 0 20px;}
.form-checkbox .itemLabel::before{content: "";display: block; position: absolute; top: 0; left: 0; width: 26px; height: 26px; border: 1px solid #999; border-radius: 3px;}
.form-checkbox input[type=checkbox]:checked + .itemLabel{color: #d01137;}
.form-checkbox input[type=checkbox]:checked + .itemLabel::after{content: "";display: block; position: absolute; top: -5px; left: 5px; width: 15px; height: 26px; transform: rotate(40deg); border-bottom: 3px solid #d01137; border-right: 3px solid #d01137;}
#mailform dl.form-checkbox dt { margin-top: 5px!important;}
.form-checkbox label {position: relative; display: inline-block; font-size: 16px; cursor: pointer;}
.form-select,.search-select {display: block; position: relative; width: 100%; overflow: hidden;}
.form-select {border: 1px solid #999; border-radius: 5px;}
.form-select select {width: 100%; border: none; position: relative;	background-repeat: no-repeat;	background-size: 13px 20px; background-position: right 20px center; font-size: 16px; padding: 13px 20px; width: 100%; -webkit-appearance: button; -moz-appearance: button; appearance: button; outline:none; text-overflow: ''; background-color: #FFF;}
.form-select::after {content: ''; position: absolute; top: 50%; transform: translateY(-50%); right: 20px; width: 0; height: 0; border-style: solid; border-right: 10px solid transparent; border-left: 10px solid transparent; border-top: 17px solid #555555; border-bottom: 0;}
.form-select select {-webkit-appearance: none;　-moz-appearance: none; appearance: none; cursor: pointer;}
.form-select ::-ms-expand {display: none;}
/* ie9対策 */
.form-select select:not(:target),.search-select select:not(:target) {width: 120% \9;}
#search button {width: 100%;height: 60px;	display: block;	position: relative;	color: #222222;	text-align: center;	cursor: pointer; font-size: 20px;	background: #999999;font-weight: 700;}
.mfp_buttons {display: flex; flex-wrap: wrap; justify-content: center; flex-direction: row-reverse;}
/*#mailform button,.mfp_buttons button {border-radius: 5px; width: 46%; height: 70px; display: block; position: relative; color: #fff; text-align: center; cursor: pointer; margin: 0 1.5% 10px; font-size: 20px; font-weight: 700; transition: .3s;}*/
#mailform button.submit,#mfp_button_send {border: 1px solid #FDA500; width: 300px; background: #FDA500; font-size: 20px; font-weight: 700; color: #FFF; padding: 15px 0; border-radius: 30px; margin: 0 20px; box-shadow: 2px 2px 3px rgba(0,0,0,.4);}
#mailform button.submit:hover,#mfp_button_send:hover {background: #2AAB9F; border: 1px solid #2AAB9F;}
#mailform button.reset,#mfp_button_cancel {border: 1px solid #999; width: 300px; background: #999; font-size: 20px; font-weight: 700; color: #FFF; padding: 15px 0; border-radius: 30px; margin: 0 20px; box-shadow: 2px 2px 3px rgba(0,0,0,.4);}
#mailform button.reset:hover,#mfp_button_cancel:hover {background: #FFF; color: #999;}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {color: #999;font-size: 12px;font-size: 1.2rem;}
/* Firefox 18- */
:-moz-placeholder {color: #999;opacity: 1;font-size: 12px;font-size: 1.2rem;}
/* Firefox 19+ */
::-moz-placeholder {color: #999;opacity: 1;font-size: 12px;font-size: 1.2rem;}
/* IE 10+ */
:-ms-input-placeholder {color: #999;font-size: 12px;font-size: 1.2rem;}
input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset;}
#mfp_phase_confirm_inner h4 {font-size: 20px; text-align: center; margin-bottom: 10px;}
#mfp_confirm_table {font-size: 18px; margin-bottom: 20px; width: 100%;}
#mfp_confirm_table tr {border-bottom: 1px solid #222;}
#mfp_confirm_table th,#mfp_confirm_table td {padding: 20px 0; text-align: left;}
#mfp_confirm_table th {width: 220px; font-weight: normal;}
#mfp_confirm_table td {width: calc(100% - 220px); padding-left: 20px;}
#mfp_warning {line-height: 1.5; color: #CC0000; font-weight: 700;}
#mfp_hidden {overflow: hidden; width: 1px;	height: 1px; padding: 0px; margin: 0px;}
.mfp_err {color: #CC0000; width: 100%;}
@media screen and (max-width: 896px) {
  #mailform dl,#mfp_confirm_table {font-size: 14px;}
	#mailform dl dt {width: 100%; padding: 20px 0 10px; border-bottom: none; margin-top: 0; margin-bottom: 0;}
	#mailform dl dd {width: 100%; margin: 0; padding-left: 0;}
  #mailform .form-radio {padding-top: 0;}
  .form-radio label {display: block; margin-bottom: 10px;}
  #mailform button.submit, #mfp_button_send {width: 80%; margin: 0 auto 20px; font-size: 16px;}
	.form-checkbox label {margin-bottom: 0;}
	.form-checkbox .itemLabel {margin: 0;}
}
