@charset "UTF-8";

/* リセット */
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,main,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,main,article,section,aside,figure,figcaption {display:block;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,main,article,section,aside,figure,figcaption,img,span,a {box-sizing:border-box;}
ul,ol {list-style-type:none;}
img {border:none; vertical-align:middle;}
table {border-collapse:collapse;}

/* ユーティリティー */
a {color:#000; text-decoration:none; display:block; transition:opacity 0.7s; zoom:1;}
a:hover {opacity:0.8;}
.fgo {font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
.fmin {font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;}
.fdin {font-family:'din-2014', sans-serif;}
.clearfix:after {
	content:"";
	clear:both;
	display:block;
}


body {
	color:#000;
	font-family:'Noto Sans Japanese', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
	font-size:13px;
	line-height:1.4;
	background:url(../imgs/common/bg.jpg) repeat center center;
}

body p {
	line-height:1.9;
}


/* -------------------------------------
header
------------------------------------- */
header {
	width:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:10;
}
header .head {
	padding:6px 0 10px 0;
	background-color:#fff;
	box-shadow:0px 4px 3px -3px rgba(0,0,0,0.1);
	position:relative;
}
header .head .page {
	font-size:0;
}
header #logo, header .expand {
	display:inline-block;
	vertical-align:bottom;
}
header #logo {
	width:225px;
}
header .expand {
	font-size:0;
	text-align:right;
	width:calc(100% - 235px);
	margin-bottom:2px;
}
header .expand li {
	font-size:13px;
	font-weight:bold;
	display:inline-block;
	vertical-align:middle;
	padding-right:15px;
	background:url(../imgs/common/arrow_navi.png) no-repeat right center;
	cursor:pointer;
	position:relative;
}
header .expand li:not(:last-child) {
	margin-right:20px;
}
header .expand li::after {
	content:"";
	width:100%;
	height:1px;
	display:block;
	background-color:#000;
	position:absolute;
	bottom:-2px;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity 0.3s;
}
header .expand li:hover::after {
	opacity:1.0;
}

header a#menu_btn,
header a#menu_btn span {
	display:inline-block;
	transition:all .4s;
}
header a#menu_btn {
	width:36px;
	height:35px;
	display:none;
	border-radius:2px;
	position:absolute;
	top:50%;
	right:10px;
	z-index:10;
	transform:translateY(-50%);
}
header a#menu_btn span {
	width:24px;
	height:4px;
	margin:0 auto;
	border-radius:2px;
	background-color:#063b98;
	position:absolute;
	left:0;
	right:0;
}
header a#menu_btn span:nth-of-type(1) {
	top:8px;
}
header a#menu_btn span:nth-of-type(2) {
	top:16px;
}
header a#menu_btn span:nth-of-type(3) {
	top:24px;
}
header a#menu_btn.active {
	background-color:#063b98;
	opacity:1.0;
}
header a#menu_btn.active span {
	background-color:#fff;
}
header a#menu_btn.active span:nth-of-type(1) {
	transform:translateY(8px) rotate(-315deg);
}
header a#menu_btn.active span:nth-of-type(2) {
	opacity:0;
}
header a#menu_btn.active span:nth-of-type(3) {
	transform:translateY(-8px) rotate(315deg);
}



#expandnavi {
	display:none;
	width:100%;
	padding:30px 0;
	background-color:#063b98;
	position:absolute;
	top:100%;
	left:0;
	z-index:10;
}
.expand_menu {
	font-size:0;
	display:none;
}
.expand_menu p, .expand_menu ul {
	width:33.3%;
	display:inline-block;
	vertical-align:top;
}
.expand_menu p {
	font-size:18px;
	font-weight:bold;
	color:#fff;
	line-height:1.4;
	position:relative;
}
.expand_menu p::after, .expand_menu p::before {
	content:"";
	width:16px;
	height:2px;
	display:none;
	background-color:#fff;
	position:absolute;
	top:50%;
	right:10px;
	z-index:1;
	transition:all .4s;
}
.expand_menu p::after {
	transform:translateY(0px) rotate(-90deg);
}
.expand_menu p.active::after {
	transform:translateY(0px) rotate(-180deg);
}
.expand_menu p.active::before {
	transform:translateY(0px) rotate(180deg);
}
.expand_menu ul {
	padding-left:10px;
	padding-top:4px;
}
.expand_menu ul li:not(:last-child) {
	margin-bottom:8px;
}
.expand_menu ul li a {
	font-size:13px;
	color:#fff;
	display:inline-block;
	position:relative;
}
.expand_menu ul li a::after {
	content:"";
	width:100%;
	height:1px;
	display:block;
	background-color:#fff;
	position:absolute;
	bottom:-2px;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity 0.3s;
}
.expand_menu ul li a:hover {
	opacity:1.0;
}
.expand_menu ul li a:hover::after {
	opacity:1.0;
}



