@charset "UTF-8";
/* ==========================================================================
   Reset
   ========================================================================== */
/* Initialize
   ========================================================================== */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strong,
sub,
sup,
var,
b,
u,
i,
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,
main,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-decoration: none;
}
a{
  color:#000;
}
a:hover {
	opacity: .5;	
}
/* Display
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}
.win,
.mac {
  overflow-y: scroll;
}
/* Fonts
   ========================================================================== */
html {
  font-size: 0.625em;
}
body {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
h1,
h2 {
  font-size: 2em;
}
h3,
h4,
h5,
h6,
dt,
dd,
li,
caption,
col,
th,
td,
p,
address,
figcaption {
  font-size: 1.4em;
}
dd dt,
dd dd,
dd li,
dd p,
dd caption,
dd col,
dd th,
dd td,
dd figcaption,
li dt,
li dd,
li li,
li p,
li caption,
li col,
li th,
li td,
li figcaption,
th dt,
th dd,
th li,
th p,
th caption,
th col,
th th,
th td,
th figcaption,
td dt,
td dd,
td li,
td p,
td caption,
td col,
td th,
td td,
td figcaption {
  font-size: 1em;
}
sup,
sub {
  font-size: 0.83em;
}
body,
input,
textarea,
select {
  font-family: "Helvetica","Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.ie body,
.ie input,
.ie textarea,
.ie select {
  font-family: "Meiryo", "MS PGothic", sans-serif;
}
/* Style
   ========================================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption {
  text-align: left;
}
th {
  font-weight: bold;
}
th,
td {
  vertical-align: top;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
address {
  font-style: normal;
  font-weight: normal;
}
input[type="text"],
input[type="password"],
input[type="number"],
input[type="tel"] {
  margin: 0;
  line-height: normal;
}
input[type="image"] {
  cursor: pointer;
  vertical-align: top;
}
textarea {
  margin: 0;
  vertical-align: top;
  resize: vertical;
}
img {
  vertical-align: top;
  -ms-interpolation-mode: bicubic;
  font-size: 1.6rem;
}
h1 img{
  font-size: 3rem;
  line-height: 1.2;
}
h2 img{
  font-size: 2rem;
  line-height: 1.2;
/*  height: 27px;*/
}
object,
embed,
iframe {
  vertical-align: top;
  outline: none;
  max-width: 100%;
}
em,
strong {
  font-style: normal;
  font-weight: bold;
}
mark {
  color: inherit;
  background-color: inherit;
  font-weight: bold;
}
sup,
sub {
  position: relative;
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  _vertical-align: bottom;
}
sup {
  bottom: 1ex;
}
sub {
  top: .5ex;
}
/* Clearfix   ========================================================================== */
header,
footer,
main,
section,
article,
aside,
nav,
.contents_index,
.content,
.main-content,
.article,
.section,
.row {
  zoom: 1;
}
header:before,
footer:before,
main:before,
section:before,
article:before,
aside:before,
nav:before,
.content:before,
.main-content:before,
.article:before,
.section:before,
.row:before,
header:after,
footer:after,
main:after,
section:after,
article:after,
aside:after,
nav:after,
.content:after,
.main-content:after,
.article:after,
.section:after,
.row:after {
  content: '';
  display: table;
}
header:after,
footer:after,
main:after,
section:after,
article:after,
aside:after,
nav:after,
.content:after,
.main-content:after,
.article:after,
.section:after,
.row:after {
  content: '';
  clear: both;
}
/* ==========================================================================
   Layout - General
   ========================================================================== */
/* Root
   ========================================================================== */

body {
  overflow: auto;
  min-width: 1100px;
  line-height: 1.8;
  color: #333;
  background-color: #fff;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	body {
	min-width: 100%;
	}
}

/* ==========================================================================
   common
   ========================================================================== */

.only_sp {
	display: none;
}
.only_sp-part2 {
	display: none;
}

@media screen and (max-width: 767px) {	
	.only_sp {
		display: block;
	}
	.only_sp-part2 {
		display: none;
	}
	.only_pc {
		display: none;
	}
}

.text-s14{
	font-size: 14px;
}



/*all-contents*/

main {
	margin: 0 auto;
}

.section_inner{
	margin: 0 auto;
  width: 1100px;
	padding:0 60px;
	box-sizing: border-box;
}

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

main {
	position: relative;
	/*top:48px;*/
	padding-top:48px;
}

.section_inner{
	width: 100%;
	padding:0 15px;
	}
}/*/max-width: 767px*/


.content_inner {
	margin: 60px auto 0;
  width: 1100px;
	padding:0 60px;
	box-sizing: border-box;	
}
@media screen and (max-width: 767px) {
	.content_inner {
		margin-top: 40px;
	}	
}

/* ==========================================================================
   mod-page
   ========================================================================== */

.mod-page-title {
	position: relative;
	width: 100%;
	margin: 0 auto 60px;
	padding: 53px 0;
	overflow: hidden;
	background-color: #ECEEF4;
	text-align: center;
}
.mod-page-title h1 {
	font-size: 42px;
	line-height: 1.3;
	font-weight: bold;
	color: #2B38C2;
}

