@charset "UTF-8";

html {opacity: 0;}
html.wf-active {opacity: 1;}

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;}

html.loading-delay {visibility: visible;}
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%;}
@media screen and (max-width: 896px) {
  body {font-family: "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;}
}

h2,h3,h4,h5 {line-height: 1.5;}
h1,.lh12 {line-height: 1.2;}
.lh15 {line-height: 1.5;}
p,li,dd,dt,.lh17 {line-height: 1.7;}
.lh2 {line-height: 2;}
.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;}
.jcEnd {justify-content: flex-end;}
.jcSb {justify-content: space-between;}
.fr {float: right;}
.fl {float: left;}
.objFit img {width: 100%; height: 100%; object-fit: cover; object-position: 50% 100%; 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;}
.txt700 {font-weight: 700;}
.txt900 {font-weight: 900;}
.txtRD {color: #CC0000;}
.txt8 {font-size: 8px;}
.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;}
.txt32 {font-size: 32px;}
.txt40 {font-size: 40px;}
.txt50 {font-size: 50px;}
.txt56 {font-size: 56px;}
.txt70 {font-size: 70px;}
.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}
.mb200 {margin-bottom: 200px}
.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;}
.pb200 {padding-bottom: 200px;}
.ptb80 {padding: 80px 0 50px;}
.ptb40 {padding: 40px 0;}
.ml40 {margin-left: 40px;}
.mr40 {margin-right: 40px;}

.youtube_block {margin: 40px auto;}
.youtube_block .movie {margin-left: 30px; margin-right: 30px;}

@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: 12px;}
	.txt20 {font-size:12px;}
	.txt24 {font-size:20px;}
  .txt26,.txt18,.txt22 {font-size:14px;}
	.txt30,.txt50 {font-size:22px;}
	.txt40 {font-size:20px;}
	.txt60 {font-size:30px;}
  .txt56,.txt32 {font-size: 22px;}
  .txt70 {font-size: 22px;}
	.mb30 {margin-bottom: 15px}
  .mb40 {margin-bottom: 20px}
	.mb50 {margin-bottom: 25px}
	.mb60 {margin-bottom: 40px}
  .mb70 {margin-bottom: 35px}
	.mb80 {margin-bottom: 50px}
  .mb200 {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;}
  .pb200 {padding-bottom: 50px;}
  .youtube_block {width: 100%; margin: 0 auto;}
  .youtube_block .movie {position:relative; width:100%; padding-top:56.25%; margin: 0 0 60px;}
  .youtube_block .movie p span{position: absolute;}
  .youtube_block .movie iframe{position:absolute; top:0; right:0; width:100%; height:100%;}	
}

