@charset "UTF-8";
/* ボディ全体 */
html{
    position: relative;
	height: 100%;
	width: 100%;
	font-size: 62.5%;
}
body{
	margin : 0px;
	font-size : 3.5rem;
	line-height : 1.5em;
	color : #000;
	text-align : center;
	font-family: Lucida Grande, Hiragino Kaku Gothic ProN, ヒラギノ角ゴ ProN W3, Meiryo, メイリオ, sans-serif;
	-webkit-text-size-adjust: 100%;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	width: 100%;
	position : relative;
	}
#wrapper{
	display: flex;
	flex-direction: column;
	width : 1040px;
	margin : 0 auto;
}

a:link{
	color : #4d4d4d;
}


/*--------------------------- ALLcommon START -----------------------------------*/

@media screen and (min-width: 769px){
    .pc { display:block;}
    .pc-inline { display:inline-block;}
    .sp { display:none;}
    .sp-inline { display:none;}
}
@media screen and (max-width: 768px){
    .pc { display:none;}
    .pc-inline { display:none;}
    .sp { display:block;}
    .sp-inline { display:inline-block;}
}

/* 画像ボーダーなし、下揃え */
img{border : 0px;vertical-align : bottom;}


/* テーブル */
table{font-size : 100%;}

/* 文字の縦位置（中） */
.vm{vertical-align : middle;}
/* 文字の縦位置（上） */
.vt{vertical-align : top;}
/* 文字の縦位置（下） */
.vb{vertical-align : bottom;}


p{
    margin : 25px auto;
}


