@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:700,900&subset=japanese');

/*縦スクロールバーエリアを表示*/
html {
  overflow-y: scroll;
  overflow-x: hidden;
}

body {
	width:100%;
  font-family:"ヒラギノ角ゴ Pro","メイリオ","中ゴシックBBB", YuGothic, "Hiragino Kaku Gothic Pro",  "Meiryo", sans-serif;
  margin: 0;
  padding: 0;
  height: 100%;
  word-wrap: break-word;
}
/* @group Reset */
* {
	margin: 0;
	padding: 0;
}

/*通常*/
a:link {
	/*color: rgba(107, 58, 6, 1);*/
	transition: all .3s ease;
	cursor:pointer;
}

/*閲覧済み*/
a:visited {
	/*color: rgba(107, 58, 6, 1);*/
}

/*マウスオン*/
a:hover {
	/*color: rgba(107, 58, 6, 1);*/
	cursor:pointer;
}

/*クリック中*/
a:active {
	/*color: rgba(107, 58, 6, 1);*/
	background-color: transparent;
}

/*クリック時の枠線*/
a {
	padding: 0 0 0 0px;
	outline: none;
	color: #2B00FD;
	text-decoration: underline;
}

ul, ol {
	list-style: none;
}

img {
	vertical-align: middle;
	max-width:none;
}

/* @end */

/* @group Fluid-img */
img {
	width: auto;
}
/* @end */


/* @group HTML */
html {
	width: 100%;
	font-size: 86%;
	line-height: 1.68;
}
/* @end */
div, p {
	text-align: justify;
	text-justify: inter-ideograph;
}

#container{
  width:100%;
  height: auto;
  display: block;
  font-size: 16px;
}
#slider-pro{
	position:fixed;
	top: 0;
}
header {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	width: 100%;
	margin: 0 auto 0px;
	display: block;
}
h1.top{
	font-family: 'Noto Serif JP', serif;
	background: #4ACD25;
	color: #fff;
	text-align: center;
	font-weight: 800;
	margin: 0 auto;
	width: 100%;
	font-size: 2.8em;
	position:absolute;
	top: -75px;
	z-index:999;
}

#container #box{
  width:100%;
  margin:0 auto 0;
  position: relative;
  top:0px;
  background: #fff;
}
#container #main{
	width:1070px;
	padding: 50px 0 20px;
	margin:0 auto 0;
	position: relative;
}

.info_area{
	margin:0 0 80px;
}
.info_area h2{
	color: #524436;
	text-align: center;
	font-size: 40px;
	font-family: メイリオ;
	margin: 0 0 10px;
}


