@charset "UTF-8";

@font-face {
  font-family: "Yu Gothic Medium","メイリオ","ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Osaka",Arial,sans-serif;
  src: local("Yu Gothic Medium");
}

/* =================================
 reset
================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
	color:#333;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

img {
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
}
iframe {
	vertical-align: bottom;
	border: 0;
}
table th,
table td {
	vertical-align: top;
}


/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
/*margin left*/
.ml05 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px;
}
.mt80 {
  margin-top: 80px;
}
.mt100 {
  margin-top: 100px;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb100 {
  margin-bottom: 100px;
}
/*padding right*/
.pr05 {
  padding-right: 5px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
/*padding left*/
.pl05 {
  padding-left: 5px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}

/* =================================
font
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}
.font130 {
	font-size: 130% !important;
	line-height:2em !important;
}
.font150 {
	font-size: 150% !important;
	line-height:1.8em;
}
.font180 {
	font-size: 180% !important;
line-height:2em;
}
.font200 {
	font-size: 200% !important;
	line-height:2em;
}
.font230 {
	font-size: 230% !important;
	line-height:2em;
}
.font250 {
	font-size: 250% !important;
	line-height:2em;
}
.white{
	color:#fff;
}
.red{
	color:#c80000;
}
.yellow{
	color:#cfd621;
}
.orange{
	color:#ff6600;
}

.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std";
}

.txtCenter{
	text-align: center;
}
.txtJustify{
	text-align: justify;
}

.lh15{
	line-height: 1.5em;
}
.lh18{
	line-height: 1.8em;
}
.lh20{
	line-height: 2.0em;
}

/* =================================
triangles
================================= */
.triangles01{
	position: relative;
    text-align: center;
    background: #13c1bd;
    margin-bottom: 20px;
	padding-top:15px;
	padding-bottom:15px;
	font-weight:bold;
	color:#fff;
}
.triangles01:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #13c1bd;
    border-width: 20px;
    margin-left: -20px;
}

.triangles02{
	position: relative;
    text-align: center;
    background: #ffdb00;
    margin-bottom: 20px;
	padding-top:15px;
	padding-bottom:15px;
	font-weight:bold;
	color:#fff;
}
.triangles02:before {
    position: absolute;
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    border-top-color: #ffdb00;
    border-width: 20px;
    margin-left: -20px;
}

/* =================================
clearfix
================================= */

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	display:inline-table;
	min-height:1%;
}
/* \*/
html .clearfix{
	* height:1%;
}
.clearfix{
	display:block;
}
/* */
.clear {
	clear: both;
}

/* =================================
 スマホ・PC画像振り分け
================================= */

@media screen and (min-width: 768px) {
.sp_only{
display:none !important;
}
}

@media screen and (max-width: 768px) {
.pc_only{
display:none !important;
}
}


/* =================================
 header
================================= */
header .head_inner{
	position: relative;
}

/*ヘッダー背景*/
header .head_bg img{
	display: block;
}
.head_bg_pc{
	width: 100%;
	object-fit: cover;
}
.head_bg_sp{
	width: 100%;
}

.head_bg_h{
	width: 100%;
	object-fit: cover;
}

