@charset "utf-8";

/* -------------------------------------------------
	font
------------------------------------------------- */
@font-face {
	font-family: 'Noto Sans Japanese';
	font-weight: 400;
	font-style: normal;
	src:
		local('Noto Sans CJK JP Regular'),
		local('NotoSansCJKjp-Regular'),
		local('NotoSansJP-Regular'),
		url('../font/NotoSansJP-Regular.woff2') format('woff2'),
		url('../font/NotoSansJP-Regular.woff') format('woff');
	font-display: optional;
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-weight: 700;
	font-style: normal;
	src:
		local('Noto Sans CJK JP Bold'),
		local('NotoSansCJKjp-Bold'),
		local('NotoSansJP-Bold'),
		url('../font/NotoSansJP-Bold.woff2') format('woff2'),
		url('../font/NotoSansJP-Bold.woff') format('woff');
	font-display: optional;
}
/* roboto-condensed-regular - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto Condensed'), local('RobotoCondensed-Regular'),
       url('../font/roboto-condensed-v19-latin/roboto-condensed-v19-latin-regular.woff2') format('woff2'),
       url('../font/roboto-condensed-v19-latin/roboto-condensed-v19-latin-regular.woff') format('woff');
}
/* roboto-condensed-700 - latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Condensed Bold'), local('RobotoCondensed-Bold'),
       url('../font/roboto-condensed-v19-latin/roboto-condensed-v19-latin-700.woff2') format('woff2'),
       url('../font/roboto-condensed-v19-latin/roboto-condensed-v19-latin-700.woff') format('woff');
}

/* -------------------------------------------------
	reset
------------------------------------------------- */

* {
	margin: 0;
	padding: 0;
	vertical-align: top;
}

html {
}

body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	color: #494A4B;
	position: relative;
	font-family: 'Noto Sans Japanese', 'メイリオ', Meiryo, 'Hiragino Kaku Gothic ProN','Hiragino Sans W3', sans-serif;
}

p, h1, h2, h3, h4, th, td, li, dt, dd, figcaption, input, select, textarea {
	font-weight: 400;/*500*/
	letter-spacing: 0.05em;
}

img {
	border: none;
	max-width: 100%;
	height: auto;
}

iframe {
	border: none;
}

a {
	color: #494A4B;
	text-decoration: none;
}
a:hover {

}

ul, ol {
	list-style-type: none;
}

main {
	display: block;
}

/* -------------------------------------------------
	box
------------------------------------------------- */

.box800,
.box850,
.box880,
.box900,
.box920,
.box935,
.box950,
.box990,
.box1010,
.box1020,
.box1100,
.box1260 {
	width: 96%;
	margin: 0 auto;
	position: relative;
}
.box800 { max-width: 800px; }
.box850 { max-width: 850px; }
.box880 { max-width: 880px; }
.box900 { max-width: 900px; /* アコーディオン内部に使用 */ }
.box920 { max-width: 920px; }
.box935 { max-width: 935px; }
.box950 { max-width: 950px; }
.box990 { max-width: 990px; }
.box1010 { max-width: 1010px; }
.box1020 { max-width: 1020px; }
.box1100 { max-width: 1100px; }
.box1260 { max-width: 1260px; }

@media screen and (max-width:767px) {
	.box800,
	.box850,
	.box880,
	.box900,
	.box920,
	.box935,
	.box950,
	.box990,
	.box1010,
	.box1020,
	.box1100,
	.box1260 {
		width: auto;
	}
	.box-sp {
		width: calc(320 / 375 * 100%);
		margin: 0 auto;
		position: relative;
	}
	.box-sp-667 {
		width: calc(667 / 750 * 100%);
		margin: 0 auto;
		position: relative;
	}
	.box-sp-682 {
		width: calc(682 / 750 * 100%);
		margin: 0 auto;
		position: relative;
	}
	.box-sp-705 {
		width: calc(705 / 750 * 100%);
		margin: 0 auto;
		position: relative;
	}
}

/* -------------------------------------------------
	h
------------------------------------------------- */

.h-style1 {
	height: 94px;
	padding: 60px 0 0 19px;
	box-sizing: border-box;
	border-left: solid 8px #FE0002;
	font-size: 22px;
	color: #2F50AA;
	letter-spacing: 0.1em;
	font-weight: bold;
}
.h-style1 img {
	width: 263px;
	margin-right: 0.8em;
	vertical-align: -3px;
	display: inline-block;
}

.h-lower1 {
	height: 100px;
	background: #2f50aa;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 32px;
	color: #fff;
	font-weight: 700;
}

.h-style2 {
	height: 102px;
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	background: #105fdf;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media print, screen and (min-width:768px) {
	.h-style2.narrow-height {
		height: 68px;
	}
}