.contents{
	margin:0 0 100px;
	padding:0 0 20px;
}
.contents h2{
	font-family: 'Noto Serif JP', serif;
	color: #fff;
	text-align: center;
	font-size: 28px;
	margin: 0 auto 40px;
}
.contents h2 p{
	text-align:center;
	display:inline-block;
	background: -moz-linear-gradient(left, rgba(153,153,153,0) 0%, rgba(245,0,0,1) 21%, rgba(245,0,0,1) 50%, rgba(245,0,0,1) 83%, rgba(229,229,229,0) 100%);
	background: -webkit-linear-gradient(left, rgba(153,153,153,0) 0%,rgba(245,0,0,1) 21%,rgba(245,0,0,1) 50%,rgba(245,0,0,1) 83%,rgba(229,229,229,0) 100%);
	background: linear-gradient(to right, rgba(153,153,153,0) 0%,rgba(245,0,0,1) 21%,rgba(245,0,0,1) 50%,rgba(245,0,0,1) 83%,rgba(229,229,229,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00999999', endColorstr='#00e5e5e5',GradientType=1 );
	padding: 0 50px;
}
.contents h3{
	text-align:center;
	margin:0 0 20px;
	font-family: 'Noto Serif JP', serif;
}
.contents > p{
	width:870px;
	margin:0 auto 0px;
}
/* 動画 */
.movie {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}

.movie iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
/* 手続きのステップ */
ul.step li{
	border: 1px solid #000;
	text-align: center;
	width: 500px;
	font-size: 18px;
	margin: 0 auto 50px;
	position:relative;
}
	ul.step li:after,
	ul.items:after{
		content: url("../parts/icon_arrow_r.svg");
		position: absolute;
		bottom: -46px;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 20px;
	}
	ul.step li:last-child{
		margin-bottom:0;
	}
	ul.step li:last-child:after,
	ul.step_03:after{
		content:none;
	}
ul.step + a{
	margin-left: 563px;
	margin-bottom:30px;
	display: inline-block;
}
ul.txt li{
	list-style: disc;
	width: 870px;
	margin: 0 auto 25px;
}
	ul.txt li:last-child{
		margin-bottom:0;
	}
/* よくあるご質問 */
.con_04 p{
	text-align:center;
}
a.to_form{
	display: block;
	color: #F50000;
	border: 1px solid #F50000;
	text-decoration: none;
	font-weight: bold;
	font-size: 20px;
	margin: 20px auto 0;
	width: 340px;
	text-align: center;
}
	a.to_form:hover{
		background:#F50000;
		color:#fff;
	}
	.con_06 a.to_form{
		margin-bottom:20px;
	}

p.to_form{
	border: 1px solid #F50000;
	font-weight: bold;
	font-size: 20px;
	margin: 20px auto 0;
	width: 340px;
	text-align: center;
}

/* 賛同会員記念品 */
ul.items,
ul.step_03sub{
	display:flex;
	position:relative;
	margin:0 0 50px;
}
ul.step_03{
	margin-bottom:0;
}
	ul.step_03 li{
		flex-wrap: wrap;
	}
	ul.step_03 li p{
		border-bottom:1px solid #000;
		width: 100%;
		height: 26px;
		text-align: center;
		align-self: baseline;
	}
	ul.step_03 li dl{
		font-size:11px;
		text-align: left;
		padding: 5px;
	}
		ul.step_03 li dl dt{
			font-weight:bold;
		}
		ul.step_03 li dl dd:before{
			content:"・";
		}
ul.items li{
	width:100%;
	border:1px solid #000;
	border-right:none;
	border-left:none;
	text-align:center;
	display: flex;
	justify-content: center;
	align-content: baseline;
}
ul.step_02 li:first-child {
	background: #E5E5E5;
}
ul.step_03 li p {
	background: #C3F6FF;
}
	ul.step_02 li:first-child{
		width:156px;
	}
	ul.step_02 li:nth-child(2){
		background:#fff;
	}
	ul.items li:first-child {
		border-left: 1px solid #000;
	}

	ul.items li:last-child{
		border-right:1px solid #000;
	}
ul.step_03{
	flex-wrap:wrap;
}
ul.step_03 li{
	width:20%;
	max-height: 230px;
	background:#000!important;
	overflow: hidden;
}
	ul.step_03 li:nth-child(5){
		border-right:1px solid #000;
	}
	ul.step_03 li:nth-child(6){
		border-left:1px solid #000;
		width:40%;
	}
	ul.step_03 li:last-child{
		border-right:1px solid #000;
	}
ul.items li img{
	display:block;
	border-right: 1px solid #fff;
    width: 100%;
    align-self: flex-start;
}
	ul.step_03 li:nth-child(6) img{
		width:50%;
	}
	ul.step_03 li:nth-child(6) img:first-of-type{border-right:1px solid #fff;}
	ul.step_03 li:nth-child(5) img,
	ul.step_03 li:nth-child(9) img{
		border-right:none;
	}
.con_05 .sub_ttl{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.con_05 .sub_ttl span{
	display:inline-block;
	margin-left:10px;
}
.con_05 a{
	color: #000;
}
/* 龍馬チャレンジ申込み */
.con_06 h1{
	font-family: 'Noto Serif JP', serif;
	background: #F50000;
	color: #fff;
	text-align: center;
	margin: 0 -100% 50px;
	padding: 0 100%;
}
.con_06 h2{
	margin-top:60px;
}
.con_06 > p{
	font-size:17px;
	text-align:center;
	line-height:34px;
}
.con_06 .caution{
	color:#F50000;
	font-weight:bold;
}
.con_06 .ope{
	width: 720px;
	margin: 0 auto;
	background: #F3F3F3;
	padding: 15px 20px;
}
.con_06 .ope p{
	width:100%;
}
.con_06 .ope ul{
	display:flex;
}
	.con_06 .ope ul li:first-child,
	.con_06 .ope ul li:nth-child(2){
		width:15%;
	}

/* ゴールデンウイークのお知らせ */
.gw{
	padding:50px 40px;
	margin-bottom:0;
}
.gw div{
	border-bottom: 10px double #d93535;
	border-top: 10px double #d93535;
	padding: 40px 0;
}
.gw p{
	font-size: 22px;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	color: #d93535;
}

/* 夏季休暇のお知らせ */
.contents.summer{
	margin-bottom:100px;
}
.contents.summer div{
	border-bottom: 10px double #35c5d9;
	border-top: none;
	padding: 0px 0 40px;
}
.contents.summer h2{
	background: #35C5D9;
}
.contents.summer p{
	color: #1f92a2;
}
.contents.summer span{
	border-bottom: 3px dotted #35c5d9;
}

footer .copy{
	text-align:center;
	margin:0 0 10px;
}
footer .info{
	max-width:580px;
	margin: 0 auto 15px;
	display:flex;
	flex-wrap:wrap;
	font-size: 14px;
}
footer .info dt{
	width:100%;
}
	footer .info dt:first-letter{
		color:#F50000;
		font-size:13px;
	}
footer .info dd{
	margin-right:15px;
	margin-bottom:20px;
}
	footer .info dt + dd{
		font-weight:bold;
		width: 160px;
	}
footer .f_img{
	width: 1070px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 30px;
	justify-content: space-between;
}
	footer .f_img img{
		display:block;
		margin-bottom:10px;
	}

/* フリーページ */
#container.free_page #main{
	padding:0 0 20px;
}
#left .contents{
	margin-bottom:80px;
	overflow: hidden;
	border:1px solid #E8E7E5;
}
.free_page .text-area a{
	text-decoration: underline;
}
.ttl_area{
	width:100%;
	margin:0 auto;
	display: flex;
	flex-wrap:wrap;
}
	.ttl_area:before{
		content: "";
		background: url(../parts/sub_img.jpg) no-repeat;
		width: 100%;
		height: 300px;
		display: block;
		background-size: cover;
		background-position: center;
	}
h1.page_title{
	display: flex;
	justify-content: center;
	align-items: center;
	width:1000px;
	margin:0 auto;
	position: relative;
	text-align: center;
	min-height: 120px;
	font-family: 'Noto Serif JP', serif;
}
h2.ttl_main{
	background:url(../parts/h2_ttl_bg.jpg) no-repeat;
	background-size:cover;
	padding: 20px 20px 10px 20px;
	margin: 0px 0px 0px;
	font-size: 23px;
}
h3.ttl_sub{
	font-size: 18px;
	padding: 20px 30px 0px;
	margin: 0px 0px 0px;
	background: #fff;
	text-align:left;
}
.free_page .contents{
	padding:0 0 50px;
	margin:0 20px 0px;
	background:#fff;
}
.free_page .contents > div{
	border:none;
}
.free_page .contents > div p{
	word-break: break-all;
}
.free_page .text-area {
	padding: 20px 0px 20px;
	margin: 0 auto 0px;
	background: #fff;
	width: 870px;
}

/*ファイル別アイコン*/
.pdf a,
.xls a,
.doc a{
  color:#000;
  font-weight: 600;
  padding-right:19px;
}
.pdf a{
  background:url(../parts/icon_pdf.png) no-repeat right 0px;
}
.xls a{
  background:url(../parts/icon_excel.png) no-repeat right 0px;
}
.doc a{
  background:url(../parts/icon_word.png) no-repeat right 0px;
}

.free_page .text-area dl{
	margin:0 0 25px;
}
	.free_page .text-area dl:last-child{
		margin-bottom:0;
	}
.free_page .text-area dl dt{
	font-size: 17px;
	font-weight: bold;
	color: #9A693F;
	margin: 0 0 7px;
}
.free_page .text-area dl dd{
	margin:0 0 25px 10px;
	word-break: normal;
}
	.free_page .text-area dl dd:last-child{
		margin-bottom:0;
	}
.free_page .text-area ul li{
	position:relative;
	margin-bottom:15px;
	padding: 0 0 0 0px;
	word-break: normal;
}
	.free_page .text-area ul li p{
		font-size:20px;
		font-family: 'Noto Serif JP', serif;
		margin:0 0 10px;
	}
	.free_page .text-area ul.step li{
		margin:0 auto 50px;
	}
	.free_page .text-area ul li:last-child,
	.free_page .text-area ul.step li:last-child{
		margin-bottom:0;
	}


/* フリーページ dl */
.free_dl{
	display:flex;
	justify-content: space-between;
}
.free_dl dd{
	margin-left:0!important;
}

/* ファイル */
.upfile{
	margin: 0 20px 0;
	background: #fff;
	padding: 0 30px;
}

/* 定義リスト */
.ul_typeA > li,
.ul_typeB > li{
	position:relative;
	counter-increment: cnt;
	padding-left:30px;
	padding-right: 10px;
	padding-bottom: 5px;
	margin-bottom: 15px;
}
.ul_typeA > li{
	border-bottom:1px solid #ccc;
}
.ul_typeA > li:last-child{
	border:none;
}
.ul_typeA > li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
	position: absolute;
	left: 0px;
	top: 0px;
}
.ul_typeB{
	margin-top:8px;
}
.ul_typeB > li{
	background:rgba(248, 250, 251, 1);
	padding: 5px 15px 5px 30px;
	margin: 0 0 2px;
}
.ul_typeB > li:before{
  display: marker;
  content: "" counter(cnt) ") ";
	position: absolute;
	left: 10px;
	top: 5px;
}
.table_typeA, .table_typeA th, .table_typeA td{
	width:570px;
	text-align:center;
	font-weight:normal;
	border:1px solid #ccc;
	padding:5px;
}
.table_typeA{
	margin:10px 0;
}
.table_typeA th{
	background:#E8F5FD;
}

/* 404 403 */
.error nav.menu{
	display:block;
}

/* フリーページ（画像の配置） */
	/*######################################
		フリーページの画像位置設定
	[配置対応番号]
	0_ImgTopLeft:左上		1_ImgTopCenter:中上			2_ImgTopRight:右上
	3_ImgLeft:左							4_ImgRight:右
	5_ImgBottomLeft:左下		6_ImgBottomCenter:中下		7_ImgBottomRight:右下
	########################################*/
.ImgTopCenter,
.ImgBottomCenter,
.ImgRight,
.ImgLeft,
.ImgTopLeft,
.ImgTopRight,
.ImgBottomLeft,
.ImgBottomRight {
  max-width: 1000px;
  position: relative;
  z-index: 100;
}

.ImgTopCenter img,
.ImgBottomCenter img,
.ImgRight img,
.ImgLeft img,
.ImgTopLeft img,
.ImgTopRight img,
.ImgBottomLeft img,
.ImgBottomRight img {
  border-radius: 2px;
  max-width: 100%;
}

/*----------------------------------
	上の左（回り込なし）に表示の設定
------------------------------------*/
.ImgTopLeft {
  margin-left: 0px;
}

/*----------------------------------
	上に表示の共通設定
------------------------------------*/
.ImgTopCenter,
.ImgRight,
.ImgLeft,
.ImgTopLeft,
.ImgTopRight {
  margin-bottom: 15px;
}

/*----------------------------------
	下に表示の共通設定
------------------------------------*/
.ImgBottomLeft,
.ImgBottomCenter,
.ImgBottomRight {
  margin-top: 15px;
  clear: both;
}

/*----------------------------------
	左に表示の共通設定
------------------------------------*/
.ImgTopLeft,
.ImgLeft,
.ImgBottomLeft {
  text-align: left;
  margin: 0 15px 15px 0px;
}

.freeImg0 {
  margin-top: 20px;
}

/*----------------------------------
	中央に表示の共通設定
------------------------------------*/
.ImgTopCenter,
.ImgBottomCenter {
  text-align: center;
}

.ImgTopCenter {
  margin-top: 20px;
}

/*----------------------------------
	右に表示の共通設定
------------------------------------*/
.ImgTopRight,
.ImgRight,
.ImgBottomRight {
  text-align: right;
  margin-left: 15px;
}

.ImgRight {
  margin-left: 27px;
}

.ImgTopRight {
  margin-top: 20px;
}

/*----------------------------------
	上下の共通設定
------------------------------------*/
.ImgTopLeft,
.ImgTopRight,
.ImgBottomLeft,
.ImgBottomCenter,
.ImgBottomRight {
  clear: both;
}

/*----------------------------------
	左に表示
------------------------------------*/
.ImgLeft {
  float: left;
  margin-right:20px;
}

/*----------------------------------
	右に表示
------------------------------------*/
.ImgRight {
  float: right;
}

/*----------------------------------
	左下に表示
------------------------------------*/
.ImgBottomLeft {
  margin-top: 15px;
}
/* 一つ目のcontentsの直下の画像は上にマージンをとらない */
#left > .contents:nth-child(1) > .text-area > .ImgTopCenter{
	margin-top: 0;
}

