@charset "utf-8";

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, /*body, div, */span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
/*table, caption, tbody, tfoot, thead, tr, th, td,*/
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	font-weight: normal;
	vertical-align:baseline;
	background:transparent;
}

body, div {
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

table, caption, tbody, tfoot, thead, tr, th, td {
	border:0;
	outline:0;
	font-size:100%;
	background:transparent;
}

body {
	line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ol, ul {
	list-style-type:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

/* change colours to suit your needs */
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

/* change colours to suit your needs */
mark {
	background-color:#ff9;
	color:#000; 
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

/* change border colour to suit your needs */
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #cccccc;
	margin:1em 0;
	padding:0;
}

input, select {
	vertical-align:middle;
}

img {
	vertical-align: top;
	font-size:0;
	line-height:0;
	width:100%;
	height:auto;
}

em {
	font-style:normal;
	font-weight:bold;
}

address {
	font-style:normal;
}

.clear {
	clear:both;
}

html{
box-sizing: border-box;
}
*, *:before, *:after{
box-sizing: inherit;
}

/* webフォント
------------------------------------------------- */
/*
* "Noto Sans JP" licensed under the Open Font License.
* https://fonts.google.com/specimen/Noto+Sans+JP
* https://www.google.com/fonts/attribution
* https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
*/
/*
* "Poppins" licensed under the Open Font License.
* https://fonts.google.com/specimen/Poppins?query=Poppins
* https://www.google.com/fonts/attribution
* https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
*/

/* サイト共通
------------------------------------------------- */
html {
	width: 100%;
	height: 100%;
	font-size: 62.5%;
	}
	@media screen and (max-width: 320px) {
	html { font-size: 54.6875%; }
}
body {
	width: 100%;
	height: 100%;
	font-size: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #fff;
	color: #333;
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}
button, input, select, textarea {
	font-family: inherit;
	font-size: 100%;
}


/* ヘッダ
============================ */
header {
	position: fixed;
	width: 100%;
	display: flex;
	align-items: center;
	padding: 0 0 0 10px;
	height: 52px;
	background: #fff;
	z-index: 999;
	top: 0;
	left: 0;
}
header h1 {
	width: 70px;
}
header h2 {
	font-size: 1.2rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	margin-left: 16px;
}
header h2 a {
	color: #333;
	}
	@media screen and (min-width:1025px) {
	header {
		padding: 0 0 0 52px;
		height: 90px;
	}
	header h1 {
		width: 112px;
		position: relative;
		z-index: 999;
	}
	header h2 {
		font-size: 2rem;
		margin-left: 45px;
		position: relative;
		z-index: 999;
	}

}

header #headerLnk {
	position: absolute;
	right: 52px;
	text-align: center;
	z-index:500;
}
header #headerLnk a {
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height:52px;
	padding:0 0.5rem;
	background: #1e7bc0;
	color:#fff;
	font-size:1.4rem;
	line-height:1.4;
}
header #headerLnk a span {
	font-size:1rem;
	display:block;
	margin:0;
}
@media screen and (min-width:1025px) {
	header #headerLnk {
		position: absolute;
		right: 0;
	}
	header #headerLnk a {
		width:150px;
		height:90px;
		padding:0 1.5rem;
		font-size:2rem;
		line-height:1.4;
	}
	header #headerLnk a span {
		font-size:1.5rem;
	}
}
/* ナビ
------------------------------------------------- */
/* ナビボタン（MENU）*/
#nav-toggle {
	position: fixed;
	top: 0;
	right: 0;
	width: 52px;
	height: 52px;
	cursor: none;
	background: linear-gradient(110deg, #f8a30e 0%, #f8a30e 100%);
	transition: all 0.4s;
	z-index: 1000;
	cursor: pointer;
	}
	@media screen and (min-width:1025px) {
	#nav-toggle {
	display:none;
		width: 90px;
		height: 90px;
	}
	#nav-toggle:hover {
		background: linear-gradient(110deg, #4997d0 0%, #0e70ba 100%);
	}
}
#nav-toggle.is-open {
	background: #1166b1;
}
#nav-toggle div {
	position: absolute;
	width: 30px;
	top: 14px;
	left: 0;
	right: 0;
	margin: auto;
	}
	@media screen and (min-width:1025px) {
	#nav-toggle div {
		width: 40px;
		top: 28px;
	}
}
#nav-toggle span {
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: all 0.4s;
}
#nav-toggle span:nth-child(1) {
	top: 0;
	width: 30px;
}
#nav-toggle span:nth-child(2) {
	top: 8px;
	width: 20px;
	}