@media screen and (max-width:767px) {
	.h-style1 {
		height: calc(72 / 375 * 100vw);
		padding: calc(31 / 375 * 100vw) 0 0 calc(10 / 375 * 100vw);
		font-size: calc(15 / 375 * 100vw);
		border-width: calc(6 / 375 * 100vw);
	}
	.h-style1.short {
		height: calc(52 / 375 * 100vw);
	}
	.h-style1 img {
		width: calc(171 / 375 * 100vw);
		margin-bottom: 0.5em;
		vertical-align: top;
		display: block;
	}
	.h-style1 img.inline {
		display: inline-block;
		vertical-align: -2.7vw;
	}
	
	.h-lower1 {
		height: calc(166 / 750 * 100vw);
		font-size: calc(36 / 750 * 100vw);
		line-height: 1.5;
	}
	
	.h-style2 {
		height: calc(143 / 750 * 100vw);
		font-size: calc(31 / 750 * 100vw);
		line-height: 1.4;
	}
}

/* -------------------------------------------------
	btn
------------------------------------------------- */

.btn-style1 {
	width: 257px;
	height: 30px;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border: solid 2px #cf000e;
	border-radius: 15px;
	font-weight: 700;
	font-size: 12px;
	color: #cf000e;
	transition: background 0.2s ease-out;
}
.btn-style1.blue {
	border-color: #2f50aa;
	color: #2f50aa;
}
.btn-style1 .newwin {
	padding-right: 2.2em;
	display: inline-block;
	background: url(../../common/img/newwin.png) no-repeat right center / 16px auto;
}

.btn_top-nav-link {
	width: 100px;
	height: 30px;
	display: block;
	font-size: 13px;
	box-sizing: border-box;
	padding: 8px 0;
	background-color: #CD9542;
	color: #fff;
	text-align: center;
	float: right;
	margin-left: auto;
}

@media print, screen and (min-width:768px) {
	.btn-style1:hover {
		background: #f9dee1;
	}
	.btn-style1.blue:hover {
		background: #b9ccf9;
	}
	.btn-style1 .small {
		font-size: 10px;
		vertical-align: baseline;
	}
	.btn_top-nav-link + .btn_top-nav-link {
		margin-left: 5px;
	}
}

@media screen and (max-width:767px) {
	.btn-style1 {
		width: calc(477 / 750 * 100vw);
		height: calc(56 / 750 * 100vw);
		border-radius: calc(28 / 750 * 100vw);
		font-size: calc(23 / 750 * 100vw);
	}
	.btn-style1 .newwin {
		background-size: 4vw auto;
	}
	.btn_top-nav-link {
		width: calc(653 / 750 * 100vw);
		float: initial;
		margin: 0 auto 10px auto;
	}
}

/* -------------------------------------------------
	パンくず
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	main .page-path {
		border-bottom: solid 2px #2f50aa;
		display: flex;
		align-items: center;
	}
	main .page-path ul {
		align-items: center;
		padding: 5px 0;
	}
	main .page-path ul li {
		font-weight: 700;
		font-size: 15px;
		color: #2f50aa;
		display: inline;
		line-height: 1.75;
		position: relative;
	}
	main .page-path ul li + li{
		padding-left: 30px;
	}
	main .page-path ul li + li::before {
		content: "＞";
		display: inline-block;
		margin: 0 0.5em;
		position: absolute;
		left: 0;
		top: 0;
	}
	main .page-path ul li a {
		color: #2f50aa;
	}
	main .page-path ul li a:hover {
		text-decoration: underline;
	}
}

/* -------------------------------------------------
	続きを読む
------------------------------------------------- */

@media screen and (max-width:767px) {
	
	.more-wrap {
		padding-bottom: 12vw;
		position: relative;
		display: block;
	}
	.more-wrap.open {
		padding-bottom: 0;
	}
	
	.more-target {
		display: none;
	}
	
	.btn-more-wrap {
		width: 100%;
		display: block;
		position: absolute;
		top: 0;
	}
	.btn-more-wrap::before {
		content: "";
		width: 100%;
		height: calc(64 / 375 * 100vw);
		display: block;
		/*background: linear-gradient(transparent, #fff);*/
		background: url(../img/mask_white.png) no-repeat 0 0 / 100% 100%;
		position: absolute;
		left: 0;
		bottom: 100%;
	}
	.btn-more-wrap.blue::before {
		/*background: linear-gradient(transparent, #D9E7FC);*/
		background: url(../img/mask_blue.png) no-repeat 0 0 / 100% 100%;
	}
	.btn-more-wrap.skyblue::before {
		/*background: linear-gradient(transparent, #EFF5FD);*/
		background: url(../img/mask_skyblue.png) no-repeat 0 0 / 100% 100%;
	}
	.btn-more-wrap .btn {
		width: 100%;
		height: calc(58 / 375 * 100vw);
		background: #2F50AA url(../img/arrow_01.svg) no-repeat 75% center / 3.94vw auto;
		color: #fff;
		font-size: calc(20 / 375 * 100vw);
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: calc(29 / 375 * 100vw);
		box-shadow: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw) calc(10 / 375 * 100vw) 0 rgba(6,32,80,0.26);
	}
}