/* 表作成 */
.baseTbl_A{
	width:100%;
	font-size: 0.95rem;
	margin:10px 0;
	box-sizing:border-box;
}
.baseTbl_A th,
.baseTbl_A td{
	padding: 10px 10px;
	font-weight: 100;
	border-bottom:solid 1px #fff;
	vertical-align:top;
}
.baseTbl_A th{
	width: 25%;
	text-align: left;
	font-weight:bold;
}
.text-area  table {
    width: 100%;
    margin: 10px 0px;
    box-sizing: border-box;
	border-top: solid 1px #ccc;
}
.text-area  table th, .text-area  table td {
    padding: 10px 25px;
    border-bottom: solid 1px #ccc;
    vertical-align: top;
}
.text-area  table th{
	background:#FAF9F5;
	font-weight: bold;
}

/*パンくず*/
.breadrumb{
	margin: 10px auto 20px;
	border-bottom: 1px solid #E9E8E6;
	padding: 15px 0;
	box-sizing: content-box;
	width: 1000px;
}
.breadrumb span{
	background:url(../parts/bread_home.png) no-repeat left center;
	display:inline-block;
	padding: 2px 17px 2px 7px;
	margin-right:10px;
	cursor:pointer;
	transition:all 0.3s ease;
}
#page-top {
	width: 60px;
	height: 60px;
	position: fixed;
	bottom: 100px;
	right: 5%;
	z-index: 9999999;
	cursor: pointer;
}
#page-top a{
  display: block;
  width: 100%;
  height: 100%;
  line-height: 90px;
  text-align: center;
  color:#fff;
  font-size:12px;
  -webkit-transition:1.0s;
  transition:1.0s;
	border-right:3px solid #000;;
	transform: rotate( -90deg );
	position:relative;
}
	#page-top a:before{
		content: "》";
		position: absolute;
		color: #000;
		top: -16px;
		bottom: 0;
		left: 0px;
		right: -45px;
		margin: 0 auto;
		display: block;
		font-size: 50px;
		font-weight: bold;
	}

