@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 {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%; font-optical-sizing: auto; font-style: normal;}

h2,h3,h4,h5 {line-height: 1.5;}
.lh12 {line-height: 1.2;}
.lh15 {line-height: 1.5;}
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;}
.flexNw {flex-wrap: nowrap; -webkit-flex-wrap: nowrap; -ms-flex-wrap: nowrap;}
.flRev {flex-direction: row-reverse;}
.flCol {flex-direction: column;}
.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;}
.jcCent {justify-content: center;}
.jcSb {justify-content: space-between;}
.jcEnd {justify-content: flex-end;}
.fr {float: right;}
.fl {float: left;}
.objFit img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: 'object-fit: cover;';}

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;}

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;}
img {max-width: 100%;height: auto;width /***/: auto;border: none;vertical-align: bottom;}
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: normal;}
.txtCent {text-align:center;}
.txtRight {text-align:right;}
.txtLeft {text-align: left!important;}
.txt400 {font-weight: 400;}
.txt500 {font-weight: 500;}
.txt600 {font-weight: 600;}
.txt700 {font-weight: 700;}
.txt900 {font-weight: 900;}
.txtRD {color: #CC0000;}
.txt12 {font-size: 12px;}
.txt14 {font-size: 14px;}
.txt16 {font-size: 16px;}
.txt18 {font-size: 18px;}
.txt20 {font-size: 20px;}
.txt24 {font-size: 24px;}
.txt26 {font-size: 26px;}
.txt28 {font-size: 28px;}
.txt30 {font-size: 30px;}
.txt36 {font-size: 36px;}
.txt40 {font-size: 40px;}
.txt50 {font-size: 50px;}
.txt60 {font-size: 60px;}
.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;}
.mb80 {margin-bottom: 80px;}
.mb100 {margin-bottom: 100px;}
.mt20 {margin-top: 10px;}
.mt20 {margin-top: 20px;}
.mt30 {margin-top: 30px;}
.mt40 {margin-top: 40px;}
.mt50 {margin-top: 50px;}
.mt60 {margin-top: 60px;}
.mt80 {margin-top: 80px;}
.mt100 {margin-top: 100px;}
.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;}
.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;}
.ptb80 {padding: 80px 0 50px;}
.ptb40 {padding: 40px 0;}
@media screen and (min-width: 896px){	
  .pcbr {display:block;}
  .spbr {display:none;}
}
@media screen and (max-width: 896px){	
  .pcbr {display:none;}
  .spbr {display:block;}
	.txt16 {font-size: 14px;}
	.txt18,.txt20 {font-size:16px;}
	.txt24,.txt26 {font-size:20px;}
	.txt30 {font-size:22px;}
	.txt36,.txt40 {font-size:24px;}
	.txt50,.txt60 {font-size:30px;}
	.mb40 {margin-bottom: 30px;}
	.mb50 {margin-bottom: 30px;}
	.mb60 {margin-bottom: 40px;}
	.mb80 {margin-bottom: 50px;}
	.pt40 {padding-top: 30px;}
	.pt50 {padding-top: 30px;}
	.pt60 {padding-top: 40px;}
	.pt70 {padding-top: 40px;}
	.pt80 {padding-top: 50px;}
	.pb40 {padding-bottom: 30px;}
	.pb50 {padding-bottom: 30px;}
	.pb60 {padding-bottom: 40px;}
	.pb70 {padding-bottom: 40px;}
	.pb80 {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 {color: #222; text-decoration: none; transition: .3s;}
a.ubdr {text-decoration: underline;}

/*フォーム関連***********************/
#mailform dl {font-size: 16px; margin-bottom: 40px; display: flex; flex-wrap: wrap;}
#mailform dl dt,#mailform dl dd {border-bottom: 1px solid #666; padding-top: 20px; padding-bottom: 20px; display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center;}
#mailform dl dt {width: 300px; position: relative;}
#mailform dl dt.jcStart {justify-content: flex-start;}
#mailform dl dd {width: calc(100% - 300px); text-align: left; border-bottom: 1px solid #CCC; padding-left: 20px;}
#mailform .w120 {width: 120px;}
#mailform .submitBtn {display: flex; flex-wrap: wrap; justify-content: center;}
#mailform .submitBtn .btn200 {max-width: 200px; margin: 0 15px 10px; width: calc(100% - 30px);}
#mailform .submit,#mailform .back {font-size: 18px; background: #222; display: block; color: #FFF; font-weight: 700; padding: 12px 0; width: 100%; border-radius: 5px;}
#mailform .back {background: #999;}
.must {height: 26px;	background-color: #C00;	border: solid 2px #C00;	padding: 0 5px;	font-size: 12px; color: #FFF;	border-radius: 4px; position: absolute; top: 50%; transform: translateY(-50%); right: 0;}
.jcStart .must {top: 20px; transform: translateY(0);}
button,option,select,textarea,input[type="button"],input[type="submit"],input[type="reset"],input[type="number"],input[type="email"],input[type="tel"],input[type="text"],input[type="search"],input[type="select"],input[type="option"],input[type="checkbox"],input[type="password"] {-webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; -webkit-border-radius: 0; -moz-border-radius: 0; -ms-border-radius: 0; border-radius: 0; 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"],input[type="password"] {width: 100%; padding: 10px 15px; font-size: 16px; border: 1px solid #999; background-color: #FFF; border-radius: 8px;}
#login input[type="text"],#login input[type="password"] {font-size: 16px; padding: 15px 20px;}
textarea {height: 120px; border-radius: 5px;}
/* フォーカス時の色変更 */
textarea:focus,input[type="tel"]:focus,input[type="email"]:focus,input[type="text"]:focus,input[type="password"]:focus {border: 1px solid #222;}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {color: #ccc; font-size: 14px;}
/* Firefox 18- */
:-moz-placeholder {color: #ccc; opacity: 1; font-size: 14px;}
/* Firefox 19+ */
::-moz-placeholder {color: #ccc; opacity: 1; font-size: 14px;}
/* IE 10+ */
:-ms-input-placeholder {color: #ccc; font-size: 12px;}
input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset;}
/* チェックボックス */
.formCheckbox {position: relative;}
.formCheckbox label {cursor: pointer;}
.formCheckbox input[type=checkbox] {display: none;}
.formCheckbox label {padding-left: 30px; position:relative; margin-right: 20px;}
.formCheckbox label::before {content: "";display: block; position: absolute; top: 1px; left: 0; width: 20px; height: 20px; border: 1px solid #999; border-radius: 4px;}
.formCheckbox input[type=checkbox]:checked + span {color: #d01137;}
.formCheckbox input[type=checkbox]:checked + span::after {content: "";display: block; position: absolute; top: -2px; left: 5px; width: 11px; height: 20px; transform: rotate(40deg); border-bottom: 3px solid #d01137; border-right: 3px solid #d01137;}
/* プルダウン */
.formSelect {width: 100%; -webkit-appearance: button; -moz-appearance: button; appearance: button; outline:none; text-overflow: ''; background-color: #FFF; font-size: 14px; font-weight: 700; position: relative; color: #222;}
.formSelect {display: block; position: relative; overflow: hidden; border: 1px solid #999; border-radius: 8px;}
.formSelect select {padding: 12px 25px 11px 15px; width: 100%; display: block; background: url("../img/cmn/select_arrow.svg") no-repeat right 10px center;}
.formSelect.flex {display: flex;}
.formSelect.flex select {width: 50%;}
.formSelect.flex select:first-of-type {border-right: 1px solid #CCC;}
/* ラジオボタン */
.formRadio li {margin: 0 20px 0 0;}
.formRadio label {cursor: pointer;}
.formRadio input[type=radio] {position: relative; display: inline-block; cursor: pointer; width: 26px; margin: 0 10px 0 0;}
.formRadio input[type=radio]::before,.formRadio input[type=radio]::after {position: absolute; display: block; content: ''; top: 50%; transform: translateY(-50%); left: 0; -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%;}
.formRadio input[type=radio]::before {width: 26px; height: 26px; margin-top: -3px; background: #FFF; border: 1px solid #222;}
.formRadio input[type=radio]::after {left: 3px; width: 20px; height: 20px; margin-top: -3px; background: #FFF;}
.formRadio input[type=radio]:checked::after {background: #222;}
@media screen and (max-width: 896px) {
  #mailform dl dt,#mailform dl dd {width: 100%;}
	#mailform dl dt {margin-bottom: 0; padding-bottom: 10px; border-bottom: none;}
	#mailform dl dd {padding: 10px 0 20px;}
  #mailform .form-radio {padding-top: 0;}
}