/* -------------------------------------------------
	copy
------------------------------------------------- */

.copy-style1 {
	padding: 1.2em 0 0.3em;
	font-size: 25px;
	color: #2F50AA;
	letter-spacing: 0.1em;
	text-align: center;
	font-weight: bold;
	border-bottom: solid 1px #255091;
	line-height: 1.6;
}

@media screen and (max-width:767px) {
	.copy-style1 {
		font-size: calc(17 / 375 * 100vw);
		text-align: left;
		line-height: 1.6;
	}
}

/* -------------------------------------------------
	header
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	header {
		height: 120px;
	}
	header .inner {
		width: 100%;
		height: 120px;
		background: #fff;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 100;
	}
	header .inner::after {
		width: 100%;
		height: 70px;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 2;
		content: "";
		display: block;
		background: -moz-linear-gradient(180deg, #eceef0 0%, #fff 100%);
		background: -webkit-linear-gradient(180deg, #eceef0 0%, #fff 100%);
		background: linear-gradient(180deg, #eceef0 0%, #fff 100%);
	}
	header .group1 {
		height: 50px;
		display: flex;
		align-items: center;
	}
	header .logo1 img {
		width: 235px;
		display: block;
	}
	header .service-name {
		margin-left: 0.5em;
		font-size: 28px;
		font-weight: 700;
		letter-spacing: 0;
	}
	header .service-name a {
		color: #2f50aa;
	}

	/* /202103 */
	header .gnav {
		width: 100%;
		display: flex;
		align-items: center;
		height: 55px;
		position: relative;
		z-index: 4;
		justify-content: space-between;
	}
	header .gnav li {
		font-size: 13px;
		font-weight: bold;
		border-left: solid 1px #2F50AA;
		letter-spacing: 0;
		box-sizing: border-box;
		height: 100%;
	}
	/* header .gnav li:last-child {
		border-right: solid 1px #2F50AA;
	} */
	.font-weight-regular {
		font-weight: 400;
	}

	header .gnav > li:nth-child(1) { width: 11%; }
	header .gnav > li:nth-child(2) { width: 18%; }
	header .gnav > li:nth-child(3) { width: 16%; }
	header .gnav > li:nth-child(4) { width: 16%; }
	header .gnav > li:nth-child(5) { width: 12%; }
	header .gnav > li:nth-child(6) { width: 8%; }
	header .gnav > li:nth-child(7) { width: 7%; }
	header .gnav > li:nth-child(8) { width: 11%; }
	
	header .gnav > li > a,
	header .gnav li dt {
		width: 100%;
		height: 100%;
		color: #2F50AA;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		line-height: 1.2;
		transition: background 0.2s ease-out;
		font-size: 14px;
	}
	header .gnav li a:hover,
	header .gnav li dt:hover {
		background: #e4ebfb;
	}
	
	#menu-panel {
		display: block !important;
		padding-top: 8px;
	}

	header .gnav li dl {
		position: relative;
		cursor: pointer;
		height: 100%;
	}
	header .gnav li dt {
		font-weight: bold;
		font-weight: bold;
	}
	header .gnav li dt.active{
		background-color: #e4ebfb;
	}
	header .gnav li dd {
		display: none; 
		position: absolute;
		width: 158px;
		height: 239px;
		background-color: #EEF0F2;
	}
	header .gnav li dd ul {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	header .gnav li dd ul li {
		border-left: none;
		width: 100%;
	}
	header .gnav li dd ul li a {
		font-size: 15px;
		line-height: 40px;
		padding-left: 13px;
		padding-right: 13px;
		font-weight: 400;
		color: #2F50AA;
		display: block;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}
	header .gnav li.header-cv a{
		background-color: #CD9542;
		color: #fff;
		width: 101px;
		margin-right: 0;
		margin-left: auto;
		padding: 3px;
		position: relative;
		box-sizing: border-box;
	}
	header .gnav li.header-cv a span{
		border: .5px solid #fff;
		display: block;
		width: 100%;
		height: 100%;
		line-height: 1.2;
		padding-top: 7px;
		box-sizing: border-box;
	}
	header .gnav li.header-cv a:hover {
		background-color: #FBD308;
		color: #234E90;
	}
	header .gnav li.header-cv a:hover span {
		border-color: #234E90;
	}
}

@media print, screen and (min-width:768px) and (max-width:950px) {
	header .gnav li {
		font-size: 12px;
	}
}