/* 黒文字 */
.black{color : #000;}
/* 赤文字 */
.red{color : #da0000;}
/* 青文字 */
.blue{color : #009bc2;}
/* 白文字 */
.white{color : white;}
/* グリーン */
.green{color : #6f8b5f;}
/* ピンク */
.pink{color : #ec6d5e;}

/*白背景*/
.whiteback{background : #fff;}

/* 文字サイズ（14px） */
.f14{
	font-size : 14px;
	}

/* 文字サイズ（70%） */
.f70{
	font-size : 70%;
	}
/* 文字サイズ（80%） */
.f80{
	font-size : 80%;
	}
/* 文字サイズ（90%） */
.f90{
	font-size : 90%;
	}
/* 文字サイズ（120%） */
.f120{
	font-size : 120%;
	}
/* 文字サイズ（200%） */
.f200{
	font-size : 200%;
	}
/* 右寄せ */
.rt{
	text-align : right;
	}
/* 左寄せ */
.lt{
	text-align : left;
	}
/* センター */
.ce{
	text-align : center;
	}

/* 字間(80%) */
.lh80{line-height : 80%;}	
/* 字間(120%) */
.lh120{line-height : 120%;}
/* 字間(130%) */
.lh130{line-height : 130%;}
/* 字間(150%) */
.lh150{line-height : 150%;}


/* リンク下線なし */
a{text-decoration : underline;}

/* Hides from IE-mac \*/
* html .crfix{
  height:1%;
  overflow:visible;
}
/* End hide from IE-mac */

p.att
span.att{
	text-indent : -1em;
	padding-left : 1em;
}
p.att:before,
span.att:before{
	content : "※";
	color : red;
}
.no-disp{
	display : none;
}
/*--------------------------- ALLcommon END -----------------------------------*/

header{
    background : #0067b5;
    padding : 30px 0 20px 0;
}
header h1{
    margin : 0;
    padding : 0;
}

header h1 div.tit{
    color : #fff;
    margin-top : 20px;
    font-size : 2.5rem;
}

#all{
    margin : 50px 20px 100px 20px;
    text-align : left;
	flex: 1 1 auto;
}

h2{
    background : #c22a1f;
    border-radius : 10px;
    font-size : 1.3em;
    color : #fff;
    margin : 0;
    padding : 20px 0 15px 20px;
    
}

h3{
    margin : 0 0 15px 0;
    padding : 0:
}

h3.personal{
    margin-top : 50px;
}

ul{
    margin : 30px 0 0 0;
    padding : 0;
}

li{
    margin-top : 15px;
    list-style-type: none;
}

li.dotList{
    list-style-type: disc;
    margin-left: 35px;
}

.tIndent {
  padding-left: 1em;
  text-indent: -1em;
}


/**************************************

各ボタン

***************************************/

.Btn_box{
    display : flex;
    flex-wrap : wrap;
    margin : 40px 0 0 0;
}

.Btn_box a{
	text-decoration : none;
	display : block;
	color : #fff;
}
.Btn_box a:hover{
	opacity : .8;
}

.Btn_box .Left_button,
.Btn_box .Left_button_gray,
.Btn_box .Right_button,
.Btn_box .Right_button_gray,
.Btn_box .Big_button,
.Btn_box .Big_button_gray,
.Btn_box .Big_button_back,
.Btn_box .Big_button_back_gray{
    width : 48%;
    border-radius : 10px;
    color : #fff;
    padding : 20px 0 15px 0;
    text-align : center;
    text-decoration : none;
	box-sizing : border-box;
	background : #0067b5;
	position : relative;
	cursor: pointer;
}
.Btn_box .Left_button,
.Btn_box .Left_button_gray{
	margin-right : 4%;
	background : #c22a1f;
}
.Btn_box .Big_button,
.Btn_box .Big_button_back{
     margin : auto 40px;
	width : 100%;
}
.Btn_box .Big_button_back{
     background : #027755;
}
.Btn_box .Left_button_gray,
.Btn_box .Right_button_gray{
     background : #c9c8c8;
     color : #626262;
	 cursor: text;
}
.Btn_box .Big_button_gray,
.Btn_box .Big_button_back_gray{
     margin : auto 40px;
     width : 100%;
     background : #c9c8c8;
     color : #333;
	 cursor: text;
}
.Btn_box .Left_button:before,
.Btn_box .Big_button_back:before{
	content : '▲';
    transform:rotate(-90deg);
	display : inline-block;
	font-size : 80%;
	position : absolute;
	left : 20px;
}
.Btn_box .Right_button:after,
.Btn_box .Big_button:after{
	content : '▼';
	transform:rotate(-90deg);
	display : inline-block;
	font-size : 80%;
	position : absolute;
	right : 20px;
}


/**************************************

個人情報の取り扱いについて

***************************************/

.privacy_box{
    height : 350px;
    border : 1px solid #cccccc;
    padding : 17px;
    margin : 10px 0 0 0;
    overflow : scroll;
    overflow-x : hidden;
	box-sizing : border-box;
}

.consent{
    margin : 40px 0 0 0;
    font-size : 1.5em;
    text-align : center;
}

/**************************************

ラジオボタン・チェックボックス

***************************************/

.radio1 {
	width:16px;
	height:16px;
	-moz-transform:		scale(2.5);
	-webkit-transform:	scale(2.5);
	transform:		scale(2.5);
	vertical-align:middle;
}

.chk1 {
	width:16px;
	height:16px;
	-moz-transform:		scale(2.5);
	-webkit-transform:	scale(2.5);
	transform:		scale(2.5);
	vertical-align:middle;
}


/**************************************

フォーム

***************************************/

.input_box{
    width : 100%;
    background : #f5f4f4;
    border-radius : 5px;
    padding : 20px;
    margin-top : 20px;
	text-align:left;
	box-sizing : border-box;
}

.input_box_error{
    width : 100%;
    background : #fddada;
    border-radius : 5px;
    padding : 20px;
    margin-top : 20px;
	text-align:left;
	box-sizing : border-box;
}

.input_box p,
.input_box_error p{
    margin : 0;
}

textarea{
    font-family : inherit;
    font-size : 4.5rem;
	display : inline-block;
	padding : .5em;
    margin : 0;
	border : 1px solid #333;
	width : 100%;
    height : 250px;
	overflow : scroll;
    overflow-x : hidden;
	box-sizing : border-box;
}

.required{
    color : #b22222;
    border : 1px solid #b22222;
    background : none;
    padding : 5px 10px 3px 10px;
    font-size : 2.8rem;
    font-weight : normal;
    vertical-align : 10%;
}

.input-block__2col{
    display : flex;
	justify-content: space-between;
}

.input-block__2col > p{
    width : 48%;
	position : relative;
    margin : 0;
}

.input-block__w30{
    width : 30%;
	position : relative;
}

.input-block__whide{
    width : 100%;
	position : relative;
}

.input-block{
    font-size : 4.5rem;
	display : inline-block;
	padding : .5em;
	border : 1px solid #333;
	width : 100%;
	box-sizing : border-box;
}

.choice{
    display : flex;
    justify-content: start;
    flex-wrap: wrap;
    background : #fff;
    border : 1px solid #d9d7d7;
    border-radius : 5px;
    padding : 10px 30px;
    font-size : 4.5rem;
}

.choice div{
    width : 50%;
    position : relative;
    margin : 25px 0 0 0;
}

.choice div label {
	display: block;
	text-align: left;
}
.choice div label:after {
	content: "";
	clear: both;
	display: block;
}
.choice div label input { float: left; }
.choice div label p {
    float: left;
	padding: 0 0 0 15px;
    margin: 0;
	width: calc(100% - 55px);
    position:relative;
	top:-13px;
}

.file1 {
	display: inline-block;
	overflow: hidden;
	position: relative;
	padding: .5em;
	border: 1px solid #999;
	background-color: #fff;
}

.file1 input[type="file"] {
	opacity: 0;
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
	position: absolute;
	right: 0;
	top: 0;
	margin: 0;
    font-size : 4.5rem;
	cursor: pointer;
}

.input-attach{
    font-size : 4.5rem;
	display : inline-block;
	padding : .5em;
	width : 100%;
	box-sizing : border-box;
}

.input-attach_name{
	font-size : 4.5rem;
	display : inline-block;
	background : none;
	border : none;
}

/**************************************

footer ページトップ

***************************************/

.page-top-mark{
	width : 90px;
	height : 90px;
	position : fixed;
	bottom : 40px;
	right: -120px;
	z-index : 3;
	background : rgba(0,0,0,.7);
	border-radius : 100px;
	text-align : center;
}
.page-top-mark > a{
	font-size : 0.5rem;
	color : #fff;
	display : block;
	height : 100%;
	line-height : 1em;
	text-decoration:none;
}
.page-top-mark > a:before{
	font-family: 'icomoon';
	content : "\e906";
	font-size : 90px;
	display : block;
	padding : 0;
	margin : 0;
	line-height : 1em;
}



/**************************************

footer

***************************************/

/*
footer{
    margin-top: auto;
    background : #0067b5;
    font-size : 0.8em;
    padding : 35px 0;
	min-width : 1000px;
}

footer .copyright{
    text-align : center;
    color : #fff;
}
*/

/*240307追加、ヘッダーフッター*/

.l-header {
  padding: 20px 5px;
  position: relative;
  /*margin:0 auto 15px auto;*/
}
.l-header__logo {
  position: absolute;
  left: 0;
  top: 0;
}
.l-header__logo img {
  width: 90px;
}
@media screen and (min-width: 400px) {
  .l-header__logo img {
    width: 110px;
  }
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    left: 30px;
    top: 0px;
  }
  .l-header__logo img {
    width: 185px;
  }
}
@media screen and (max-width: 899px) and (min-width: 768px) {
  .l-header__logo img {
    width: 120px;
  }
}
.l-header__sitetitle {
  text-align: center;
  font-weight: bold;
  list-style: 1.4;
}
.l-header__sitetitle .sub {
  padding-top: 40px;
  font-size: 1.3rem;
}
.l-header__sitetitle .main {
  font-size: 1.8rem;
}
@media screen and (min-width: 400px) {
  .l-header__sitetitle .sub {
    font-size: 1.5rem;
  }
  .l-header__sitetitle .main {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 768px) {
  .l-header__sitetitle .sub {
    padding-top: 10px;
    padding-bottom: 0px;
    font-size: 2.0rem;
  }
  .l-header__sitetitle .main {
    padding-bottom: 15px;
  }
}

.skip {
  width: 1px;
  color: #000000;
  font-size: 0.1%;
  line-height: 0.1;
  background-color: #FFFFFF;
  position: absolute;
  left: -3000px;
  z-index: 9999;
}
.skip a {
  color: #003377;
  background-color: #FFFFFF;
  text-align: center;
  padding: 2px 0;
  top: auto;
}

.l-gNav {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .l-gNav {
    background: #0E5FA6;
    text-align: center;
  }
  .l-gNav .menu-btn, .l-gNav .menu-icon {
    display: none;
  }
  .l-gNav .navicon span {
    color: #fff;
  }
  .l-gNav .l-gNav__in .menu {
    display: -webkit-box !important;
    display: flex !important;
    max-width: 1000px;
    margin: 0 auto;
  }
  .l-gNav .l-gNav__in li {
    display: inline-block;
    width: calc(1000px / 2);
    margin-top: 0px;
  }
  .l-gNav .l-gNav__in li a {
    display: block;
    text-decoration: none;
    font-size: 1.6rem;
    color: #fff;
    padding: 15px 5px 15px 5px;
    position: relative;
    border-right: 1px rgba(255, 255, 255, 0.6) solid;
  }
  .l-gNav .l-gNav__in li a:first-child {
    border-left: 1px rgba(255, 255, 255, 0.6) solid;
  }
/*
  .l-gNav .l-gNav__in li a::before {
    position: absolute;
    top: 50%;
    left: calc(50% - 145px);
    content: "";
    vertical-align: middle;
    margin: -4px 0 0;
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
*/
  .l-gNav .l-gNav__in li a:hover {
    background: #043057;
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .l-gNav {
    /* Nav items */
    /* Hamburger menu button */
    /*.menu-btn:checked ~ .menu {
    	display: block;
    	transform: scale(1, 1);
    	transform-origin: top;
    	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    }
    .menu-btn:checked ~ .menu a,
    .menu-btn:checked ~ .menu li {
    	opacity: 1;
    	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
    }*/
    /* Hamburger Menu Animation Start */
    /* Hamburger Menu Animation End */
    /* Navbar Container */
  }
  .l-gNav .menu {
    display: none;
    list-style: none;
    position: absolute;
    width: 100%;
    height: auto;
    top: 52px;
    left: 0;
    padding: 0 0 10px 0;
    clear: both;
    background: #0E5FA6;
    z-index: 1;
  }
  .l-gNav .menu li {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    padding: 15px 0;
    margin: 0 5vw;
  }
  .l-gNav .menu li:first-child {
    border-top: none;
  }
  .l-gNav .menu li a {
    text-decoration: none;
    font-weight: bold;
    color: #fff;
    position: relative;
    display: block;
    padding-right: 20px;
  }
  .l-gNav .menu li a::before {
    position: absolute;
    top: 50%;
    right: 0px;
    content: "";
    vertical-align: middle;
    margin: -5px 0 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .l-gNav .menu-btn {
    display: none;
  }
  .l-gNav .menu-icon {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    padding: 18px 14px;
    background: #0E5FA6;
    height: 50px;
  }
  .l-gNav .navicon {
    background: #fff;
    display: block;
    height: 3px;
    width: 26px;
    position: relative;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  }
  .l-gNav .navicon::before, .l-gNav .navicon::after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    background: #fff;
    transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  }
  .l-gNav .navicon::before {
    top: 9px;
  }
  .l-gNav .navicon::after {
    bottom: 9px;
  }
  .l-gNav .menu-openbtn {
    font-size: 0.925rem;
    white-space: nowrap;
    color: #fff;
    display: block;
    text-align: center;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
  }
  .l-gNav .open .menu-icon .navicon:before {
    transform: rotate(-45deg);
  }
  .l-gNav .open .menu-icon .navicon:after {
    transform: rotate(45deg);
  }
  .l-gNav .open .menu-icon:not(.steps) .navicon:before {
    top: 0;
  }
  .l-gNav .open .menu-icon:not(.steps) .navicon:after {
    bottom: 0;
  }
  .l-gNav .open .menu-icon .navicon {
    background: transparent;
    transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  }
  .l-gNav .navtext-container {
    width: 100%;
    height: 52px;
    position: absolute;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.l-footer__up {
  background: #0E5FA6;
  color: #fff;
  padding: 20px 0;
}
.l-container__inner{
  max-width:1000px;
  margin:0 auto;
}

.l-footer__info {
  font-size: 1.6rem;
  text-align: left;
}
.l-footer__info p, .l-footer__info li {
  margin: 0px;
}
.l-footer__logo {
  text-align: center;
}
.l-footer__logo span {
  display: inline-block;
  background: #fff;
}
.l-footer__logo a {
  padding: 10px;
  display: block;
}
.l-footer__logo a img {
  display: block;
}
.l-footer .u-tellink {
  color: #fff;
}
.l-footer__bt {
  clear: both;
  font-size: 1.4rem;
  text-align: center;
  padding: 10px;
  color: #5A5A5A;
}

@media screen and (min-width: 768px) {
  .l-footer__up .l-container__inner {
    display: -webkit-box;
    display: flex;
    justify-content: space-between;
  }
}