.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: #222; text-decoration: none;}
a:active {color: #222; text-decoration: none;}
a.ubdr {text-decoration: underline; color: #157437;}

/*フォーム関連***********************/
#contact02 dl {margin-bottom: 100px;}
#contact02 dl dt {font-size: 21px; margin: 0 0 0 20px;}
#contact02 dl dt span {font-size: 15px; color: #FF2F5B; margin-left: 20px;}
#contact02 dl dd {margin-bottom: 30px;}
#contact02 .formbg {background: #E5F1FC; padding: 70px 90px 120px; margin-bottom: 30px;}
#contact02 .formbg.thanks {margin-bottom: 0;}
#contact02 .formbg h2 {margin-bottom: 50px;}
#contact02 .formbg dl {margin-bottom: 0;}
#contact02 .formbg dl dt {margin: 0 0 15px 0;}
#contact02 .formbg dl dd {margin: 0 0 100px 70px; font-size: 21px;}
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: 19px 20px;	font-size: 21px; border-bottom: 2px solid #E2EDF8; background-color: #FFF;}
textarea,.formbdr {border: 2px solid #E2EDF8; padding: 40px 70px;}
textarea {height: 280px;}
/* フォーカス時の色変更 */
textarea:focus,input[type="tel"]:focus,input[type="email"]:focus,input[type="text"]:focus {border-bottom: 1px solid #A9B9C8;}
/* チェックボックス */
#contact02 .checkbox {box-sizing: border-box; -webkit-transition: background-color 0.2s linear; transition: background-color 0.2s linear; position: relative; display: inline-block; padding: 0 0 0 55px; font-size: 21px; vertical-align: middle; cursor: pointer;	line-height: 1.5; margin-bottom: 45px; width: 50%;}
#contact02 .checkbox:after {-webkit-transition: border-color 0.2s linear; transition: border-color 0.2s linear; position: absolute; top: 50%; left: 0px; display: block; margin-top: -13px; width: 28px; height: 28px; border: 2px solid #A9B9C8; content: ''; background: #fff;}
#contact02 .checkbox:before {-webkit-transition: opacity 0.2s linear; transition: opacity 0.2s linear; position: absolute; top: 50%; left: 7px; display: block; margin-top: -14px; width: 15px; height: 23px; border-right: 3px solid #FF2F5B; border-bottom: 3px solid #FF2F5B; content: ''; opacity: 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); z-index: 1;}
#contact02 input[type=checkbox]:checked + .checkbox:before {opacity: 1;}
#contact02 .checkbox.other  {width: auto; margin-right: 20px; margin-bottom: 0;}
.formbdr input[type="text"] {width: 50%; padding: 5px 20px 5px 20px;}
#contact02 button,#contact02 .formbtn a  {border-radius: 25px; width: 450px; display: block; position: relative; color: #fff; text-align: center; cursor: pointer; margin: 0 auto 25px; font-size: 25px; line-height: 50px;}
#contact02 button.submit,#contact02 .formbtn a.submit {background: #50B4F6;}
#contact02 button.back,#contact02 .formbtn a.back {background: #B6C2CD;}
#contact02 .formbtn {margin-bottom: 150px;}
#contact02 .formbtn p,#contact02 .formbg p {font-size: 21px; margin-bottom: 60px;}
/* 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 screen and (max-width: 896px) {
  #contact02 dl {margin-bottom: 35px;}
  #contact02 dl dt {font-size: 13px; margin: 0 0 20px 0;}
  #contact02 dl dt span {font-size: 10px; color: #FF2F5B; margin-left: 15px;}
  #contact02 dl dd {margin-bottom: 30px;}
  #contact02 .formbg {padding: 35px 15px 60px; margin-bottom: 30px;}
  #contact02 .formbg.thanks {margin-bottom: 0;}
  #contact02 .formbg h2 {margin-bottom: 40px;}
  #contact02 .formbg dl {margin-bottom: 0;}
  #contact02 .formbg dl dt {margin: 0 0 13px 0;}
  #contact02 .formbg dl dd {margin: 0 0 35px 30px; font-size: 13px;}
  textarea,input[type="number"],input[type="text"],input[type="tel"],input[type="email"],input[type="date"] {padding: 10px 15px; font-size: 13px;}
  #contact02 .checkbox {padding: 0 0 0 23px; font-size: 13px; margin-bottom: 30px; width: 100%;}
  #contact02 .checkbox:after {margin-top: -8px; width: 14px; height: 14px;}
  #contact02 .checkbox:before {left: 3px; margin-top: -11px; width: 10px; height: 14px;}
  #contact02 input[type=checkbox]:checked + .checkbox:before {opacity: 1;}
  #contact02 .checkbox.other  {width: auto; margin-right: 10px; margin-bottom: 0;}
  .formbdr {border: none; padding: 0 0 0 8px;}
  .formbdr input[type="text"] {width: calc(100% - 75px); padding: 5px 15px;}
  #contact02 button,#contact02 .formbtn a {border-radius: 18px; width: 180px; margin: 0 auto 15px; font-size: 19px; line-height: 36px;}
  #contact02 .formbtn p,#contact02 .formbg p {font-size: 13px; margin-bottom: 30px;}
  #contact02 .formbtn {margin-bottom: 100px;}
}