/* -------------------------------------
footer
------------------------------------- */
#main_fnavi {
	padding:60px 0;
	background-color:#eee;
}
#main_fnavi p#flogo {
	width:28.2%;
	margin:0 auto 40px auto;
}
#main_fnavi nav {
	width:100%;
	display:table;
}
#main_fnavi .parent {
	display:table-cell;
	vertical-align:top;
	padding:0 40px;
}
#main_fnavi .parent:not(:last-child) {
	border-right:1px solid #b3b2b2;
}
#main_fnavi li a {
	font-size:13px;
	text-align:left;
	display:inline-block;
	position:relative;
}
#main_fnavi .parent > li > p {
	font-size:15px;
	font-weight:bold;
	line-height:1.4;
	margin-bottom:15px;
}
#main_fnavi .child li:not(:last-child) {
	margin-bottom:5px;
}
#main_fnavi li a:hover {
	opacity:1.0;
}
#main_fnavi li a::after {
	content:"";
	width:100%;
	height:1px;
	display:block;
	background-color:#000;
	position:absolute;
	bottom:-2px;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity 0.3s;
}
#main_fnavi li a:hover::after {
	opacity:1.0;
}

#sub_fnavi {
	padding:21px 0;
	background-color:#fff;
}
#sub_fnavi ul {
	font-size:0;
	text-align:center;
}
#sub_fnavi ul li {
	display:inline-block;
	vertical-align:middle;
}
#sub_fnavi ul li:not(:last-child) {
	margin-right:30px;
}
#sub_fnavi ul li a {
	font-size:13px;
	position:relative;
}
#sub_fnavi ul li a::after {
	content:"";
	width:100%;
	height:1px;
	display:block;
	background-color:#000;
	position:absolute;
	bottom:-2px;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity 0.3s;
}
#sub_fnavi ul li a:hover {
	opacity:1.0;
}
#sub_fnavi ul li a:hover::after {
	opacity:1.0;
}

.ftr_menu {
	position:relative;
}
.ftr_menu::after, .ftr_menu::before {
	content:"";
	width:16px;
	height:2px;
	display:none;
	background-color:#000;
	position:absolute;
	top:50%;
	right:10px;
	z-index:1;
	transition:all .4s;
}
.ftr_menu::after {
	transform:translateY(0px) rotate(-90deg);
}
.ftr_menu.active::after {
	transform:translateY(0px) rotate(-180deg);
}
.ftr_menu.active::before {
	transform:translateY(0px) rotate(180deg);
}


#cp {
	text-align:center;
	line-height:1.4;
	padding:18px 10px;
	background-color:#000;
}
#cp small {
	font-size:12px;
	color:#fff;
}



/* -------------------------------------
common
------------------------------------- */
.page {
	width:980px;
	margin:0 auto;
}
.img {
	width:100%;
	height:auto;
	display:block;
}
.sptel {
	cursor:default;
	pointer-events:none;
}

.blk {
	padding:125px 0;
}
.blk_s {
	padding:55px 0;
}
.bg_bl {
	background-color:#063b98;
}
.bg_wh {
	background-color:#fff;
}