@media screen and (max-width:767px) {
	header {
		height: calc(63 / 375 * 100vw);
	}
	header .inner {
		width: 100%;
		height: calc(63 / 375 * 100vw);
		background: #fff;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 100;
	}
	header .logo1 img {
		width: calc(159 / 375 * 100vw);
		position: fixed;
		left: calc(30 / 375 * 100vw);
		top: calc(23 / 375 * 100vw);
		z-index: 102;
	}
	
	#menu-btn {
		width: calc(29 / 375 * 100vw);
		height: calc(20 / 375 * 100vw);
		position: fixed;
		right: calc(25 / 375 * 100vw);
		top: calc(22 / 375 * 100vw);
		z-index: 112;
	}
	#menu-btn > div {
		width: 100%;
		height: 1px;
		background: #254199;
		position: absolute;
		left: 0;
		transition: all 0.2s ease-out;
	}
	#menu-btn > div:nth-child(1) { top: 0; }
	#menu-btn > div:nth-child(2) { top: 50%; }
	#menu-btn > div:nth-child(3) { top: 100%; }
	
	.on #menu-btn > div:nth-child(1) { top: 50%; transform: rotate(45deg); }
	.on #menu-btn > div:nth-child(2) { opacity: 0; }
	.on #menu-btn > div:nth-child(3) { top: 50%; transform: rotate(-45deg); }
	
	#menu-panel {
		width: 100vw;
		height: 100vh;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 110;
		display: none;
		background: #fff;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	#menu-panel::after {
		width: 100%;
		height: calc(280 / 375 * 100vw);
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 60vw;
		z-index: 2;
		background: url(../img/bg_03.svg) no-repeat left top / 100% auto;
	}
	#menu-panel .logo2 {
		width: calc(96 / 375 * 100vw);
		margin-left: 7vw;
		position: relative;
		z-index: 4;
		box-shadow: 2px 3px 10px 0 rgba(0,0,0,0.36);
	}
	
	#menu-panel .to-topPage {
		margin: 1.5em 0 1em;
		padding-left: 7vw;
		font-size: calc(35 / 750 * 100vw);
		font-weight: 700;
		letter-spacing: 0.03em;
	}
	#menu-panel .to-topPage a {
		padding-bottom: 0.5em;
		display: inline-block;
		color: #2f50aa;
		border-bottom: solid 1px #2f50aa;
	}
	
	#menu-panel .gnav {
		margin: 0 auto;
		position: relative;
		z-index: 4;
	}
	#menu-panel .gnav > li {
		font-size: calc(30 / 750 * 100vw);
		font-weight: bold;
		letter-spacing: 0;
	}
	#menu-panel .gnav > li > a {
		height: calc(92 / 750 * 100vw);
		padding-left: 7vw;
		color: #2F50AA;
		display: flex;
		align-items: center;
		background: -moz-linear-gradient(180deg, #fff 0%, rgba(203,207,213,0.36) 100%);
		background: -webkit-linear-gradient(180deg, #fff 0%, rgba(203,207,213,0.36) 100%);
		background: linear-gradient(180deg, #fff 0%, rgba(203,207,213,0.36) 100%);
	}
	
	#menu-panel .menu-panel-bottom {
		width: 100%;
		padding-top: calc(50 / 750 * 100vw);
		overflow: hidden;
		background: -moz-linear-gradient(180deg, #f3f5f6 0%, #eceef0 100%);
		background: -webkit-linear-gradient(180deg, #f3f5f6 0%, #eceef0 100%);
		background: linear-gradient(180deg, #f3f5f6 0%, #eceef0 100%);
	}
	#menu-panel .btn {
		width: calc(653 / 750 * 100vw);
		height: calc(104 / 750 * 100vw);
		margin: 20px auto 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #F8D308;
		border-radius: calc(52 / 750 * 100vw);
		color: #253189;
		font-size: calc(29 / 750 * 100vw);
		font-weight: 700;
		box-shadow: calc(1 / 750 * 100vw) calc(11 / 750 * 100vw) calc(16 / 750 * 100vw) 0 rgba(0,0,0,0.3);
		letter-spacing: 0.1em;
		transition: background 0.2s ease-out;
	}
	#menu-panel .btn span {
		padding: 0.5em calc(50 / 750 * 100vw) 0.5em 0;
		display: inline-block;
		background: url(../img/arrow_02.svg) no-repeat right center / 3vw auto;
		transform: translateX(4%);
	}
	#menu-panel .tel .title {
		margin: 2em 0 1em;
		font-size: calc(24 / 750 * 100vw);
		color: #2F50AA;
		letter-spacing: 0;
		text-align: center;
		font-weight: 700;
	}
	#menu-panel .tel a {
		margin-left: 50%;
		transform: translateX(-50%);
		cursor: default;
		font-size: calc(57 / 750 * 100vw);
		color: #2F50AA;
		font-family: 'Roboto Condensed';
		/* font-family: 'Roboto_Condensed'; */
		font-weight: 400;
		letter-spacing: 0.16em;
		display: inline-block;
		text-align: center;
		white-space: nowrap;
	}
	#menu-panel .logo3 {
		width: 100%;
		margin-top: calc(40 / 750 * 100vw);
	}
	#menu-panel .gnav li dl {
		font-weight: bold;
		padding-left: 7vw;
		color: #2F50AA;
		display: flex;
		align-items: center;
		display: flex;
		flex-direction: column;
		position: relative;
		background: -moz-linear-gradient(180deg, #fff 0%, rgba(203,207,213,0.36) 100%);
		background: -webkit-linear-gradient(180deg, #fff 0%, rgba(203,207,213,0.36) 100%);
		background: linear-gradient(180deg, #fff 0%, rgba(203,207,213,0.36) 100%);
	}
	#menu-panel .gnav li dt {
		height: calc(92 / 750 * 100vw);
		line-height: calc(92 / 750 * 100vw);
		width: 100%;
		font-weight: bold;
	}
	#menu-panel .gnav li dt:before,
	#menu-panel .gnav li dt::after {
		content: '';
		display: block;
		width: 14px;
		height: 2px;
		border-radius: 5px;
		background: #2F50AA;
		position: absolute;
		right: 30px;
	}

	#menu-panel .gnav li dt:before {
		top: 23px;
		transition: all .5s;
	}

	#menu-panel .gnav li dt:after {
		transform: translateY(-50%) rotate(90deg);
		transition: 0.5s;
		top: 24px;
	}

	#menu-panel .gnav li dt.active::before {
		opacity: 0;
	}

	#menu-panel .gnav li dt.active:after {
		transform: rotate(0);
		transition: 0.5s;

	}

	#menu-panel .gnav li dd {
		padding-top: 16px;
		padding-bottom: 16px;
		display: none;
		width: 100%;
		font-size: 14px;
	}

	#menu-panel .gnav li dd li+li {
		margin-top: 24px;
	}

	#menu-panel .gnav li dd a {
		display: block;
		color: #2F50AA;
		padding-left: 18px;
	}
}