@media screen and (max-width: 767px) {
	.mod-page-title {
		box-sizing: border-box;
    margin-bottom: 40px;
    padding: 32px 10px;
	}
		.mod-page-title h1 {
			font-size: 26px;
		
		}
}/*/max-width: 767px*/


.mod-ul {
	margin-top: 24px;
	list-style: disc;
	padding-left: 2em;
}
	.mod-ul li {
		margin-top: 20px;
	}
	.mod-ul li:first-child {
		margin-top: 0;
	}
		.mod-ul .mod-ol  {
			margin-top: 15px;
			margin-bottom: 12px;
		}
			.mod-ul .mod-ol li {
				margin-top: 10px;
			}


.mod-ol {
	margin-top: 24px;
	list-style: decimal;
	padding-left: 2em;
}
	.mod-ol li {
		margin-top: 20px;
	}
	.mod-ol li:first-child {
		margin-top: 0;
	}
		.mod-ol .mod-ul  {
			margin-top: 15px;
			margin-bottom: 12px;
		}
			.mod-ol .mod-ul li {
				margin-top: 10px;
			}


.mod-title_sub {
	font-size: 16px;
	font-weight: bold;
}


.icon_tgt {
	position: relative;;
}
	.icon_tgt:after {
		content: "";
		background: url(../image/icon-tgt.png) no-repeat center center;
		background-size: 13px 11px;
		width: 13px;
		height: 11px;
		position: absolute;
		top:50%;
		margin-top: -6px;
		padding-left: 6px;
	}

.mod_btn {
		margin: 14px auto 0;
		padding:13px 8px;
		box-sizing: border-box;
		position: relative;
		width: 300px;
		min-height: 48px;
		background-color: #fff;
		border: 1px solid #000;
		color: #ccc;
		font-size: 16px;
		font-weight: normal;
		line-height: 1.2;
		letter-spacing: 1.2px;
		text-align: center;
	}
	.mod_btn::after {
		content: "";
		background: url(../image/icon-anc_next.png) no-repeat center center;
		background-size: 10px 16px;
		width: 10px;
		height: 16px;
		position: absolute;
		top: 50%;
		right: 12px;
		margin-top: -8px;
	}



.mod-h-title_sub1 {
		font-size: 3rem;
    line-height: 1.3;
    margin-bottom: 30px;
    padding-bottom: 16px;
		position: relative;
}
	.mod-h-title_sub1::before, .mod-h-title_sub1::after {
			bottom: 0;
			content: '';
			height: 1px;
			left: 0;
			position: absolute;
	}
	.mod-h-title_sub1::before {
			background-color: #2B38C2;
			width: 45px;
			z-index: 1;
	}
	.mod-h-title_sub1::after {
			background-color: #d0d0d0;
			width: 100%;
	}

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

	.mod-h-title_sub1 {
			font-size: 2rem;
			margin-bottom: 22px;
			padding-bottom: 16px;
	}
}/*/max-width: 767px*/


.mod-h-title_sub2 {
		font-size: 2.2rem;
    line-height: 1.3;
    margin-bottom: 20px;
    padding: 6px 0 6px 16px;
		position: relative;
}
	.mod-h-title_sub2::before {
			background-color: #2B38C2;
			bottom: 0;
			content: '';
			width: 3px;
			height: 100%;
    	min-height: 40px;
			left: 0;
			position: absolute;
	}
@media screen and (max-width: 767px) {

	.mod-h-title_sub2 {
			font-size: 1.8rem;
	}
	.mod-h-title_sub2::before {
		min-height: auto;
	}
}/*/max-width: 767px*/


.mod-h-comments {
	font-size: 16px;
	font-weight: normal;
	padding-left: 16px;
	color: #333;
	display: inline-block;
	vertical-align: middle;
	line-height: 1.6;
}

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

	.mod-h-comments {
		font-size: 12px;
		padding-left: 10px;
	}
}/*/max-width: 767px*/