.inv_mov {
	opacity:0;
	transition:opacity 1.0s, transform 1.0s;
}
.tl_y {
	transform:translate(0,60px); 
}
.tl_y2 {
	transform:translate(-60px,0); 
}
.tl_x {
	transform:translate(-60px,0); 
}
.tl_x2 {
	transform:translate(60px,0); 
}
.mov {
	opacity:1.0;
	transform:translate(0,0); 
	transition:opacity 1.0s, transform 1.0s;
}
.mov.delay100 {
	transition-delay:100ms;
}
.mov.delay200 {
	transition-delay:200ms;
}
.mov.delay300 {
	transition-delay:300ms;
}
.mov.delay400 {
	transition-delay:400ms;
}
.mov.delay500 {
	transition-delay:500ms;
}

.cc_top {
	padding-top:42px;
	background:url(../imgs/common/cc_top.png) no-repeat center top;
	background-size:100% 42px;
}
.cc_btm {
	padding-bottom:42px;
	background:url(../imgs/common/cc_btm.png) no-repeat center bottom;
	background-size:100% 42px;
}

main {
	padding-top:43px;
	overflow:hidden;
}

#mainimg {
	margin-bottom:-42px;
	position:relative;
	z-index:0;
	overflow:hidden;
}
#mainimg .page {
	height:100%;
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:1;
}
#mainimg .text {
	padding-left:90px;
	position:absolute;
	top:50%;
	left:0;
	z-index:1;
	transform:translateY(-50%);
}
#mainimg .text.pdl0 {
	padding-left:0;
}
#mainimg .text h1 {
	font-size:0;
	margin-bottom:32px;
}
#mainimg .text h1 span {
	font-size:50px;
	font-weight:bold;
	color:#fff;
	line-height:1.0;
	letter-spacing:0.1em;
	display:inline-block;
	padding:5px 7px 7px 7px;
	background-color:#000;
}
#mainimg .text h1 span.eng {
	padding:3px 7px 8px 7px;
}
#mainimg .text dl dt, #mainimg .text dl dd {
	font-size:0;
}
#mainimg .text dl dt span, #mainimg .text dl dd span {
	line-height:1.0;
	letter-spacing:0.05em;
	display:inline-block;
	background-color:#fff;
}
#mainimg .text dl dt span {
	font-size:35px;
	font-weight:bold;
	padding:5px 7px 7px 4px;
}
#mainimg .text dl dt span.ruby {
	font-size:13px;
	font-weight:normal;
	letter-spacing:0.1em;
}
#mainimg .text dl dd span {
	font-size:13px;
	padding:3px 4px 4px 4px;
}
#mainimg .bg_img .inv_mov {
	transition:opacity 1.0s;
}
#mainimg .bg_img .spimg {
	display:none;
}


#maincap {
	position:relative;
	z-index:1;
}
#maincap .bg_bl {
	padding:80px 0;
}
#maincap .cap {
	font-size:25px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	line-height:1.6;
}
#maincap .postlist {
	margin-top:60px;
}
.postlist {
	font-size:0;
	text-align:center;
	max-width:888px;
	margin:0 auto;
}
.postlist li {
	width:calc((99.9% - 120px) / 4);
	display:inline-block;
	vertical-align:middle;
	margin-right:40px;
}
.postlist li:nth-child(4n), .postlist li:last-child {
	margin-right:0;
}
.postlist li a {
	padding-top:100%;
	border-radius:50%;
	background-color:#fff;
	position:relative;
	box-shadow:0px 0px 10px 0px rgba(0,0,0,0.65);
}
.postlist li a .off {
	font-size:13px;
	width:100%;
	position:absolute;
	bottom:0;
	left:0;
	z-index:1;
	transition:opacity 0.3s;
}
.postlist li a .on {
	width:100%;
	position:absolute;
	top:50%;
	left:0;
	z-index:1;
	transform:translateY(-50%);
	opacity:0;
	transition:opacity 0.3s;
}
.postlist li a:hover {
	opacity:1.0;
}
.postlist li a:hover .off, .postlist li a.active .off {
	opacity:0;
}
.postlist li a:hover .on, .postlist li a.active .on {
	opacity:1.0;
}
.postlist li a .on p {
	font-size:13px;
	color:#063b98;
	text-align:center;
	line-height:1.4;
}
.postlist li a .on p:nth-child(1) {
	letter-spacing:-0.1em;
	margin-bottom:5px;
}
.postlist li a .on p span {
	font-size:30px;
	font-weight:bold;
	display:block;
	margin-bottom:5px;
}
.postlist li .spbr {
	display:none;
}