/* -------------------------------------------------
	footer
------------------------------------------------- */

footer {
	padding: 14px 0;
}
footer .two-col .left {
	padding-top: 3px;
}
footer .two-col .left p {
	margin-bottom: 0.8em;
	font-size: 12px;
	color: #67686A;
}
footer .two-col .left img {
	width: 235px;
}
footer .two-col .right {
	width: calc(100% - 290px);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	text-align: right;
}
footer .two-col .right .links {
	padding-top: 32px;
	display: flex;
}
footer .two-col .right .links li {
	font-size: 12px;
	letter-spacing: 0;
}
footer .two-col .right .links li + li {
	margin-left: 3em;
}
footer .two-col .right .links a {
	color: #2F50AA;
}
footer .two-col .right .logo img {
	/* width: 160px; */
	height: 64px;
	width: auto;
}
footer .two-col .right .group-text {
	font-size: 10px;
	margin-top: 1.5em;
}
footer .copyright {
	margin-top: 1.5em;
	color: #000;
	font-size: 10px;
	letter-spacing: 0;
	text-align: center;
}

@media print, screen and (min-width:768px) {
	footer .two-col {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	footer .two-col .left a img {
		transition: opacity 0.2s ease-out;
	}
	footer .two-col .left a:hover img {
		opacity: 0.6;
	}
	footer .two-col .right .links a:hover {
		text-decoration: underline;
	}
}

@media print, screen and (min-width:768px) and (max-width:860px) {
	footer .two-col .left img {
		width: 200px;
	}
	footer .two-col .right {
		width: calc(100% - 220px);
	}
	footer .two-col .right .links li + li {
		margin-left: 1.5em;
	}
}

@media screen and (max-width:767px) {
	footer {
		padding: calc(15 / 375 * 100vw) 0 calc(30 / 375 * 100vw);
	}
	footer .two-col .left {
		padding-top: 0;
		text-align: center;
	}
	footer .two-col .left p {
		margin-bottom: 0.5em;
		font-size: calc(12 / 375 * 100vw);
	}
	footer .two-col .left img {
		width: calc(160 / 375 * 100vw);
	}
	footer .two-col .right {
		width: calc(320 / 375 * 100vw);
		padding-top: calc(37 / 375 * 100vw);
		margin: 0 auto;
		position: relative;
	}
	footer .two-col .right .links {
		padding-top: 0;
		display: block;
		text-align: left;
	}
	footer .two-col .right .links li {
		font-size: calc(12 / 375 * 100vw);
		white-space: nowrap;
	}
	footer .two-col .right .links li + li {
		margin: 1em 0 0;
	}
	footer .two-col .right .logo img {
		/* width: calc(125 / 375 * 100vw); */
		height: 51px;
		width: auto;
	}
	footer .two-col .right .group-text{
		line-height: 1.5;
	}
	footer .two-col .right .copyright {
		margin-top: 1.5em;
		font-size: calc(8 / 375 * 100vw);
		white-space: nowrap;
		position: absolute;
		right: 0;
	}
}

/* -------------------------------------------------
	pagetop
------------------------------------------------- */

#pagetop {
	display: block;
	transition: all 0.2s ease-out;
	overflow: hidden;
	position: fixed;
	z-index: 90;
}
#pagetop span {
	font-size: 0;
	color: transparent;
}

