@charset "UTF-8";

.EN {font-family: 'Raleway', sans-serif;}
.mincho {font-family: 'Noto Serif JP', serif;}
.corinthia { font-family: "Corinthia", cursive; }	
.raleway{ font-family: "Raleway", sans-serif;  }
.eb{ font-family: "EB Garamond", serif;  }
.rubik {font-family: "Rubik", sans-serif;  }
.mont {	font-family: "Montserrat", sans-serif;  }
.udgothic{font-family: "UD デジタル 教科書体 NP Bold","UD Digi Kyokasho NP Bold","Klee One", sans-serif;
	letter-spacing: 0.1em;
	font-weight: 600;
}
.kleeone{
	font-family: "Klee One", cursive;
	font-weight: 600;
	font-style: normal;
}
.zen-maru-gothic-black {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 900;
	font-style: normal;
  }
  .zen-kaku-gothic-new-black {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 900;
	font-style: normal;
  }
  .shippori-mincho-extrabold {
	font-family: "Shippori Mincho", serif;
	font-weight: 800;
	font-style: normal;
  }




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%; letter-spacing: 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;}
.w1300 {width: 100%; max-width: 1332px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.container {width: 100%; max-width: 1212px; padding-left: 0; padding-right: 0; margin:0 auto;}
.containers {width: calc(100% - 40px); max-width: 888px; padding-left: 0; padding-right: 0;}
.bgWH {background-color: #FFF;}
.bgBR {background-color: #D88D00;}
.bgBE {background-color: #FBF3E5;}
.bgGR {background-color: #4A8308;}
.bgGR02 {background-color: #8BE276;}
.bgGRY {background-color: #EEEEEE;}
.bgBRU {background-color: #27BBFD;}
.bgRED {background-color: #D15E67;}
.bgYE {background-color: #FFC339;}
.txtWH {color: #FFF;}
.txtPINK {color: #E276B4;}
.txtGOLD {color: #DDBC10;}
.txtGRY {color: #999999;}
.txtGRE {color:#CAF79D;}
.txtGRE02 {color:#9DF7E4;}
.txtORE {color:#FFC1A0;}
.txtBRU {color:#CBF1FF;}
.txtSKY {color:#27BBFD;}
.txtPUR{color:#DFB8FA;}
.bBR {border-color: #BF9D63;}
.bDBL {border-color: #2F3B49;}
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;}
.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;}
.marCent{ margin:0 auto;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}

.col1 {width: calc(16.6666% - 40px);}
.col2,.box3 {width: calc(33.3333% - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(66.6666% - 40px);}
.col5 {width: calc(83.3333% - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.w300 {max-width: 300px; width: 100%;}
.w100 {width: 100%;}
.w50 {width: 50%;}

@media screen and (max-width: 896px) {
  .containers {width: calc(100% - 30px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 15px; margin-right: 15px;}
  .mlr5 {margin-left: 0; margin-right: 0;}
  .col1 {width: calc(16.6666% - 30px);}
  .col2,.box3 {width: calc(33.3333% - 30px);}
  .col3 {width: calc(50% - 30px);}
  .col4 {width: calc(66.6666% - 30px);}
  .col5 {width: calc(83.3333% - 30px);}
  .col6 {width: calc(100% - 30px);}
}
@media screen and (max-width: 568px) {
  .col1 {width: calc(33.3333% - 30px);}
  .col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {width: calc(100% - 30px);}
  .box4 {width: calc(50% - 7.5px); margin-left: 0; margin-right: 0;}
}
.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: /**/; height: 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;}
.txt48 {font-size: 48px;}
.txt50 {font-size: 50px;}
.txt60 {font-size: 60px;}
.txt80 {font-size: 80px;}
.txt100 {font-size: 100px;}
.txt120 {font-size: 120px;}
.txt160 {font-size: 160px;}
.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;}
.mb90 {margin-bottom: 90px;}
.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;}
.pt100 {padding-top: 100px;}
.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;}
@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;}
	.txt48 {font-size: 28px;}
	.txt50,.txt60 {font-size:30px;}
	.txt80 {font-size:40px;}
	.txt120 {font-size: 60px;}
	.txt160 {font-size: 80px;}
	.mb40 {margin-bottom: 30px;}
	.mb50 {margin-bottom: 30px;}
	.mb60 {margin-bottom: 40px;}
	.mb80,.mb90,.mb100 {margin-bottom: 50px;}
	.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 {padding-bottom: 50px;}
	.pb100 {padding-bottom: 50px;}
    .pb120 {padding-bottom: 60px;}
}

.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: 20px; display: flex; flex-wrap: wrap;}
#mailform dl dt,#mailform dl dd {border-bottom: 1px solid #666; padding-top: 20px; padding-bottom: 20px;}
#mailform dl dt {width: 300px; padding-bottom: 10px; position: relative;}
#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;}
#mailform .form-radio span.wpcf7-list-item {margin-right: 10px;}
#mailform .form-radio {padding-top: 10px;}
#formBtn {margin: 20px auto 0; width: 80%;}
#form-btn .wpcf7c-btn-confirm,#form-btn .wpcf7c-btn-back,#form-btn .wpcf7-submit {width: 200px; text-align: center; display: inline-block; margin: 0 10px; padding: 20px 0; border-radius: 5px;}
#form-btn .wpcf7c-btn-confirm {background: #201E43;}
#form-btn .wpcf7c-btn-back {background: #666;}
#form-btn .wpcf7-submit {background: #91121D;}
#form-btn input[type="button"],#form-btn input[type="submit"] {color: #FFF; font-size: 18px;}
.must {display: inline-block; height: 26px;	background-color: #C00;	border: solid 2px #C00;	padding: 0 5px;	font-size: 12px; color: #FFF;	float: right;	margin: 0 5px 0;	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; -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"] {width: 100%; padding: 10px 15px;	font-size: 16px; border: 1px solid #CCC; background-color: #FFF; border-radius: 5px;}
textarea {height: 120px; border-radius: 5px;}
/* フォーカス時の色変更 */
textarea:focus,input[type="tel"]:focus,input[type="email"]:focus,input[type="text"]:focus {border: 1px solid #222;}
/* ラジオボタン */
.form-radio input[type=radio] {position: relative; display: inline-block; font-size: 18px; cursor: pointer; padding: 9px 10px 8px 28px; top: -2px;}
.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: 22px; height: 22px; margin-top: -11px; background: #FFF; border: 1px solid #ccc;}
.form-radio input[type=radio]::after {left: 4px; width: 10px; height: 10px; margin-top: -5px; background: #f4f4f4;}
.form-radio input[type=radio]:checked::after {background: #333;}
.wpcf7-list-item-label {padding-left: 10px; display: inline-block;}
.form-checkbox input[type=checkbox]{display: none;}
.form-checkbox .wpcf7-list-item-label{padding-left: 30px; position:relative; margin-right: 20px;}
.form-checkbox .wpcf7-list-item-label::before{content: "";display: block; position: absolute; top: 5px; left: 0; width: 20px; height: 20px; border: 1px solid #999; border-radius: 4px;}
.form-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label{color: #d01137;}
.form-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::after{content: "";display: block; position: absolute; top: 5px; left: 5px; width: 7px; height: 14px; 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 {height: 40px; border: 1px solid #ccc; border-radius: 5px;}
.search-select {height: 58px; border: 1px solid #666666;}
.form-select select,.search-select select {width: 100%; border: none; position: relative;	background-repeat: no-repeat;	background-size: 15px 10px; background-position: right 20px center;}
.form-select select {font-size: 16px; height: 40px; padding: 0 0 0 10px; width: 100%; -webkit-appearance: button; -moz-appearance: button; appearance: button; outline:none; text-overflow: ''; background-color: #FFF;}
.form-select::after {content: ''; width: 8px; height: 8px; border: 0px; border-bottom: solid 2px #222; border-right: solid 2px #222; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 50%; right: 4px; margin-top: -5px;}
span.wpcf7-list-item {margin: 0 10px 0 0!important;}
.wpcf7 .wpcf7-response-output {padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;}
.wpcf7 .wpcf7-validation-errors {color: #a94442; background-color: #f2dede; border-color: #ebccd1;}
.wpcf7 .wpcf7-mail-sent-ok {color: #31708f; background-color: #d9edf7; border-color: #bce8f1;}
.req{font-size:12px; font-weight: normal;}
span.wpcf7-not-valid-tip {font-size: 12px!important; margin-top: 5px;}
/* 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;}
#mailform button {-webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; border-radius: 4px; width: 47%; height: 50px; display: block; position: relative; color: #fff; text-align: center; cursor: pointer; margin: 0 1.5% 10px; float: left; font-size: 16px;}
#mailform button.confirm {background: #111; border: 1px solid #111;}
#mailform button.reset {background: #C00; border: 1px solid #C00;}
#mailform button:before {position: absolute; display: block; content: ''; width: 98%; height: 3px; background: #ccc; bottom: -4px; left: 1%;}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {color: #ccc;font-size: 12px;font-size: 1.2rem;}
/* Firefox 18- */
:-moz-placeholder {color: #ccc;opacity: 1;font-size: 12px;font-size: 1.2rem;}
/* Firefox 19+ */
::-moz-placeholder {color: #ccc;opacity: 1;font-size: 12px;font-size: 1.2rem;}
/* IE 10+ */
:-ms-input-placeholder {color: #ccc;font-size: 12px;font-size: 1.2rem;}
input:-webkit-autofill {-webkit-box-shadow: 0 0 0px 1000px white inset;}
@media print,screen and (min-width: 1024px) {
	#mailform button {-webkit-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53); -moz-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53); -ms-transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53); transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);}
	#mailform button:hover {color: #111; background: #fff;}
}
@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;}
}