.index_list {
	text-align:center;
	margin-top:30px;
	border-bottom:1px solid #fff;
}
.index_list dt {
	font-size:0;
	position:relative;
}
.index_list dt span {
	width:150px;
	display:inline-block;
	padding:0 25px;
	margin:0 auto;
	position:relative;
	z-index:1;
}
.index_list.wh dt span {
	background-color:#063b98;
}
.index_list.bk dt span {
	background-color:#eee;
}
.index_list dt::after {
	content:"";
	width:100%;
	height:1px;
	display:block;
	background-color:#fff;
	position:absolute;
	top:50%;
	left:0;
	z-index:0;
}
.index_list dd {
	text-align:left;
	padding:15px 0 15px 0;
}
.index_list dd ul {
	font-size:0;
	text-align:center;
}
.index_list dd ul li {
	display:inline-block;
	vertical-align:top;
	margin:0 15px 10px 15px;
}
.index_list dd ul li a {
	font-size:13px;
	font-weight:bold;
	display:inline-block;
	padding-left:13px;
	position:relative;
	transition:color 0.3s;
}
.index_list.wh dd ul li a {
	color:#fff;
}
.index_list.bk dd ul li a {
	color:#000;
}
.index_list dd ul li a::after {
	content:"";
	width:8px;
	height:12px;
	display:block;
	border-top:6px solid transparent;
	border-bottom:6px solid transparent;
	border-left:8px solid #fff;
	position:absolute;
	top:3px;
	left:0;
	z-index:1;
	box-sizing:border-box;
	transition:border 0.3s;
}
.index_list dd ul li a:hover, .index_list dd ul li a.on {
	color:#e60012;
	opacity:1.0;
}
.index_list dd ul li a:hover::after, .index_list dd ul li a.on::after {
	border-left:8px solid #e60012;
}



.check {
	padding:80px 0;
}
.check .cap {
	font-size:25px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	line-height:1.6;
}
.check .postlist {
	margin-top:50px;
	margin-bottom:75px;
}
.check a.checklink {
	font-size:25px;
	font-weight:bold;
	color:#fff;
	text-align:center;
	max-width:620px;
	padding:16px 10px 18px 10px;
	margin:0 auto;
	border:3px solid #fff;
	background-color:#e60000;
	box-shadow:2px 2px 4px 0px #333;
	position:relative;
	transition:background 0.3s;
}
.check a.checklink br {
	display:none;
}
.check a.checklink::after, .check a.checklink::before {
	content:"";
	display:block;
	background-color:#fff;
	position:absolute;
	top:50%;
	z-index:1;
	transform:translateY(-50%);
	transition:all .2s;
}
.check a.checklink::before {
	width:1px;
	height:15px;
	right:27px;
}
.check a.checklink::after {
	width:15px;
	height:1px;
	right:20px;
}
.check a.checklink:hover {
	background-color:#000;
}
.check a.checklink:hover::before {
	transform:translateY(-3px) rotate(45deg);
}
.check a.checklink:hover::after {
	transform:translateY(-6px) rotate(45deg);
}


.modal_child {
	display:none;
}
.modaal-container {
	max-width:586px;
	border-radius:20px;
}
.modaal-content-container {
	padding:25px 35px;
}
.modaal-close {
	position:absolute;
	top:-19px;
	right:-19px;
}
.modaal-close:after, .modaal-close:before {
	content:none;
}
.modaal-wrapper .modaal-close {
	width:62px;
	height:58px;
	background:url(../imgs/common/modal_close.png) no-repeat center center;
	background-size:100% 100%;
}