@media print, screen and (min-width:768px) {
	#pagetop {
		width: 22px;
		height: 265px;
		background: url(../img/pagetop_pc.svg) no-repeat 0 0 / 100% auto;
		right: 15px;
		bottom: -265px;
	}
	#pagetop.on {
		bottom: 80px;
	}
	#pagetop:hover {
		opacity: 0.5;
	}
}

@media screen and (max-width:767px) {
	#pagetop {
		width: calc(37 / 375 * 100vw);
		height: calc(37 / 375 * 100vw);
		background: url(../img/pagetop_sp.svg) no-repeat 0 0 / 100% auto;
		right: 3vw;
		bottom: calc(-37 / 375 * 100vw);
	}
	#pagetop.on {
		bottom: 17vw;
	}
}

/* -------------------------------------------------
	contact-btn
------------------------------------------------- */

#contact-btn {
	width: 167px;
	height: 78px;
	padding-left: 27px;
	box-sizing: border-box;
	position: fixed;
	right: 0;
	bottom: 360px;
	z-index: 90;
	background: #F8D308 url(../img/arrow_02.svg) no-repeat 140px center / 18px auto;
	transition: all 0.2s ease-out;
	color: #253189;
	display: flex;
	align-items: center;
	border-radius: 39px 0 0 39px / 39px 0 0 39px;
	transform: translateX(100%);
}
#contact-btn.on {
	transform: translateX(0);
}
#contact-btn p {
	font-size: 13px;
	font-weight: bold;
	color: #253189;
	line-height: 1.4;
	text-align: center;
}

@media print, screen and (min-width:768px) {
	#contact-btn:hover {
		background-color: #F8E47A;
	}
}

@media screen and (max-width:767px) {
	#contact-btn {
		width: calc(120 / 375 * 100vw);
		height: calc(56 / 375 * 100vw);
		padding-left: calc(14 / 375 * 100vw);
		bottom: 30vw;
		background: #F8D308 url(../img/arrow_02.svg) no-repeat 140px center / 18px auto;
		background-position: 90% center;
		background-size: 2.32vw auto;
		border-radius: calc(28 / 375 * 100vw) 0 0 calc(28 / 375 * 100vw) / calc(28 / 375 * 100vw) 0 0 calc(28 / 375 * 100vw);
	}
	#contact-btn p {
		font-size: calc(10 / 375 * 100vw);
	}
}

/* -------------------------------------------------
	modal
------------------------------------------------- */

#modal-base,
#modal-cont,
#modal-close {
	opacity: 0;
	transition: opacity 0.6s ease-out;
}
#modal-base.on,
#modal-cont.on,
#modal-close.on {
	opacity: 1;
}

#modal-base {
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 200;
	background: rgba(0,0,0,0.8);
}
#modal-cont {
	width: 1000px;/*700px*/
	height: calc(1000px * 315 / 562.5);/*(700px * 315 / 570)*/
	position: fixed;
	left: 50%;
	top: 50%;
	z-index: 210;
	transform: translate(-50%,-50%);
	background: #000;
}
#modal-cont iframe {
	width: 100%;
	height: 100%;
}
#modal-close {
	color: #fff;
	font-weight: bold;
	font-size: 30px;
	position: fixed;
	left: 50%;
	top: 50%;
	z-index: 210;
	transform: translate(-50%,-50%);
	margin: -295px 0 0 488px;/*-215px 0 0 350px*/
	cursor: pointer;
}

@media screen and (max-width:767px) {
	#modal-cont {
		width: 92vw;
		height: calc(92vw * 315 / 570);
	}
	#modal-close {
		font-size: 8vw;
		margin: -31vw 0 0 42vw;
	}
}

@media screen and (max-width:767px) and (orientation:landscape) {
	#modal-cont {
		width: calc(92vw * 0.7);
		height: calc(92vw * 315 / 570 * 0.7);
	}
	#modal-close {
		font-size: calc(8vw * 0.7);
		margin: calc(-31vw * 0.7) 0 0 calc(42vw * 0.7);
	}
}

/* -------------------------------------------------
	contact
------------------------------------------------- */

#contact {
	padding: 85px 0 40px;
	text-align: center;
}
#contact .lead {
	margin-bottom: 1.3em;
	color: #2f50aa;
	font-size: 18px;
	line-height: 1.7;
	font-weight: 700;
}
#contact .btn {
	width: 472px;
	height: 75px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #F8D308;
	border-radius: 38px;
	color: #253189;
	font-size: 19px;
	font-weight: bold;
	box-shadow: 0px 6px 12px 0 rgba(0,0,0,0.22);
	letter-spacing: 0.1em;
	transition: background 0.2s ease-out;
}
#contact .btn span {
	padding: 0.5em 0;
	display: inline-block;
	padding-right: 38px;
	background: url(../img/arrow_02.svg) no-repeat right center / 18.4px auto;
	transform: translateX(4%);
}
#contact .tel {
	margin-top: 35px;
}
#contact .tel .title {
	margin-bottom: 1em;
	font-size: 12px;
	color: #2F50AA;
	letter-spacing: 0.1em;
}
#contact .tel a {
	cursor: default;
	font-size: 34px;
	color: #2F50AA;
	font-family: 'Roboto Condensed';
	/* font-family: 'Roboto_Condensed'; */
	font-weight: 400;
	letter-spacing: 0.1em;
	transform: scaleX(1.1);
	display: inline-block;
}