#nav-toggle.is-open span {
	background: #fff;
	width: 30px;
	}
	@media screen and (min-width:1025px) {
	#nav-toggle span:nth-child(1) {
		top: 0;
		width: 40px;
	}
	#nav-toggle span:nth-child(2) {
		top: 8px;
		width: 30px;
	}
	#nav-toggle.is-open span {
		width: 40px;
	}
}

#nav-toggle.is-open span:nth-child(1) {
	top: 5px;
	transform: rotate(20deg);
}
#nav-toggle.is-open span:nth-child(2) {
	top: 5px;
	transform: rotate(-20deg);
}
#nav-toggle .txt {
	position: absolute;
	bottom: 10px;
	right: 0;
	left: 0;
	text-align: center;
	margin: 0 auto;
	transition: all 0.4s;
	color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	}
	@media screen and (min-width:1025px) {
	#nav-toggle .txt {
		bottom: 26px;
		font-size: 1.3rem;
	}
}

/* スライドナビ */
#naviArea {
	display:none;
	position:fixed;
	width:100%;
	height:auto;
	top:0;
	right:0;
	color:#fff;
	background: linear-gradient(60deg, #0e70ba 0%, #4997d0 100%);
/*	overflow:auto;*/
	-webkit-overflow-scrolling:touch;
	text-align:center;
	z-index:100;
}
#naviArea .layer {
	position:absolute;
	z-index:200;
}
#naviArea .navi_close {
	position:absolute;
	top:25px;
	right:25px;
	cursor:pointer;
}

.slideNavi {
	display: flex !important;
	flex-direction: column;
}
.slideNavi .naviWrap {
	text-align: left;
	width: 80%;
	margin: 0 auto;
	padding: 0 0 50px;
	}