@media screen and ( max-width:1179px) {
	html{
		overflow-x:scroll;
	}
	#container,
	#container #box{
		width: 100%!important;
	}
	#container #main{
		width:auto;
		padding:25px 10px 0;
		box-sizing: border-box;
	}
	h1.top,
	footer ul,
	header .inner img, header,
	footer .copy,#department{
		width:100%;
		display:block;
	}
	footer .copy{margin:0 10px; width: auto;}
	header{
		margin-bottom:0px;
		height:auto;
	}
	footer{
		width:100%;
	}
	footer .info{
		margin:0 auto 20px;
	}
		footer .info dd{
			margin-bottom:10px;
		}
	footer .f_img{
		width: 100%;
		justify-content: space-around;
	}
	footer .f_img img{
		width:32%;
	    height: 100%;
	}

	.contents{
		margin:0 0 50px;
		clear:both;
	}
	.contents h2{
		margin-bottom:25px;
	}
	.contents > p{
		width:auto;
	}

	ul.step li{
		width:70%;
	}
	ul.step + a{
		margin:0;
		float:right;
	}

	.con_06 h1{
		margin:0 -10px 50px;
		padding:0 10px;
	}
	.con_06 .ope{
		width:80%;
	}

	/* 追記 */
	.gw{
		padding:30px 10px;
	}