@media print, screen and (min-width:768px) {
	#contact .btn:hover {
		background: #F8E47A;
	}
}

@media print, screen and (min-width:768px) and (max-width:940px) {
	#contact .lead br.middle-on {
		display: block !important;
	}
}

@media screen and (max-width:767px) {
	#contact {
		padding: calc(40 / 375 * 100vw) 0;
	}
	#contact .lead {
		font-size: calc(27 / 750 * 100vw);
	}
	body.pageID-comparison #contact .lead {
		letter-spacing: 0;
	}
	#contact .btn {
		width: 100%;
		height: calc(52 / 375 * 100vw);
		border-radius: calc(26 / 375 * 100vw);
		font-size: calc(12 / 375 * 100vw);
		box-shadow: 0px calc(6 / 375 * 100vw) calc(12 / 375 * 100vw) 0 rgba(0,0,0,0.22);
	}
	#contact .btn span {
		padding-right: 1.5em;
		background-size: calc(9.6 / 375 * 100vw) auto;
	}
	#contact .tel {
		margin-top: calc(28 / 375 * 100vw);
	}
	#contact .tel .title {
		font-size: calc(13 / 375 * 100vw);
	}
	#contact .tel a {
		font-size: calc(29 / 375 * 100vw);
	}
}


.cta_block {
	padding: 85px 0 40px;
	text-align: center;
}
.cta_block .lead {
	margin-bottom: 1.3em;
	color: #2f50aa;
	font-size: 18px;
	line-height: 1.7;
	font-weight: 700;
}
.cta_block .btn {
	width: 472px;
	height: 75px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #F8D308;
	border-radius: 38px;
	color: #253189;
	font-size: 19px;
	font-weight: bold;
	box-shadow: 0px 6px 12px 0 rgba(0,0,0,0.22);
	letter-spacing: 0.1em;
	transition: background 0.2s ease-out;
}
.cta_block .btn span {
	padding: 0.5em 0;
	display: inline-block;
	padding-right: 38px;
	background: url(../img/arrow_02.svg) no-repeat right center / 18.4px auto;
	transform: translateX(4%);
	line-height: 1.5;
}
.cta_block .tel {
	margin-top: 35px;
}
.cta_block .tel .title {
	margin-bottom: 1em;
	font-size: 12px;
	color: #2F50AA;
	letter-spacing: 0.1em;
}
.cta_block .tel a {
	cursor: default;
	font-size: 34px;
	color: #2F50AA;
	font-family: 'Roboto Condensed';
	/* font-family: 'Roboto_Condensed'; */
	font-weight: 400;
	letter-spacing: 0.1em;
	transform: scaleX(1.1);
	display: inline-block;
}

@media print, screen and (min-width:768px) {
	.cta_block .btn:hover {
		background: #F8E47A;
	}
}

@media print, screen and (min-width:768px) and (max-width:940px) {
	.cta_block .lead br.middle-on {
		display: block !important;
	}
}

@media screen and (max-width:767px) {
	.cta_block {
		padding: calc(40 / 375 * 100vw) 0;
	}
	.cta_block .lead {
		font-size: calc(27 / 750 * 100vw);
	}
	body.pageID-comparison .cta_block .lead {
		letter-spacing: 0;
	}
	.cta_block .btn {
		width: 100%;
		height: calc(52 / 375 * 100vw);
		border-radius: calc(26 / 375 * 100vw);
		font-size: calc(12 / 375 * 100vw);
		box-shadow: 0px calc(6 / 375 * 100vw) calc(12 / 375 * 100vw) 0 rgba(0,0,0,0.22);
	}
	.cta_block .btn span {
		padding-right: 1.5em;
		background-size: calc(9.6 / 375 * 100vw) auto;
	}
	.cta_block .tel {
		margin-top: calc(28 / 375 * 100vw);
	}
	.cta_block .tel .title {
		font-size: calc(13 / 375 * 100vw);
	}
	.cta_block .tel a {
		font-size: calc(29 / 375 * 100vw);
	}
}

/* -------------------------------------------------
	contents-list-block
------------------------------------------------- */

#contents-list-block {
	padding: 115px 0 130px;
	position: relative;
}
body.pageID-faq #contents-list-block {
	padding: 70px 0 20px;
}
#contents-list-block .headline {
	font-size: 18px;
	margin-bottom: 30px;
	display: inline-block;
}