/*ヘッダータイトル*/
img.tit_headimg{
	max-width: 90%;
	position: absolute;
	top: 15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*ヘッダーテキスト*/
img.txt_headimg{
	max-width: 80%;
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
	img.txt_headimg{
		bottom: 5%;
	}
}
@media screen and (max-width: 768px) {
	img.txt_headimg{
		bottom: 20px;
	}
}

.head{
	position: relative;
    text-align: center;
    background: #d50038;
	padding-top:10px;
	padding-bottom:10px;
	font-weight:bold;
	color:#fff;
}

/* =================================
 wrapper
================================= */
.wrapper{
	width:100%;
}

.inner1000{
	width: 1000px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
.inner768{
	width: 768px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}

.inner97{
	width: 100%;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
img{
	display: block;
}
img.imgCenter{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.bg_o{
	background: #F3F1F0;
}


/* ----------------------------------------------------------------------
 ２カラム用
---------------------------------------------------------------------- */

.full_content{
width: 100%;
margin: 0 !important;
text-align: center;
overflow:hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.single_content{
width:1000px;
max-width:100%;
margin:0 auto;
padding:0 0;
}
.left_content{
float:left;
width:50%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content{
float:right;
width:50%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content30{
float:left;
width:28%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content30{
float:right;
width:28%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content70{
float:left;
width:68%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content70{
float:right;
width:68%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content40{
float:right;
width:38%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content60{
float:left;
width:58%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}




.sp_box{
	padding:0 2%;	
}

/* ----------------------------------------------------------------------
  申し込み
---------------------------------------------------------------------- */
.app{
	background: #fff;
}

.app .app_inner{
	width:768px;
	max-width:calc(100% - 30px);
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	margin: 0px auto 0;
}
.app .app_inner img{
	padding:5px;
}
form.app_form{
}
form.app_form input.email_address{
	max-width:90%;
	width:900px;
	height:50px;
	font-size:100%;
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom:15px;
	border-radius: 30px;		/* CSS3草案 */
	-webkit-border-radius: 30px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 30px;	/* Firefox用 */
}
.submit_btn{
	border: 0;
	background: url("../images/btn_apps.png") no-repeat 0 0;
	background-size:contain;
	max-width:90%;
	width:100%;
	padding-top: 11.5%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}



.app_sp{
	background: #F3F1F0;
}

.app_sp .app_inner_sp{
	width:768px;
	max-width:calc(100% - 30px);
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
	margin: 0px auto 0;
}
.app_sp .app_inner_sp img{
	padding:5px;
}


@media screen and (max-width: 420px) {
form.app_form .submit_btn{
	height:-20%;
}
}

.submit_btn:hover{
	cursor: pointer;
	opacity: 0.5;
}



/* ----------------------------------------------------------------------
  背景
---------------------------------------------------------------------- */
.st{
	background:url(../images/1st.jpg) no-repeat center center;
	background-size: cover;
}
.nd{
	background:#fff;
}

.bg_2{
	background:#f5f5f5;
}

.bg_3{
	background:#4b8fee;
}


/* ----------------------------------------------------------------------
  contents
---------------------------------------------------------------------- */

.box1 {
    position: relative;
	background:#fff;
    padding: 0.5em 1em;
    margin: 2em 0 0;
    font-weight: bold;
    border: solid 3px #f39ca4;
}

.box1:before,.box1:after{ 
    content:'';
    width: 45px;
    height: 45px;
    position: absolute;
    display: inline-block;
}
.box1:before{
    border-left: solid 5px #f39ca4;
    border-top: solid 5px #f39ca4;
    top: -5px;
    left: -5px;
}
.box1:after{
    border-right: solid 5px #f39ca4;
    border-bottom: solid 5px #f39ca4;
    bottom: -5px;;
    right: -5px;;
}

.box1 p {
    margin: 0; 
    padding: 0;
}

/* =================================
 footer
================================= */

.copyright{
	background: #4b8fee;
}
.copyright p{
	text-align: center;
	color: #FFF;
	font-size:80%;
	font-weight:bold;
	line-height: 1.5em;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}

/* ----------------------------------------------------------------------
 トップへ戻るボタン
---------------------------------------------------------------------- */
#pageTop {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 9999;
}
#pageTop i {
}
#pageTop a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size:40px;
	text-decoration: none;
	text-align: center;
	background:#f38796;
	width:45px;
	height:45px;
	line-height: 1.1em;
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* =================================
 パソコンのみの設定
================================= */
@media screen and (min-width: 768px) {
/* スマホのみ改行
-------------------------------------------------------------------*/
 .kaigyouSp {
  display: none;
 }
}

/* =================================
 タブレット以下の設定
================================= */
@media screen and (max-width: 768px) {
}


/* =================================
 スマホのみの設定
================================= */
@media screen and (max-width: 420px) {
}





address,caption,cite,code,dfn,em,strong,th,var {
  font-style: normal;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption,th {
  text-align: left;
}
q:before,q:after {
  content: '';
}
object,embed {
  vertical-align: top;
}
hr,legend {
  display: none;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 100%;
}
img,abbr,acronym,fieldset {
  border: 0;
}
li {
  list-style-type: none;
}
sup {
  vertical-align: super;
  font-size: 0.5em;
}
img {
  vertical-align: top;
}
i {
  font-style: normal;
}

/*----リセットcss*----/

/*デザインcss↓*/
.box_con {
  max-width: 900px;
  margin: 0  auto;
}
@media only screen and (max-width: 768px) {
  .box_con {
    width: 95%;
  }
}
.box_con form {
  width: 100%;
}
.box_con form table {
  width: 100%;
}
.box_con form table tr {
  position: relative;
}
.box_con form table tr:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  height: 1px;
  border-bottom: dotted #cdcdcd 1px;
}
.box_con form table tr th {
  width: 25%;
  font-weight: normal;
  padding: 1em .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .box_con form table tr th {
    text-align: center;
    width: 100%;
    display: block;
    background: #fff;
    padding: .8em .2em;
    color: #000;
  }
}
.hissuicon {
  background: #f38796;
  padding: 5px;
  color: #fff;
  margin-left: .5em;
   border-radius: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.box_con form table tr td {
  padding: 1em .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .box_con form table tr td {
    padding: 1.5em .5em;
    display: block;
    width: 100%;
  }
}

.box_con form table tr .hissu {
  width: 10%;
  font-weight: normal;
  padding: 1em .5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .box_con form table tr .hissu{
    text-align: center;
    width: 100%;
    display: block;
    background: #fff;
    padding: .2em .2em;
    color: #fff;
  }
}

.nini {
  background: #fff;
  padding: 5px;
  color: #f38796;
  margin-left: .5em;
   border: solid 1px #f38796;
   border-radius: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.box_con form table tr .hissu th td {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media only screen and (max-width: 768px) {
  .box_con form table tr .hissu  td span {
    padding: 1.5em .5em;
    display: block;
    width: 100%;
  }
}


.box_con form table tr .box_br {
  display: block;
}
.box_con form table tr select {
  border: 1px solid #97ae88;
}
.box_con form table tr label input {
  cursor: pointer;
  vertical-align: middle;
  user-select: none; /* テキストの選択を防ぐ */
}

.box_con form table tr select, .box_con form table tr.abc input, .box_con form table tr textarea {
  width: 100%;
  background: #f2f2f2;
  height: 3em;
  padding: .5em;
  border-radius: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.box_con form table tr textarea {
  height: 10em;
}

input.othertext {
  width: 50%;
  background: #f2f2f2;
  height: 3em;
  margin-left: 1em;
  padding: .5em;
  border-radius: 5px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}


.box_check {
  text-align: center;
  margin: 1em auto;
}
.box_check label {
  display: inline-block;
}
.box_check label span {
  margin-left: .3em;
}

.btn {
  text-align: center;
}
.btn input {
  display: inline-block;
  background: #7caef4;
  padding: 1.3em 4em;
  margin: 30px 20px;
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  border: none;
  border-radius: 5px;
  -moz-transition: all 0.4s;
  -o-transition: all 0.4s;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.btn input:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}



.ECM_CheckboxInput {
  padding: 9px 8px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}
.ECM_CheckboxInput:hover > .ECM_CheckboxInput-DummyInput {
  background: #DDDDDD !important;
  border: solid 2px #333333;
}
.ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput {
  background: #DDDDDD !important;
  border: solid 2px #333333;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
  border: solid 2px #333333;
  background: #FFFFFF;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hlY2siPjxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPjwvc3ZnPg==") no-repeat center;
  background-size: contain;
}
.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 28px;
  height: 28px;
  border: solid 2px #888888;
  background: #FFFFFF;
  border-radius: 4px;
}
.ECM_CheckboxInput-LabelText {
  margin-left: 12px;
  display: block;
  font-size: 16px;
  font-weight: bold;
}