/* 配下 */
	h2.ttl_main{
		padding:20px 10px 10px;
		margin: 0 0 0px;
	}
	#box > h1{
		overflow:hidden;
		min-height: 100px;
		margin: 0px 0px 25px;
		padding: 0 10px;
		top: -100px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		font-size: 2em;
	}
		#box > h1:before{
			content: "";
			display: block;
			/*padding-top: 100%; /* 1:1 */
		}
	#box > h1 div{
		font-size: 20px;
	}
	#box > h1 div + img{
		min-width:100%;
		max-width: 100%;
	}

	/* 表 */
	table{
		width:100%!important;
	}
	.baseTbl_A{
		margin:0px;
	}
	.baseTbl_A th,
	.baseTbl_A td{
		padding: 10px 10px;
	}
	.f_tbl{
		overflow: auto;
		white-space: nowrap;
	}
	.f_tbl::-webkit-scrollbar {
	  height: 10px;
	}
	.f_tbl::-webkit-scrollbar-track {
	  margin: 0 2px;
	  background: #ccc;
	  border-radius: 5px;
	}
	.f_tbl::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #666;
	}

	/* フリーページ */
	.breadrumb{
		width:auto;
		margin:0 10px;
		padding: 0;
	}
	.free_page #box #main{
		padding:0 0!important;
		margin:	0 10px!important;
		width:auto!important;
	}
	.free_page .contents{
		margin:10px 10px 10px;
		padding-bottom:30px;
	}
	.ttl_area{
		width:100%;
		min-height:1.8em;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	h1.page_title{
		width:100%;
		height:auto;
		font-size:1.8em;
		padding: 20px 20px;
	}
	h3.ttl_sub{
		padding:10px 10px 5px;
		margin:0 0 0;
	}
	.free_page .contents:first-child div + div h3{
		margin-top:0;
	}
	.free_page .text-area{
		padding: 10px 10px 0px;
		margin:0;
		width: auto;
	}
	table img{
		width:100%;
	}

	dl.dl_typeB dt{
		width:100%;
		padding:3px 10px!important;
		margin-bottom: 5px;
	}
	dl.dl_typeB dd{
		margin-left:0px!important;
	}

	/* 画像 */
	.ImgTopCenter, .ImgBottomCenter, .ImgRight, .ImgLeft, .ImgTopLeft, .ImgTopRight, .ImgBottomLeft, .ImgBottomRight{
		float:none;
		text-align: center;
		margin:15px 0;
	}
	.ImgTopCenter img, .ImgBottomCenter img, .ImgRight img, .ImgLeft img, .ImgTopLeft img, .ImgTopRight img, .ImgBottomLeft img, .ImgBottomRight img, .text-area img{
		max-width:100%;
	}
/* ページネーション */
	.page_view{
		width:100%!important;
		padding: 20px 0 30px;
	}
	.page_view button{
		padding: 3px 0px;
		font-size: 13px;
		float:none!important;
	}

/* フリーページdl */
	.about_o,
	.about_o dd{
		display:block;
	}
	.about_o dl{
		width:auto;
	}

	.upfile{
		margin:0;
		padding:0;
	}

	#page-top{
		display:none!important;
	}

}