#contents-list-block ul {
	width: 696px;
	margin: 0 auto 65px;
}
#contents-list-block ul li {
	font-size: 23px;
	border-bottom: solid 1px #4d4d4d;
}
#contents-list-block ul li + li {
	margin-top: 23px;
}
#contents-list-block ul li .small {
	font-size: 14px;
}
#contents-list-block ul li a {
	padding-bottom: 4px;
	display: flex;
	align-items: center;
	transition: opacity 0.2s ease-out;
}
#contents-list-block ul li a::before {
	width: 20px;
	height: 20px;
	background: url(../img/arrow_03.svg) no-repeat 0 0 / 100% auto;
	content: "";
	display: inline-block;
	margin-right: 0.5em;
}

#contents-list-block .youtube {
	transition: opacity 0.2s ease-out;
}
#contents-list-block .youtube img {
	width: 100%;
	border-radius: 25px;
}

@media print, screen and (min-width:768px) {
	#contents-list-block {
		width: 100%;
		overflow: hidden;
	}
	#contents-list-block::before {
		width: 1430.6px;
		height: 1120px;
		position: absolute;
		left: 50%;
		bottom: 0;
		content: "";
		display: block;
		margin-left: -760px;
	}
	body.pageID-comparison #contents-list-block::before {
		width: 1999px;
		margin-left: -1000px;
	}
	body.pageID-process #contents-list-block::before { background: url(../../process/img/bg_01.svg) no-repeat 40% bottom / 100% auto; }
	body.pageID-comparison #contents-list-block::before { background: url(../../comparison/img/bg_01.svg) no-repeat 42% bottom / 1999px auto; }
	
	#contents-list-block .inner {
		width: 705px;
		margin: 0 auto;
		position: relative;
		z-index: 10;
	}
	#contents-list-block.narrow-width .inner {
		width: 480px;
	}
	#contents-list-block.narrow-width .headline {
		text-align: center;
		display: block;
	}
	
	#contents-list-block.narrow-width ul {
		width: 480px;
	}
	
	#contents-list-block ul li a:hover {
		opacity: 0.6;
	}
	
	#contents-list-block .youtube:hover {
		opacity: 0.7;
	}
}

@media screen and (max-width:767px) {
	#contents-list-block {
		padding: calc(90 / 750 * 100vw) 0 calc(110 / 750 * 100vw);
		text-align: center;
	}
	body.pageID-faq #contents-list-block {
		padding: calc(90 / 750 * 100vw) 0 calc(10 / 750 * 100vw);
	}

	#contents-list-block .headline {
		font-size: calc(27 / 750 * 100vw);
		margin-bottom: calc(40 / 750 * 100vw);
	}

	#contents-list-block ul {
		width: 100%;
		margin: 0 auto 35px;
		text-align: left;
	}
	#contents-list-block ul li {
		font-size: calc(30 / 750 * 100vw);
		line-height: 1.5;
	}
	#contents-list-block ul li + li {
		margin-top: calc(30 / 750 * 100vw);
	}
	#contents-list-block ul li .small {
		font-size: calc(26 / 750 * 100vw);
		display: inline-block;
		transform: translateY(1vw);
	}
	#contents-list-block ul li a {
		padding-bottom: 0.8vw;
		align-items: flex-start;
	}
	#contents-list-block ul li a::before {
		width: calc(30 / 750 * 100vw);
		height: calc(30 / 750 * 100vw);
		transform: translateY(30%);
	}

	#contents-list-block .youtube img {
		width: 100%;
		border-radius: calc(25 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	tokyoProMarket
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	#tokyoProMarket {
		height: 180px;
		background: #2F50AA;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	#tokyoProMarket .logo {
		width: 87px;
	}
	#tokyoProMarket .text {
		margin: 0 0 0 10px;
		color: #fff;
		font-size: 20px;
	}
	#tokyoProMarket a{
		display: flex;
		justify-content: center;
		align-items: center;
		transition: .2s;
	}
	#tokyoProMarket a:hover{
		opacity: .7;
	}
	#tokyoProMarket a svg{
		width: 30px;
		height: 30px;
		margin-left: 50px;
		fill:#fff;
	}
	
}

@media screen and (max-width:767px) {
	#tokyoProMarket {
		padding:20px 0;
		box-sizing: border-box;
		background: #2F50AA;
		text-align: center;
	}
	#tokyoProMarket .logo {
		width: calc(53 / 375 * 100vw);
	}
	#tokyoProMarket .text {
		margin: 2em auto 0;
		color: #fff;
		font-size: calc(12 / 375 * 100vw);
	}
	#tokyoProMarket a svg{
		width: 20px;
		height: 20px;
		fill:#fff;
		margin-top: 20px;
	}
}

/* -------------------------------------------------
	responsive
------------------------------------------------- */

@media print, screen and (min-width:768px) {
	.pc-none {
		display: none !important;
	}
}

@media screen and (max-width:767px) {
	.sp-none {
		display: none !important;
	}
}

/* -------------------------------------------------
	print
------------------------------------------------- */

@media print {
	body {
		width: 980px !important;
	}
}