@media screen and (max-width:1240px) {
	#mainimg .bg_img img {
		width:1223px;
		position:relative;
		left:50%;
		transform:translateX(-50%);
	}
}
@media screen and (max-width:1040px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header .head {
		padding:7px 0 10px 0;
	}
	header #logo {
		width:210px;
	}
	header .expand {
		width:calc(100% - 220px);
		margin-bottom:1px;
	}
	
	.expand_menu p {
		font-size:17px;
	}
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	#main_fnavi {
		padding:54px 0;
	}
	#sub_fnavi ul li:not(:last-child) {
		margin-right:25px;
	}
	#main_fnavi .parent {
		padding:0 30px;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	.page {
		width:100%;
		padding:0 20px;
	}
	.blk {
		padding:105px 0;
	}
	
	
	main {
		padding-top:42px;
	}
	
	
	.cc_top {
		padding-top:2.9%;
		background-size:100% auto;
	}
	.cc_btm {
		padding-bottom:2.9%;
		background-size:100% auto;
	}
	
	
	#mainimg {
		margin-bottom:-2.9%;
	}
	#mainimg .text {
		padding-left:7%;
	}
	#mainimg .text.pdl0 {
		padding-left:30px;
	}
	#mainimg .text h1 {
		margin-bottom:29px;
	}
	#mainimg .text h1 span {
		font-size:44px;
	}
	#mainimg .text dl dt span {
		font-size:31px;
	}
	#mainimg .bg_img img {
		width:1100px;
	}
	
	
	#maincap .bg_bl {
		padding:70px 0;
	}
	#maincap .cap {
		font-size:22px;
	}
	
	
	.index_list {
		margin-top:28px;
	}
	.index_list dt span {
		width:137px;
		padding:0 20px;
	}
	.index_list dd ul li {
		margin:0 13px 10px 13px;
	}
	
	
	.check {
		padding:70px 0;
	}
	.check a.checklink {
		font-size:23px;
		padding:16px 10px 17px 10px;
	}
	
	
	.postlist li a .on p span {
		font-size:27px;
	}
	
	
	.modaal-content-container {
		padding:25px 30px;
	}
	.modaal-close {
		top:-17px;
		right:-17px;
	}
	.modaal-wrapper .modaal-close {
		width:58px;
		height:54px;
	}
}
@media screen and (max-width:980px) {
	.postlist li {
		width:calc((99.9% - 90px) / 4);
		margin-right:30px;
	}
}
@media screen and (max-width:880px) {
	header .head .page {
		padding:0 10px 0 15px;
	}
	header #logo {
		width:200px;
	}
	header .expand {
		width:calc(100% - 210px);
	}
	header .expand li:not(:last-child) {
		margin-right:15px;
	}
	.expand_menu p {
		font-size:16px;
	}
	.expand_menu ul {
		padding-top:3px;
	}
	
	
	#main_fnavi .parent {
		padding:0 20px;
	}
	
	
	main {
		padding-top:41px;
	}
	
	
	.postlist li {
		width:calc((99.9% - 60px) / 4);
		margin-right:20px;
	}
	.postlist li .spbr {
		display:block;
	}
}
@media screen and (max-width:800px) {
	header .head {
		padding:13px 0 13px 0;
	}
	header #logo {
		margin-bottom:3px;
	}
	header .expand {
		display:none;
	}
	header a#menu_btn {
		display:block;
	}
	
	
	#expandnavi {
		max-height:calc(100vh - 53px);
		padding:15px 0;
		overflow:auto;
	}
	.expand_menu {
		display:block!important;
	}
	.expand_menu:not(:last-child) {
		border-bottom:1px solid #fff;
	}
	.expand_menu p, .expand_menu ul {
		width:100%;
		display:block;
	}
	.expand_menu p {
		padding:15px 0;
		cursor:pointer;
	}
	.expand_menu p::after, .expand_menu p::before {
		display:block;
	}
	.expand_menu ul {
		display:none;
		padding:0;
		margin-bottom:8px;
	}
	.expand_menu ul:last-child {
		margin-bottom:25px;
	}
	.expand_menu ul li:not(:last-child) {
		margin-bottom:10px;
	}
	.expand_menu ul li a {
		padding-left:18px;
	}
	.expand_menu ul li a::before {
		content:"";
		width:10px;
		height:12px;
		display:block;
		border-top:6px solid transparent;
		border-bottom:6px solid transparent;
		border-left:10px solid #fff;
		position:absolute;
		top:3px;
		left:0;
		z-index:1;
		box-sizing:border-box;
	}
	
	
	main {
		padding-top:53px;
	}
}
@media screen and (max-width:768px) {
	/* -------------------------------------
	header
	------------------------------------- */
	
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	#main_fnavi p#flogo {
		width:200px;
		margin:0 auto 25px auto;
	}
	#main_fnavi {
		padding:48px 0 33px 0;
	}
	#main_fnavi nav {
		display:block;
	}
	#sub_fnavi ul li:not(:last-child) {
		margin-right:20px;
	}
	#main_fnavi .parent {
		padding:0 0;
		display:block;
	}
	#main_fnavi .parent:not(:last-child) {
		border-right:none;
		border-bottom:1px solid #b3b2b2;
	}
	#main_fnavi .child {
		display:none;
		margin-bottom:25px;
	}
	#main_fnavi .parent > li > p {
		margin:0;
		padding:15px 36px 15px 0;
		cursor:pointer;
	}
	
	
	.ftr_menu::after, .ftr_menu::before {
		display:block;
	}
	
	
	#cp {
		padding:15px 0;
	}
	#cp small {
		font-size:11px;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	body {
		-webkit-text-size-adjust:100%;
	}
	body p {
		line-height:1.8;
	}
	
	
	.blk {
		padding:85px 0;
	}
	
	
	#mainimg .text {
		padding-left:30px;
	}
	#mainimg .text dl dt span.ruby {
		font-size:12px;
	}
	#mainimg .text h1 {
		margin-bottom:26px;
	}
	#mainimg .text h1 span {
		font-size:38px;
	}
	#mainimg .text dl dt span {
		font-size:27px;
	}
	#mainimg .bg_img img {
		width:1000px;
	}
	
	
	#maincap .bg_bl {
		padding:60px 0;
	}
	#maincap .cap {
		font-size:20px;
	}
	#maincap .cap .spbrnone {
		display:none;
	}
	
	
	.index_list {
		margin-top:25px;
	}
	.index_list dt span {
		width:124px;
		padding:0 15px;
	}
	.index_list dd ul li {
		margin:0 10px 10px 10px;
	}
	
	
	.check {
		padding:60px 0;
	}
	.check a.checklink {
		font-size:21px;
		padding:16px 10px 16px 10px;
	}
	
	
	.postlist li a .on p span {
		font-size:24px;
	}
	
	
	.modaal-content-container {
		padding:25px 25px;
	}
	.modaal-close {
		top:-15px;
		right:-15px;
	}
	.modaal-wrapper .modaal-close {
		width:54px;
		height:51px;
	}
}
@media screen and (max-width:767px) {
	.postlist {
		width:90%;
		max-width:345px;
	}
	.postlist li {
		width:calc((99.9% - 20px) / 2);
	}
	.postlist li:nth-child(2n), .postlist li:last-child {
		margin-right:0;
	}
	.postlist li:nth-child(1), .postlist li:nth-child(2) {
		margin-bottom:35px;
	}
	
	.postlist.clm3 {
		max-width:529px;
	}
	.postlist.clm3 li {
		width:calc((99.9% - 40px) / 3);
	}
	.postlist.clm3 li:nth-child(2n) {
		margin-right:20px;
	}
	.postlist.clm3 li:nth-child(1), .postlist.clm3 li:nth-child(2) {
		margin-bottom:0;
	}
}
@media screen and (max-width:700px) {
	/* -------------------------------------
	footer
	------------------------------------- */
	#sub_fnavi ul {
		text-align:left;
	}
	#sub_fnavi ul li {
		width:50%;
	}
	#sub_fnavi ul li:not(:last-child) {
		margin-right:0;
	}
	#sub_fnavi ul li:nth-child(1), #sub_fnavi ul li:nth-child(2) {
		margin-bottom:10px;
	}
	#sub_fnavi ul li a {
		display:inline-block;
	}
}
@media screen and (max-width:640px) {
	/* -------------------------------------
	header
	------------------------------------- */
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	#main_fnavi {
		padding:44px 0;
	}
	#main_fnavi .parent > li > p {
		font-size:14px;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	.blk {
		padding:65px 0;
	}
	
	
	#mainimg .text {
		padding-left:20px;
	}
	#mainimg .text.pdl0 {
		padding-left:20px;
	}
	#mainimg .text.psb0 {
		top:auto;
		bottom:20px;
		transform:translateY(0);
	}
	#mainimg .text h1 {
		margin-bottom:23px;
	}
	#mainimg .text h1 span {
		font-size:34px;
	}
	#mainimg .text dl dt span {
		font-size:24px;
	}
	#mainimg .bg_img img {
		width:900px;
	}
	#mainimg .bg_img .pcimg {
		display:none;
	}
	#mainimg .bg_img .spimg {
		display:block;
	}
	
	
	#maincap .bg_bl {
		padding:50px 0;
	}
	#maincap .cap {
		font-size:18px;
	}
	
	
	.index_list dt span {
		width:110px;
		padding:0 10px;
	}
	
	
	.check {
		padding:50px 0;
	}
	.check a.checklink {
		font-size:19px;
		padding:15px 40px 15px 10px;
	}
	.check a.checklink::before {
		right:22px;
	}
	.check a.checklink::after {
		right:15px;
	}
	
	
	.postlist li a .on p span {
		font-size:22px;
	}
	
	.postlist.clm3 {
		max-width:345px;
	}
	.postlist.clm3 li {
		width:calc((99.9% - 20px) / 2);
	}
	.postlist.clm3 li:nth-child(2n) {
		margin-right:0;
	}
	.postlist.clm3 li:nth-child(1), .postlist.clm3 li:nth-child(2) {
		margin-bottom:35px;
	}
	
	
	.modaal-content-container {
		padding:20px;
	}
	.modaal-close {
		top:-13px;
		right:-13px;
	}
	.modaal-wrapper .modaal-close {
		width:50px;
		height:47px;
	}
}
@media screen and (max-width:500px) {
	.check a.checklink br {
		display:block;
	}
}
@media screen and (max-width:480px) {
	/* -------------------------------------
	header
	------------------------------------- */
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	#main_fnavi p#flogo {
		width:190px;
	}
	#main_fnavi {
		padding:40px 0;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	.blk {
		padding:55px 0;
	}
	
	
	#mainimg .text {
		padding-left:15px;
	}
	#mainimg .text.pdl0 {
		padding-left:15px;
	}
	#mainimg .text h1 {
		margin-bottom:20px;
	}
	#mainimg .text h1 span {
		font-size:30px;
	}
	#mainimg .text dl dt span {
		font-size:20px;
	}
	#mainimg .text dl dd span {
		font-size:12px;
	}
	#mainimg .bg_img img {
		width:850px;
	}
	
	
	#maincap .bg_bl {
		padding:40px 0;
	}
	#maincap .cap {
		font-size:17px;
	}
	
	
	.index_list dt span {
		width:107px;
	}
	
	
	.check {
		padding:40px 0;
	}
	.check a.checklink {
		font-size:17px;
	}
	
	
	.postlist {
		width:100%;
	}
	.postlist li a .on p {
		font-size:12px;
	}
	.postlist li a .on p span {
		font-size:20px;
	}
	
	
	.modaal-close {
		top:-12px;
		right:-12px;
	}
	.modaal-wrapper .modaal-close {
		width:46px;
		height:43px;
	}
}
@media screen and (max-width:400px) {
	#mainimg .text h1 span {
		font-size:26px;
	}
	#mainimg .text dl dt span {
		font-size:18px;
	}
	#mainimg .bg_img img {
		width:800px;
	}
	
	
	#sub_fnavi ul li a {
		font-size:12px;
	}
}
@media screen and (max-width:320px) {
	/* -------------------------------------
	header
	------------------------------------- */
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	#main_fnavi p#flogo {
		width:180px;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
}
@media screen and (min-width:769px) {
	/* -------------------------------------
	header
	------------------------------------- */
	.expand_menu ul {
		display:inline-block!important;
	}
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	#main_fnavi .child {
		display:block!important;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
}