.mod-btn-block {
	text-align: center;
}
	.mod-btn-block a:hover {
		opacity: 1;
		color: #fff;
		background-color:#394bff;
	}

	.mod-btn-cv-next {
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		width: 320px;
		padding: 16px 10px 17px 10px;
		background-color: #2b39c2;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.3;
		letter-spacing: 1.4px;
		text-align: center;
	}
		.mod-btn-cv-next::after {
			content: "";
			background: url(../image/icon-next-w.svg) no-repeat center center;
			background-size: 11px 18px;
			width: 11px;
			height: 18px;
			position: absolute;
			top: 50%;
			right: 12px;
			margin-top: -9px;
		}

	.mod-btn-cv-anc {
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		width: 320px;
		padding: 16px 10px 17px 10px;
		background-color: #2b39c2;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.3;
		letter-spacing: 1.4px;
		text-align: center;
	}
		.mod-btn-cv-anc::after {
			content: "";
			background: url(../image/icon-anc-w.svg) no-repeat center center;
			background-size: 18px 11px;
			width: 18px;
			height: 11px;
			position: absolute;
			top: 50%;
			right: 12px;
			margin-top: -5px;
		}


	.mod-btn-standard-next {
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		width: 320px;
		padding: 13px 10px 12px 10px;
		border: 1px solid #333;
		background-color: #fff;
		color: #333;
		font-size: 18px;
		line-height: 1.3;
		letter-spacing: 1.4px;
		text-align: center;
	}
		.mod-btn-standard-next::after {
			content: "";
			background: url(../image/icon-next-b.svg) no-repeat center center;
			background-size: 10px 17px;
			width: 10px;
			height: 17px;
			position: absolute;
			top: 50%;
			right: 12px;
			margin-top: -9px;
		}
	a.mod-btn-standard-next:hover {
		border-color: #394bff;
		color: #fff;
	}
	a.mod-btn-standard-next:hover::after {
		background: url(../image/icon-next-w.svg) no-repeat center center;
}


	.mod-btn-standard-back {
		display: inline-block;
		position: relative;
		box-sizing: border-box;
		width: 320px;
		padding: 13px 10px 12px 10px;
		border: 1px solid #333;
		background-color: #fff;
		color: #333;
		font-size: 18px;
		line-height: 1.3;
		letter-spacing: 1.4px;
		text-align: center;
	}
		.mod-btn-standard-back::after {
			content: "";
			background: url(../image/icon-back-b.svg) no-repeat center center;
			background-size: 10px 17px;
			width: 10px;
			height: 17px;
			position: absolute;
			top: 50%;
			left: 12px;
			margin-top: -9px;
		}
	a.mod-btn-standard-back:hover {
		border-color: #394bff;
		color: #fff;
	}
	a.mod-btn-standard-back:hover::after {
		background: url(../image/icon-back-w.svg) no-repeat center center;
}


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

	.mod-btn-cv-next,.mod-btn-cv-anc,.mod-btn-standard-next,.mod-btn-standard-back {
			width: 100%;
			max-width: 300px;
			font-size: 1.5rem;
			letter-spacing: normal;
	}
	.mod-btn-cv-next::after {
			background-size: 9px 16px;
			width: 9px;
			height: 16px;
			margin-top: -8px;
	}
	.mod-btn-cv-anc::after {
			background-size: 16px 9px;
			width: 16px;
			height: 9px;
			margin-top: -4.5px;
	}
}/*/max-width: 767px*/





ul.mod-LocalNav {
	background-color: #F2F4F6;
	box-sizing: border-box;
	padding: 30px;
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}
ul.mod-LocalNav li {
	background-color: #fff;
	display: flex;
	margin-left: 3px;
	width: 32.9%;
	min-height: 64px;
	font-size: 17px;
  line-height: 1.2;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
}
	ul.mod-LocalNav li:nth-child(3n + 1) {
		margin-left: 0;
	}
	ul.mod-LocalNav li:nth-child(n + 4) {
		margin-top: 3px;
	}

ul.mod-LocalNav li a {
	display: inline-block;
	width: 100%;
	position: relative;
	box-sizing: border-box;
	padding: 22px 34px 22px 20px;
}

ul.mod-LocalNav li a::after {
	content: "";
	background: url(../image/icon-anc-b.svg) no-repeat center center;
	background-size: 14px auto;
	width: 14px;
	height: 8px;
	position: absolute;
	top: 50%;
	right: 16px;
	margin-top: -4px;
}

@media screen and (max-width: 767px) {
	ul.mod-LocalNav {
		padding: 25px 15px;
	}
	ul.mod-LocalNav li {
		background-color: #fff;
		display: inline-block;
		margin-left: 0;
		margin-bottom: 2px;
		min-height: 40px;
		width: 100%;
		font-size: 16px;
		line-height: 1.2;
	}
	ul.mod-LocalNav li a {
		box-sizing: border-box;
		padding: 14px 30px 11px 16px;
	}
		ul.mod-LocalNav li:nth-child(n + 4) {
			margin-top: 0px;
		}
}/*/max-width: 767px*/


.mod-2col-btn {
	overflow: hidden;
	margin: auto;
}
	.mod-2col-btn li {
		display: inline-block;
		margin: 0 20px;
	}


@media screen and (max-width: 767px) {
	.mod-2col-btn li {
		margin-left: 0;
		margin-right: 0;
	}
}

/* ==========================================================================
   helper
   ========================================================================== */
.mt0 {
	margin-top: 0;
}
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt60 {
	margin-top: 60px;
}
.mt80 {
	margin-top: 80px;
}

.pt60 {
	padding-top: 60px;
}
.pt80 {
	padding-top: 80px;
}


@media screen and (max-width: 767px) {
	.s-mt60 {
		margin-top: 60px;
	}
	
	.s-pt20 {
		padding-top: 20px;
	}
	.s-pt30 {
		padding-top: 30px;
	}
	.s-pt40 {
		padding-top: 20px;
	}
	.s-pt50 {
		padding-top: 30px;
	}
	
}/*/max-width: 767px*/




.w-bold {
	font-weight: bold;
}


a.txtlnk_w {
	color: #fff;
	text-decoration: underline;
}