.slideNavi .naviWrap .ttl {display:none;}
#naviArea.is-open {
	overflow: auto;
}
	@media screen and (min-width:1025px) {
	#naviArea {
		display:block;
		background: transparent;
		top: 0;
		right: 0;
	}
	#naviArea.is-open {
		overflow: inherit;
	}
	.slideNavi {
		display: block !important;
		flex-direction: column;
		justify-content: flex-start;
		align-items: end;
		height: auto;
	}
	.slideNavi .naviWrap {
		width: 100%;
	/*	display: flex;
		justify-content: space-between;*/
		display:block;
		padding: 0 210px 0 0;
		margin: 0;
	}
	.slideNavi .naviWrap .ttl {
		display:block;
		font-size:min(1.5vw,1.8rem);
		color:#333;
		line-height:90px;
		text-align: center;
	}
	.slideNavi .naviWrap li:hover .ttl {
		color:#1e7bc0;
	}
	.slideNavi .naviWrap ul {
		display:flex;
		justify-content: end;
	}
	.slideNavi .naviWrap ul li {
		position: relative;
		padding:0 1.5vw;
	}
	.slideNavi .naviWrap ul li:last-child {
		padding:0 0 0 1.5vw;
	}
}
	@media screen and (min-width:1160px) {
	.slideNavi .naviWrap ul li {
		position: relative;
	/*	padding:0 3rem;*/
	}
}
.naviWrap dl {
	width: 100%;
	margin-top: 20px;
}
.naviWrap dl dt {
	font-size: 2rem;
	line-height: 1.3;
	margin-bottom: 6px;
	font-weight: 500;
	color: #fff;
}
.naviWrap dl dt span {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
	position: relative;
	padding-left: 20px;
}
.naviWrap dl dt span::before {
	content: "●";
	color: #fff;
	font-size: 1.2rem;
	position: absolute;
	top: 1px;
	left: 0;
}
.naviWrap dl dd a {
	margin-left: 40%;
	font-size: 1.5rem;
	font-weight: 500;
	color: #fff;
	display: block;
	height: 44px;
	line-height: 44px;
	position: relative;
	transition: all 0.2s ease-in-out;
}
.naviWrap dl dd a::before,
.naviWrap dl dd a::after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: rgba(221,221,221,1);
	transition: all 0.4s ease-in-out;
}
.naviWrap dl dd a::after {
	width: 0;
	background: rgba(30,123,191,0.7);
}
.naviWrap.entrylnk {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	order: 1;
	padding: 0 0 10px;
}
.naviWrap:nth-of-type(1) {
	order: 2;
}
.naviWrap.entrylnk a.bnr {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	width: 160px;
	height: 54px;
	transition: all 0.4s;
}
.naviWrap.entrylnk a.bnr img {
	width: 72%;
	height: auto;
}
.naviWrap.entrylnk a.bnr:nth-of-type(1) {
	order: 2;
	flex-basis: 48%;
	margin-right: 4%;
}
.naviWrap.entrylnk a.bnr:nth-of-type(2) {
	order: 3;
	flex-basis: 48%;
}
.naviWrap.entrylnk p {
	order: 1;
	flex-basis: 100%;
	margin-bottom: 16px;
}
.naviWrap.entrylnk p a {
	font-size: 2.7rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	color: #fff;
	transition: all 0.4s;
	line-height: 1.2;
	}
	@media screen and (min-width:1025px) {
	.naviWrap dl {
		flex-basis: 29%;
	}
	.naviWrap li .subnavi {
	position: absolute;
	visibility: hidden;
	width:276px; 
	height: 0;
	left: -60px;
	top: 77px;
	text-align: center;
	background: #fff;
	color: #333;
	transition: all 0.3s ease-in;
	opacity: 0;
	z-index: 200;
	box-shadow: 0px 0px 21px 4px rgba(0,0,0,0.1);
	margin:0;
	padding: 3rem 2rem;
	}
	.naviWrap li .subnavi.is-active {
	display:block;
	visibility: visible;
	height: auto;
	opacity: 1;
	z-index:600;
	}

	.naviWrap li .subnavi.is-active dl {
		display:block;
	}
	.naviWrap dl dt {
		font-size: 2.6rem;
		line-height: 1.5;
		margin-bottom: 24px;
		color: #1e7bc0;
	}
	.naviWrap dl dt span,
	.naviWrap dl dt span::before {
		color: #1e7bc0;
	}
	.naviWrap dl dt,
	.naviWrap dl dd {
		text-align:left;
	}
	.naviWrap dl dd a {
		display:none;
		font-size: 1.6rem;
		height: 60px;
		line-height: 60px;
		margin-left: 0;
		color:#333;
		transition:none;
	}
	.naviWrap li .subnavi.is-active dd a {
		display:block;
	}
	.naviWrap.entrylnk {
		display:none;
	}
	.naviWrap:nth-of-type(1) {
		order: 1;
	}
	.naviWrap.entrylnk a.bnr {
		width: 240px;
		height: 70px;
	}
	.naviWrap.entrylnk a.bnr:nth-of-type(1) {
		order: 1;
		flex-basis: 240px;
		margin-right: 2%;
	}
	.naviWrap.entrylnk a.bnr:nth-of-type(2) {
		order: 2;
		flex-basis: 240px;
	}
	.naviWrap.entrylnk p {
		text-align: right;
		margin-left: auto;
		margin-bottom: 0;
		order: 3;
		flex-basis: calc(100% - 540px);
	}
	.naviWrap.entrylnk p a {
		font-size: 4rem;
	}
	.naviWrap.entrylnk a.bnr:hover,
	.naviWrap.entrylnk p a:hover {
		opacity: 0.8;
	}
	.naviWrap.entrylnk a.bnr img {
		width: 65%;
	}
	.naviWrap dl dd a:hover {
		padding-left: 15px;
	}
	.naviWrap dl dd a:hover::after {
		width: 100%;
	}
}