@media screen and ( max-width:899px) {

	h1.top{
		font-size: 2em;
	}
		h1.top span{
			display:block;
		}

	ul.step_03{
		flex-wrap:wrap;
		margin: 0 auto;
	}
	ul.step_03 li{
		width:25%;
		border-bottom:none;
		border-right:1px solid #000;
		justify-content: left;
	}
		ul.step_03 li:nth-child(6){
			width:50%;
		}
	ul.step_03 li:nth-child(5) img, ul.step_03 li:nth-child(9) img{
		border-right:1px solid #fff;
	}
	ul.step_03 li:nth-child(4) img, ul.step_03 li:nth-child(7) img,
	ul.step_03 li:nth-child(9) img{
		border-right:none;
	}
	ul.step_03 li p{
		border-bottom:none;
		padding:0 5px;
		align-self: center;
 	}
	ul.step_03 li dl{
		font-size:12px;
		border-left:1px solid #000;
		padding-left:15px;
	}
	ul.step_03 li span{
		width:80%;
		border-left:1px solid #000;
		text-align: left;
		padding: 0 10px;
		height: 100%;
	}
	ul.txt li{
		width:auto;
	}
	.con_06 .ope ul{
		flex-wrap:wrap;
		margin-bottom:8px;
	}
	.con_06 .ope ul li:first-child{
		width:100%;
	}
	.con_06 .ope ul li:nth-child(2){
		margin-left:15px;
		width:auto;
	}
	.con_06 .ope ul li:nth-child(3){
		margin-left:15px;
	}

}