/* フッタ
============================ */
footer {
	z-index:2;
}
.second footer {
	background: url("../cmn_images/ftr_bg.jpg") 0 0 no-repeat;
	background-size: cover;
	padding-top: 60px;
	}
	@media screen and (min-width:1025px) {
	.second footer {
		padding-top: 160px;
	}
}
.footerArea {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: 'Poppins', sans-serif;
	font-size: 1rem;
	color: #666;
	letter-spacing: 0.05em;
	height: 90px;
	width: 100%;
	background: #fff;
	padding: 0 30px 0 10px;
}
.footerArea .boxL {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.footerArea .boxL a {
	display: block;
	width: 120px;
	text-align: center;
}
.footerArea .boxL a img {
	width: 60%;
}
.footerArea .boxL p {
	margin-top: 2px;
	line-height: 1.8;
	text-align: center;
}
.footerArea .boxL p a {
	font-size: 1.1rem;
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	color: #333;
	width: 100%;
}
.footerArea small {
	font-size: 1rem;
	font-family: 'Poppins', sans-serif;
	line-height: 1.4;
	text-align: right;
	}
.second #contentsArea footer a {
	text-decoration: none;
}
	@media screen and (min-width:1025px) {
	.footerArea {
		font-size: 1.2rem;
		height: 160px;
		width: 90%;
		margin-left: auto;
		padding: 0 70px 0 30px;
	}
	.footerArea .boxL a {
		width: 150px;
	}
	.footerArea .boxL a img {
		width: 75%;
	}
	.footerArea .boxL p {
		margin-top: 7px;
	}
	.footerArea .boxL p a {
		font-size: 1.6rem;
		color: #333;
	}
	.footerArea small {
		font-size: 1.2rem;
	}
}

/* ページの先頭へ
============================ */
#pageTop {
	position: fixed;
	bottom: 60px;
	right: -40px;
	margin: 0;
	z-index: 100;
	transform: rotate(90deg);
	}
	@media screen and (min-width:1025px) {
	#pageTop {
		bottom: 100px;
		right: -30px;
	}
}
#pageTop a {
	position: relative;
	display: block;
	text-decoration: none;
	color: #999;
	font-size: 1rem;
	font-family: 'Poppins', sans-serif;
	padding-left: 50px;
	}
	@media screen and (min-width:1025px) {
	#pageTop a {
		font-size: 1.2rem;
		padding-left: 70px;
	}
}
#pageTop a::before,
#pageTop a::after {
	position: absolute;
	display: block;
	content: "";
	transition-duration: 0.4s;
}
#pageTop a::before {
	top: 4px;
	left: 0;
	width: 40px;
	height: 1px;
	background: #999;
	}
	@media screen and (min-width:1025px) {
	#pageTop a::before {
		top: 5px;
		width: 60px;
	}
	#pageTop a:hover::before {
		left: -20px;
		width: 80px;
	}
	#pageTop a:hover::after {
		left: -19px;
	}
}
#pageTop a::after {
	top: 1px;
	left: 1px;
	width: 6px;
	height: 8px;
	border-bottom: 1px solid #999;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	}
	@media screen and (min-width:1025px) {
	#pageTop a::after {
		top: 2px;
	}
}

/* コンテンツエリア
============================ */
#contentsArea {
	line-height: 1.6;
	font-size: 1.4rem;
	text-align: center;
	}
	@media screen and (min-width:1025px) {
	#contentsArea {
		line-height: 1.8;
		font-size: 1.6rem;
	}
}
.second #contentsArea {
	padding-top: 120px;
	line-height: 1.8;
	background: #fff;
	position: relative;
	z-index: 1;
	}
	@media screen and (min-width:1025px) {
	.second #contentsArea {
		padding-top: 250px;
		line-height: 2;
	}
}
.wrap {
	width: 84%; /* コンテンツ基本幅 */
	margin: 0 auto;
	text-align: left;
	}
	@media screen and (min-width:1025px) {
	.wrap {
		max-width: 1400px;
		min-width: 1200px;
	}
}
.wrap2 {
	width: 100%; /* コンテンツ基本幅 */
	text-align: left;
	}
	@media screen and (min-width:1025px) {
	.wrap2 {
		width: 84%; /* コンテンツ基本幅 */
		max-width: 1200px;
		margin: 0 auto;
	}
}