@media screen and ( max-width:600px) {

	.con_05 ul.step_01{
		flex-wrap: wrap;
		width: 30%;
		max-width: 150px;
		margin: 0 auto 50px;
	}
		.con_05 ul.step_01 li{
			border-top:none;
			border-right:1px solid #000;
		}
		.con_05 ul.step_01 li:first-child{
			border-top:1px solid #000;
		}

	footer .info{
		width:71%;
		min-width:250px;
	}

	/* 夏季休暇のお知らせ */
	.contents.summer p{
		font-size:18px;
	}

}

/* 400px未満sp */
@media screen and (max-width:400px){

	html {
		min-width:320px;
		overflow-x: scroll;
	}


/* ヘッダ */
	header .inner{
		width:100%;
	}
	#box > h1.top{
		font-size: 7vw;
		min-height:80px;
		position: relative;
		top: 0;
	}
	h1.top span{
		display:block;
	}

	.info_area h2{
		font-size:26px;
	}
	.contents h2 p{
		font-size:22px;
		padding:0 7px;
		background: -moz-linear-gradient(left, rgba(153,153,153,0) 0%, rgb(245, 0, 0) 5%, rgb(245, 0, 0) 50%, rgb(245, 0, 0) 95%, rgba(229,229,229,0) 100%);
		background: -webkit-linear-gradient(left, rgba(153,153,153,0) 0%,rgba(245,0,0,1) 5%,rgba(245,0,0,1) 50%,rgba(245,0,0,1) 95%,rgba(229,229,229,0) 100%);
		background: linear-gradient(to right, rgba(153,153,153,0) 0%,rgb(245, 0, 0) 5%,rgb(245, 0, 0) 50%,rgb(245, 0, 0) 95%,rgba(229,229,229,0) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00999999', endColorstr='#00e5e5e5',GradientType=1 );
	}
	.con_06 h1{
		font-size:8vw;
	}
	.con_06 .ope{
		width:100%;
		padding:15px 10px;
	}
	.con_06 .ope ul{
		flex-direction: column;
	}
	.con_06 > p{
		text-align:left;
	}

	ul.step_03 li{
		width:100%!important;
		border-bottom:1px solid #fff;
		flex-wrap: nowrap;
	}
		ul.items li img{
			width: 68%;
			height: 100%;
			display: block;
			margin: 0 auto;
			border: none!important;
		}
		ul.step_03 li:nth-child(6) img{
			width: 46%;
		}
		ul.step_03 li:nth-child(6){
			flex-wrap:nowrap;
		}
		ul.step_03 li:last-child{
			border-bottom:1px solid #000;
		}
	ul.step_03 li p{
		width: 35px;
		height:100%;
	}

/* フッター */
	footer .footer_menu > dl{
		width:100%;
	}

	a.to_form{
		width:80%;
	}

	/* フリーページ */
	h1.page_title{
		justify-content:left;
		padding: 20px 10px 10px;
		min-height: auto;
		font-size: 1.3em;
	}
	h2.ttl_main,
	h3.ttl_sub,
	.free_page .contents > div{
		padding-left:0px;
		padding-right:0px;
	}
	h2.ttl_main p{
		font-size:20px;
	}
	.free_page .contents{
		margin:10px 0 10px;
	}

	.free_page .text-area ul li{
		margin-left:14px;
	}

}
/*------------print---------------------*/
/* 印刷 */
@page {
	margin: 12mm 7mm;
}
@media print{
	body{ zoom: 95%; }

	#page-top{
		display:none!important;
	}
}
.alter_data{
	font-weight:bold;
	color:#ff3300;
}