a,
a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}

.flex {
	display: flex;
	flex-direction: column;
	margin-top: 40px;
	}
	@media screen and (min-width:1025px) {
	.flex {
		flex-direction: row;
		justify-content: space-between;
		margin-top: 70px;
		max-width: 1400px;
	}
}

/* 見出し
------------------------------------------------- */
/* h2（英字つき） */
#contentsArea h2 {
	font-size: 2.6rem;
	line-height: 1.25;
	position: relative;
}
#contentsArea h2::before {
	position: absolute;
	top: -50px;
	left: -0.6em;
	color: rgba(185, 223, 250, 0.4);
	font-family: 'Poppins', sans-serif;
	font-size: 8rem;
	font-weight: bold;
	line-height: 1;
	z-index: -1;
}
#contentsArea h2 span {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 1.4rem;
	color: #1e7bc0;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
}
#contentsArea h2 span::before {
	content: "●";
	color: #1e7bc0;
	font-size: 1.2rem;
	position: absolute;
	top: 1px;
	left: 0;
	}
	@media screen and (min-width:1025px) {
	#contentsArea h2 {
		font-size: 4.8rem;
		line-height: 1.3;
	}
	#contentsArea h2::before {
		top: -160px;
		font-size: 25rem;
	}
	#contentsArea h2 span {
		font-size: 1.6rem;
		padding-left: 24px;
		margin-bottom: 0;
	}
}

/* h3（ライン付き） */
h3 {
	font-size: 2rem;
	line-height: 1.25;
	position: relative;
	padding-left: 40px;
	margin: 50px 0 24px;
	}
	@media screen and (min-width:1025px) {
	h3 {
		font-size: 2.8rem;
		line-height: 1.25;
		position: relative;
		padding-left: 50px;
		margin: 90px 0 45px;
	}
}
h3::before {
	display: block;
	content: "";
	position: absolute;
	width: 25px;
	height: 3px;
	background: #1e7bc0;
	top: 0.6em;
	left: 0;
	margin: 0;
	}
	@media screen and (min-width:1025px) {
	h3::before {
		width: 35px;
	}
}

/* h4 */
h4 {
	font-size: 1.8rem;
	margin-bottom: 12px;
	line-height: 1.4;
	}
	@media screen and (min-width:1025px) {
	h4 {
		font-size: 2.4rem;
		margin-bottom: 16px;
	}
}

/* テキストリンク
------------------------------------------------- */
.second #contentsArea a {
	text-decoration: underline;
	color: #333;
}

/* 注意書き
------------------------------------------------- */
.attenR {
	text-align: right !important;
	margin-top: 2em;
	position: relative;
	z-index: 5;
	font-size: 1.2rem;
	}
	@media screen and (min-width:1025px) {
	.attenR {
		font-size: 1.6rem;
	}
}

/* ボタン
------------------------------------------------- */
.btn {
	display: inline-block;
	text-align: center;
	line-height: 38px;
	height: 42px;
	width: 180px;
	border-radius: 21px;
	background: linear-gradient(110deg, #0e70ba 0%, #4997d0 100%);
	color: #fff;
	position: relative; 
	transition: all .7s;
	font-size: 1.3rem;
	padding-right: 16px;
}
.btn::before,
.btn::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 30px;
	transition: all .3s;
}
.btn::before {
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.btn::after {
	width: 14px;
	height: 2px;
	background: #fff;
}
a .btn span,
a.btn span{
	color: #fff;
	}
	@media screen and (min-width:1025px) {
	.btn {
		line-height: 68px;
		height: 68px;
		width: 360px;
		border-radius: 34px;
		font-size: 1.6rem;
		letter-spacing: 0.08em;
		padding: 0;
	}
}

/* hover */
@media screen and (min-width:1025px) {
	a:hover .btn,
	a.btn:hover,
	a.btn.white:hover {
		background: linear-gradient(110deg, #4997d0 0%, #0e70ba 100%);
	}
	a:hover .btn::before,
	a:hover .btn::after,
	a.btn:hover::before,
	a.btn:hover::after{
		right: 20px;
	}
}

/* エントリー
------------------------------------------------- */
.entry {
	background: rgba(30, 123, 192, 0.8);
	padding: 20px 0 50px;
	width: 90%;
	margin: 60px 0 0 auto;
	text-align: center;
	overflow: hidden;
}
.second .entry {
	margin: 0 0 0 auto;
}
#contentsArea .entry h2,
.entry h2 {
	color: rgba(255,255,255, 0.1);
	font-family: 'Poppins', sans-serif;
	font-size: 8rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
#contentsArea .entry h2::before,
.entry h2::before {
	display: none;
}
.entry p {
	font-size: 1.7rem;
	font-weight: 500;
	color: #fff;
	text-align: center;
	margin-top: -50px;
	margin-bottom: 8px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.btn.white {
	display: block;
	color: #fff;
	width: 240px;
	height: 44px;
	line-height: 38px;
	border-radius: 22px;
	border: 2px solid #fff;
	text-align: center;
	font-size: 1.3rem;
	font-weight: 500;
	background: transparent;
	margin: 12px auto 0;
}
.entry .flex {
	margin-top: 0;
	}
.entry .flex a.btn.white {
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
}
	@media screen and (min-width:1025px) {
	.entry {
		padding: 65px 0 150px;
		margin: 160px 0 0 auto;
	}
	.second .entry {
		margin: 0 0 0 auto;
	}
	#contentsArea .entry h2,
	.entry h2 {
		font-size: 25rem;
	}
	.entry p {
		font-size: 3.6rem;
		margin-top: -150px;
		margin-bottom: 0;
	}
	.btn.white {
		width: 400px;
		height: 80px;
		line-height: 76px;
		border-radius: 40px;
		font-size: 2rem;
		font-weight: 500;
		margin: 60px 20px 0;
	}
	.entry .flex {
		justify-content: center;
	}
	.entry .flex a.btn.white {
		line-height: 1.6;
	}
}
/* おすすめコンテンツなしの場合の余白調整 */
.interview + footer,
.guideline + footer,
.welfare + footer,
.faq + footer {
	margin-top: 60px;
	}
	@media screen and (min-width:1025px) {
	.interview + footer,
	.guideline + footer,
	.welfare + footer,
	.faq + footer {
		margin-top: 160px;
	}
}

/* table表タイプ
------------------------------------------------- */
table.table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	line-height: 2;
	border-bottom: 1px solid #ddd;
}
table.table th,
table.table td {
	border-top: 1px solid #ddd;
	padding: 1em 0;
	box-sizing: border-box;
	display: block;
	width: 100%;
}
table.table th {
	padding-bottom: 0;
}
table.table td {
	border-top: none;
	padding-top: 0;
}
@media screen and (min-width:1025px) {
	table.table th,
	table.table td {
		border: 1px solid #ddd;
		padding: 1em;
		display: table-cell;
	}
	table.table th {
		width: 14em;
	}
	table.table td {
		width: calc(100% - 14em);
		padding: 1em 2em;
	}
}

/* tableリストタイプ
------------------------------------------------- */
table.list {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	line-height: 2;
	border-bottom: 1px solid #ddd;
}
table.list th,
table.list td {
	border-top: 1px solid #ddd;
	padding: 1em 0;
	box-sizing: border-box;
	display: block;
	width: 100%;
}
table.list th {
	padding-bottom: 0;
}
table.list td {
	border-top: none;
	padding-top: 0;
}
@media screen and (min-width:1025px) {
	table.list th,
	table.list td {
		border-top: 1px solid #ddd;
		display: table-cell;
		padding: 1em 0;
	}
	table.list th {
		width: 14em;
		vertical-align: top;
	}
	table.list td {
		width: calc(100% - 14em);
	}
}

/* dlリストタイプ
------------------------------------------------- */
dl.list {
	position: relative;
	width: 100%;
	border-bottom: 1px solid #ddd;
	margin-bottom: 74px;
	line-height: 2;
}
dl.list dt,
dl.list dd {
	display: block;
	width: 100%;
	padding: 1em 0;
	border-top: 1px solid #ddd;
}
dl.list dt {
	padding-bottom: 0;
	font-weight: bold;
}
dl.list dd {
	padding-top: 0;
	border-top: none;
}
@media screen and (min-width:1025px) {
	dl.list dt {
		position: absolute;
		left: 0;
		width: 14em;
		padding: 1em 0;
	}
	dl.list dd {
		width: auto;
		padding: 1em 0 1em 14em;
		border-top: 1px solid #ddd;
	}
}

/* 改行
------------------------------------------------- */
/* スマホだけ改行 */
br.sp { 
	display: block;
	}
	@media screen and (min-width:1025px) {
	br.sp {
		display: none;
	}
}
/* PCだけ改行 */
br.pc { 
	display: none;
	}
	@media screen and (min-width:1025px) {
	br.pc {
		display: block;
	}
}


/* ※つきリスト
------------------------------------------------- */
ol.kome.mgnT {
	margin-top:1.5em;
}
ol.kome {
	counter-reset: li;
	font-size: 1.2rem;
	margin-bottom: 30px;
}
ol.kome li {
	position: relative;
	margin-bottom: 1em;
	line-height: 1.6;
	padding-left: 2em;
	list-style: none;
}
ol.kome li::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: li;
	content: '※'counter(li);
	}
	@media screen and (min-width:1025px) {
ol.kome {
	counter-reset: li;
	font-size: 1.4rem;
	margin-bottom: 40px;
	margin-left: 100px;
}
ol.kome li {
	position: relative;
	margin-bottom: 0.5em;
	line-height: 1.8;
	padding-left: 2em;
	list-style: none;
}
ol.kome li::before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: li;
	content: '※'counter(li);
	}
}

/* ピンチアウト
------------------------------------------------- */
.sp .sp_atten {
	display: block;
	text-align: right;
	font-size: 1.1rem;
}
.pc .sp_atten {
	display: none;
}

/* おすすめコンテンツ
------------------------------------------------- */
.recommendArea {
	margin-top: 60px;
	padding-bottom: 30px;
	position: relative;
	overflow: hidden;
	background: #fff;
	z-index: 10;
}
.recommendArea::before,
.recommendArea::after {
	display: block;
	content: "";
	position: absolute;
	top: 110px;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
}
.recommendArea::before {
	background: #f7f7f7;
	z-index: -5;
}
.recommendArea::after {
	background: url("../cmn_images/logo_bg.svg") bottom 15% left 5% no-repeat;
	background-size: 200%;
	z-index: -3;
	opacity: 0.15;
	}
	@media screen and (min-width:1025px) {
	.recommendArea {
		margin-top: 60px;
		padding-bottom: 100px;
	}
	.recommendArea::before,
	.recommendArea::after {
		top: 200px;
	}
	.recommendArea::after {
		background: url("../cmn_images/logo_bg.svg") bottom 25% left 15% no-repeat;
		background-size: 230%;
	}
}
/* 見出し */
.recommendArea h2 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.25;
	position: relative;
}
.recommendArea h2::before {
	display: none;
}
.recommendArea h2 span {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 1.4rem;
	color: #1e7bc0;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
}
.recommendArea h2 span::before {
	content: "●";
	color: #1e7bc0;
	font-size: 1.2rem;
	position: absolute;
	top: 1px;
	left: 0;
	}
	@media screen and (min-width:1025px) {
	.recommendArea {
		margin-top: 160px;
		padding-bottom: 100px;
	}
	.recommendArea h2 {
		font-size: 3.2rem;
		line-height: 1.3;
	}
	.recommendArea h2 span {
		font-size: 1.6rem;
		padding-left: 24px;
		margin-bottom: 0;
	}
}
/* リンク */
.recommendArea .flex {
	margin-top: 30px;
}
.recommendArea .flex a {
	display: block;
	flex-basis: auto;
	width: 100%;
	background: #fff;
	color: #333;
	margin-bottom: 16px;
	box-shadow: 0px 0px 8px 6px rgba(191, 204, 213, 0.1);
}
.recommendArea .flex dl {
	display: flex;
}
.recommendArea .flex dl dt {
	order: 2;
	font-size: 1.3rem;
	font-weight: 500;
	color: #1e7bc0;
	padding: 13px 18px 0;
	flex-basis: auto;
	width: 65%;
	min-height: 0%;
}
.recommendArea .flex dl dt .txt {
	display: block;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1.5;
	color: #333;
	margin-top: 7px;
}
.recommendArea .flex dl dd.pic {
	order: 1;
	overflow: hidden;
	flex-basis: auto;
	width: 35%;
	min-height: 0%;
	}
	@media screen and (min-width:1025px) {
	.recommendArea .flex {
		margin-top: 45px;
	}
	.recommendArea .flex a {
		flex-basis: 30%;
		margin-bottom: 0;
		padding-bottom: 45px;
		box-shadow: 0px 0px 20px 11px rgba(118, 171, 209, 0.1);
	}
	.recommendArea .flex dl {
		flex-direction: column;
	}
	.recommendArea .flex dl dt {
		font-size: 2.6rem;
		padding: 40px 12% 0;
		flex-basis: auto;
		width: 100%;
	}
	.recommendArea .flex dl dt .txt {
		font-size: 1.6rem;
		line-height: 1.6;
		margin-top: 18px;
	}
	.recommendArea .flex dl dd.pic {
		flex-basis: auto;
		width: 100%;
	}
	.recommendArea .flex a .pic img {
		transition: all .3s ease-out;
	}
	.recommendArea .flex a:hover .pic img {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
}

/* 表示調整 */
.data + .recommendArea .flex a:nth-of-type(1),
.vision + .recommendWrap .recommendArea .flex a:nth-of-type(2),
.work + .recommendArea .flex a:nth-of-type(3),
.base + .recommendArea .flex a:nth-of-type(4),
.future + .recommendWrap .recommendArea .flex a:nth-of-type(1),
.growth + #videoCover + .videoArea + .recommendWrap .recommendArea .flex a:nth-of-type(2),
.diversity + .recommendWrap .recommendArea .flex a:nth-of-type(4),
.interview + .recommendWrap .recommendArea .flex a:nth-of-type(3) {
	display: none;
}

/* カーソル変更
============================ */
@media screen and (min-width:1025px) {
	/*デフォルトのマウスカーソルを非表示にする
	html,
	body,*/
	a {
		cursor: none;
	}
	/*独自のマウスカーソルを作成*/
	.pc .cursor {
		position: fixed;
		top: -10px;
		left: -10px;
		width: 20px;
		height: 20px;
		border-radius: 50%;
		background: #1e7bc0;
		z-index: 1000;
		transition: width 0.5s, height 0.5s, top 0.5s, left 0.5s;
		transform: translate(0, 0);
		pointer-events: none;
	}
	/* hover */
	.pc .cursor.cursor--hover {
		top: -40px;
		left: -40px;
		width: 50px;
		height: 50px;
		background: radial-gradient(circle, rgba(255,183,0,0.4) 40%, rgba(255,132,0,0.8) 100%);
	}
}

/* for appear
============================ */
/* ヘッダ */
header {
	opacity: 0;
}
/* エリア */
.recommendArea,
footer {
	opacity: 0;
	position: relative;
	top: 50px;
}
/* リンクボタン */
footer .entry a.btn {
	opacity: 0;
	position: relative;
	left: -30px;
}
footer .entry a.btn.is-active {
	opacity: 0;
	left:0;
	animation-fill-mode:forwards;
	animation-delay:0.4s;
	animation-name: slideIn;
	animation-duration: 0.4s;
}
@keyframes slideIn {
	0% {
		left: -30px;
		opacity: 0;
	}
	100% {
		opacity: 1;
		left:0;
	}
}
/* セカンド共通 */
.second #contentsArea h2,
.wrapAppear,
.attenR {
	opacity: 0;
	position: relative;
	top: 50px;
}
.second #contentsArea a.btn {
	text-decoration: none;
}
.bgW {
	width: 100%;
	background: #fff;
	position: relative;
	z-index: -5;
}
.second .mgnT20 {
	margin-top:20px;
}