@charset "UTF-8";
/* charset */

/*
font-family: 'Anton', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/

* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	overflow-scrolling:touch;
	-webkit-overflow-scrolling:touch;
}

img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

::selection {
	background: transparent;
}
::-moz-selection {
	background: transparent;
}

body {
	margin: 0;
	padding: 0;
	line-height: 1.6em;
	color: #000;
	background: #fff;
	font-size: 3.38vw;
	font-family: 'Noto Serif JP', 'Anton', serif;
	font-weight: 400;
	letter-spacing: 0.05em;
	letter-spacing: 1px\9;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: auto;
}

h1, h2, h3, h4, h5, h6, h7,
ul, ol, li, dl, dt, dd,
article, section,
div, figure, p, form, img, legend, i {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 1em;
	list-style: none;
	font-style: normal;
	font-weight: normal;
}

button {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

a ,
button ,
span {
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
	text-decoration: none!important;
}

a:link {color: #000;}
a:visited {color: #000;}
a:active {color: #000;}

a:hover {
	opacity: .60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-khtml-opacity: .60;
	-moz-opacity: .60;
	text-decoration: none!important;
}

a:hover img ,
button:hover img {
	opacity: .75;
	filter: alpha(opacity=75);
	-ms-filter: "alpha(opacity=75)";
	-khtml-opacity: .75;
	-moz-opacity: .75;
}
a:focus,
*:focus {
	outline: none;
}
.error {
	color: #c00;
}
.error span {
	display: block;
}
.error span:before {
	content: "\f071";
	margin-right: 3px;
	color: #c00;
	font-size: 15px;
	font-family: "FontAwesome";
}

.hide {
	display: none!important;
}

.spi {
	display: inline!important;
}
.spb {
	display: block!important;
}
.pci {
	display: none!important;
}
.pcb {
	display: none!important;
}
#wrapper {
	padding-top: 12vw;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.inner {
	margin: 0 auto;
	width: 90vw;
	position: relative;
}

header {
	width: 100%;
	height: 12vw;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: background 0.4s ease;
}
header.wh {
	background: #fff;
}

header .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 96vw;
	height: 100%;
}
header .logo {
	width: 25vw;
	z-index: 100;
}
header .logo a {
	display: flex;
	align-items: center;
	padding-top: 8vw;
	background: url(/img/logo.png) no-repeat center center;
	background-size: contain;
	position: relative;
	top: 1vw;
	left: -2vw;
}
header.active .logo a {
	background: url(/img/logo_wh.png) no-repeat center center;
	background-size: contain;
}
header .logo a img {
	display: none;
}

header nav {
	display: flex;
	height: 100%;
}
header nav span {
	position: relative;
}
header nav span:before ,
header nav span:last-child:after {
	content: "";
	width: 2px;
	height: 3vw;
	background: #0e207a;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
header nav span:last-child:after {
	left: auto;
	right: 0;
}
header nav a {
	display: flex;
	align-items: center;
	padding: 0 0.75em;
	height: 100%;
	font-size: 3.38vw;
	font-family: 'Noto Sans JP', sans-serif;
	color: #0e207a!important;
	letter-spacing: 0;
	white-space: nowrap;
}
header nav a ,
header nav a i {
	font-weight: 700;
}

footer {
	position: relative;
	padding: 10vw 0;
	background: #0e207a;
	color: #fff;
	font-size: 3vw;
	font-family: 'Noto Sans JP', sans-serif;
	overflow: hidden;
}
footer .inner {
}
footer nav {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 5vw;
}
footer nav span {
	position: relative;
}
footer nav span:before ,
footer nav span:last-child:after {
	content: "";
	width: 2px;
	height: 3vw;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
footer nav span:last-child:after {
	left: auto;
	right: 0;
}
footer nav a {
	display: flex;
	align-items: center;
	padding: 0 0.75em;
	height: 100%;
	font-size: 3.38vw;
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff!important;
	letter-spacing: 0;
	white-space: nowrap;
}
footer p {
	font-size: 2.6vw;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}

footer .btm_scroll {
	position: absolute;
	width: 3vw;
	top: -9vw;
	right: 0;
}

/*button*/
.btn_w {
	text-align: center;
}
.btn_w a {
	display: block;
	position: relative;
	background: #fff;
	padding: 1em 8vw 1em 0;
	width: 44vw;
	line-height: 1em;
	color: #0e207a;
	font-size: 3.38vw;
}
.btn_w a:after {
	content: '';
	position: absolute;
	background: url(/img/arrow_01_sp.png) no-repeat center center;
	background-size: contain;
	width: 10vw;
	padding-top: 2vw;
	top: 50%;
	right: 7vw;
	transform: translateY(-36%);
}
.btn_b {
	text-align: center;
}
.btn_b a {
	display: block;
	margin: 0 auto;
	padding: 1em 0;
	width: 80vw;
	line-height: 1em;
	font-size: 4.589vw;
	color: #fff;
	background: linear-gradient(90deg, rgba(14,32,122,1) 0%, rgba(12,27,102,1) 100%);
	position: relative;
}
.btn_b a:after {
	content: '';
	position: absolute;
	background: url(/img/arrow_02.png) no-repeat center center;
	background-size: contain;
	width: 10vw;
	padding-top: 2vw;
	/* height: 1vw; */
	top: 50%;
	right: 3.8vw;
	transform: translateY(-50%);
}
.en {
	font-family: 'Anton', sans-serif;
	letter-spacing: 0.2em;
}
.en {
	font-family: 'Anton', sans-serif;
	letter-spacing: 0.2em;
	font-weight: 400!important;
}

/*home*/

.topimg {
	margin: 0 auto;
	width: 100%;
	height: 74.879vw;
	background: url(/img/topspimg.jpg) no-repeat center top;
	background-size: cover;
	position: relative;
}
.topimg .inner {
	width: 100%;
}
.topimg dl {
	display: flex;
	flex-flow: column;
	margin: 10.265vw 0 0 10.265vw;
	position: absolute;
	top: 0;
	left: 0;
}
.topimg dl dt {
	display: flex;
	flex-flow: column;
}
.topimg dl dt span {
	margin: 0 0 1vw 0.8vw;
	padding: 0.2em 0 0.35em;
	width: 38.647vw;
	line-height: 1em;
	font-size: 3.38vw;
	color: #fff;
	background: #0E207A;
	text-align: center;
	letter-spacing: 0.2em;
}
.topimg dl dt b {
	width: 38.647vw;
}
.topimg dl dd {
	position: relative;
	top: -3vw;
	left: 0.75vw;
}
.topimg dl dd p {
	line-height: 1.9;
	font-size: 3.38vw;
	font-weight: 700;
}
.info {
}
.info dl {
	display: flex;
	flex-flow: column;
	margin: 0 auto;
	background: #88B4DC;
	position: relative;
}
.info dl dt {
	display: flex;
	justify-content: center;
	color: #fff;
	background: #0E207A;
}
.info dl dt span {
	padding: 0.5em 0;
	font-size: 3.62vw;
	text-align: center;
}
.info dl dd {
	display: flex;
	justify-content: center;
	padding: 5%;
}
.info dl dd .btn_w {
	width: 100%;
}
.info dl dd .btn_w a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.info dl dd .btn_w a:after {
	width: 10vw;
}
.info dl dd .btn_w a p {
	display: flex;
	flex-flow: column;
	padding-left: 40px;
	color: #0E207A;
	position: relative;
}
.info dl dd .btn_w a p:before {
	content: "";
	width: 9vw;
	height: 9vw;
	background: url(/img/infotel.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: -5vw;
	transform: translateY(-50%);
}
.info dl dd .btn_w a p span {
	margin-bottom: 0.5em;
	line-height: 1em;
	font-size: 3.38vw;
}
.info dl dd .btn_w a p b {
	line-height: 1em;
	font-size: 7.12vw;
}

.cap {
	margin-bottom: 5vw;
	color: #fff;
	background: #0E207A;
}
.cap .in {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 4.5vw 0;
	width: 100%;
	color: #fff;
	background: #0E207A;
	text-align: center;
	position: relative;
}
.cap span {
	font-size: 3.74vw;
	font-family: 'Anton', sans-serif;
	letter-spacing: 0.2em;
}
.cap b {
	line-height: 1.5em;
	font-size: 5.07vw;
	font-weight: 400;
}

.top .sec01 ,
.top .sec02 ,
.top .sec03 ,
.top .sec04 ,
.top .sec05 {
	padding: 10% 0;
	position: relative;
}


.top .sec01 {
}
.top .sec01 .cap {
	margin-bottom: 40.821vw;
	width: 68.84vw;
}
.top .sec01 figure {
	width: 82vw;
	text-align: right;
	position: absolute;
	top: 12vw;
	right: -5vw;
	z-index: -1;
}
.top .sec01 ol {
}
.top .sec01 ol li {
	display: flex;
}
.top .sec01 ol li + li {
	margin-top: 5%;
}
.top .sec01 ol li i {
	margin-right: 0.5em;
	padding-top: 0.3em;
	color: #0E207A;
	font-size: 6.5vw;
	font-family: 'Anton', sans-serif;
}
.top .sec01 ol li p {
	line-height: 1.75;
	font-size: 4.1vw;
	letter-spacing: 0;
}
.top .sec01 .btn_b a {
	margin: 10% auto 0;
}
.top .sec02 {
	background: #ECF4FA;
}

.top .sec02 {
}
.top .sec02 dl {
}
.top .sec02 dl dt {
	display: flex;
	justify-content: center;
	margin-bottom: 2%;
	background: #88B4DC;
}
.top .sec02 dl dt span {
	padding: 0.75em 0;
	line-height: 1em;
	font-size: 4.347vw;
	color: #fff;
}
.top .sec02 dl dd {
}
.top .sec02 dl dd ul {
	display: flex;
	flex-flow: column;
}
.top .sec02 dl dd ul li {
	display: flex;
	flex-flow: column;
	margin-bottom: 2%;
}
.top .sec02 dl dd ul li b {
	display: flex;
	justify-content: center;
	margin-bottom: 1%;
	padding: 0.75em 0;
	line-height: 1em;
	font-size: 3.86vw;
	color: #231815;
	background: #D8E7F4;
}
.top .sec02 dl dd ul li p {
	display: flex;
	flex-flow: column;
	justify-content: center;
	padding: 1em 0;
	height: 100%;
	font-size: 3.38vw;
	color: #0E207A;
	background: #fff;
	text-align: center;
}
.top .sec02 dl dd ul li p i {
	line-height: 1em;
	font-size: 6.52vw;
	font-family: 'Manrope', sans-serif;
	letter-spacing: -0.05em;
}
.top .sec02 dl dd ul li p small {
	display: block;
	margin-top: 0.5em;
	line-height: 1em;
	color: #000;
	font-size: 3.14vw;
}
.top .sec02 dl dd .btm {
	margin: 1em 0 3em;
	line-height: 1em;
	font-size: 3.38vw;
	text-align: center;
}
.top .sec02 dl + dl dd .btm {
	margin: 1em 0 0;
}

.top .sec03 {
	background: #88B4DC;
}
.top .sec03 .cap {
	margin-bottom: 40.821vw;
	width: 68.84vw;
	z-index: 2;
	position: relative;
}
.top .sec03 .cap .in {
	padding: 8vw 0;
}
.top .sec03 figure {
	width: 82vw;
	text-align: right;
	position: absolute;
	top: 12vw;
	right: -5vw;
}
.top .sec03 ol {
}
.top .sec03 ol li {
	display: flex;
	align-items: center;
	padding: 5vw 0;
	background: #fff;
	position: relative;
}
.top .sec03 ol li + li {
	margin-top: 5vw;
}
.top .sec03 ol li:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3vw 2vw 0 2vw;
	border-color: #ffffff transparent transparent transparent;
	position: absolute;
	bottom: -3vw;
	left: 50%;
	transform: translateX(-50%);
}
.top .sec03 ol li:last-child:before {
	content: none;
}
.top .sec03 ol li span {
	width: 33%;
	line-height: 1em;
	font-size: 4vw;
	font-family: 'Anton', sans-serif;
	color: #0e207a;
	text-align: center;
	letter-spacing: 0.2em;
}
.top .sec03 ol li b {
	width: 60%;
	line-height: 1em;
	font-size: 4.83vw;
	font-weight: 400;
	text-align: center;
}



.top .sec04 {
	background: url(/img/index_sec03spbg01.jpg) no-repeat center top;
	background-size: cover;
}
.top .sec04:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(14, 32, 122, 0.6);
	top: 0;
	left: 0;
}
.top .sec04 .inner {
	display: flex;
	flex-flow: column;
}
.top .sec04 .cap {
	z-index: 1;
}
.top .sec04 p {
	color: #fff;
	line-height: 1.85em;
	font-size: 3.38vw;
	text-align: justify;
}
.top .sec04 figure {
	padding-top: 5vw;
}
.top .sec05 {
	background: #ECF4FA;
}
.top .sec05 .cap {
}
.top .sec05 ul {
	display: flex;
	flex-flow: column;
}
.top .sec05 ul li {
	display: flex;
	flex-flow: column;
	border-left: 2px solid #0e207a;
	padding: 5vw;
	min-height: 15vw;
	background: #fff;
	position: relative;
}
.top .sec05 ul li + li {
	margin-top: 5vw;
}
.sec05 ul li b {
	display: flex;
	margin-bottom: 0.5em;
	font-size: 4.83vw;
}
.top .sec05 ul li b i {
	margin-right: 3vw;
	font-size: 5.5vw;
	font-family: 'Anton', sans-serif;
	color: #0e207a;
}
.top .sec05 ul li b span {
	color: #0e207a;
	line-height: 1.6em;
	position: relative;
	top: -1.75vw;
}
.top .sec05 ul li p {
	font-size: 3.38vw;
	letter-spacing: 0;
	text-align: justify;
}
.top .sec05 .btn_b a {
	margin: 5vw auto 0;
}

.top .contact {
	background: url(/img/index_sec05bg01.jpg) no-repeat center top;
	background-size: cover;
	padding: 10vw 0;
	position: relative;
}
.top .contact:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(14, 32, 122, 0.4);
	top: 0;
	left: 0;
}

.top .contact .inner {
}
.top .contact dl {
	display: flex;
	flex-flow: column;
	align-items: center;
	margin-bottom: 10vw;
	color: #fff;
}
.top .contact dl dt {
	display: flex;
	font-size: 5.07vw;
}
.top .contact dl dd {
	text-align: center;
}
.top .contact dl dd p {
	margin: 30px auto 15px;
	font-size: 3.86vw;
}
.top .contact dl dd span {
	display: inline-block;
	border: 1px solid #fff;
	padding: 0.25em;
	font-size: 4.106vw;
}
.top .contact ul {
	display: flex;
	flex-flow: column;
}
.top .contact ul li {
}
.top .contact ul li:last-child {
	margin-right: 0;
}
.top .contact ul li + li {
	margin-top: 5vw;
}
.top .contact ul li .btn_w {}
.top .contact ul li .btn_w a {
	margin: 0 auto;
	padding: 1em 0;
	width: 90%;
	font-size: 4.83vw;
}
.top .contact ul li .btn_w a:before {
	content: '';
	position: absolute;
	background: url(/img/icon_01.png) no-repeat;
	background-size: contain;
	width: 7vw;
	height: 6vw;
	top: 50%;
	left: 6vw;
	transform: translateY(-50%);
}
.top .contact ul li:first-child .btn_w a {
}
.top .contact ul li:last-child .btn_w a:before {
	content: '';
	background: url(/img/icon_02.png) no-repeat;
	background-size: contain;
	width: 7vw;
	height: 5vw;
}
.top .contact ul li:first-child .btn_w a:after {
}

/* ttl */
.ttl {
	margin-bottom: 10%;
	padding-top: 84.3vw;
	position: relative;
	background-position: center top;
	z-index: 1;
}
.ttl .ttl_bg {
	display: block;
	padding-top: 35.02%;
	width: 100%;
	background: #0e207a;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	mix-blend-mode: multiply;
	z-index: -1;
}

.ttl .ttl_txt {
	display: flex;
	flex-flow: column;
	align-items: center;
	width: 100%;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: -1;
}
.ttl .ttl_txt span {
	display: block;
	margin-bottom: 1vw;
	font-size: 4vw;
	line-height: 1em;
	font-family: 'Anton', sans-serif;
	letter-spacing: 0.2em;
}
.ttl .ttl_txt h2 {
	line-height: 1em;
	font-size: 6.28vw;
}
.ttl .ttl_txt p {
	font-size: 22px;
}

.company {}
.company .ttl {
	background: url(/img/company_topimg.jpg) no-repeat center center;
	background-size: cover;
}
.company .sec_01 {
	padding-bottom: 10%;
}
.company .sec_01 figure {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
.company .sec_01 figure span {
	display: block;
	margin-bottom: 3.5%;
	width: 31.333%;
	height: 28vw;
	overflow: hidden;
	position: relative;
}
.company .sec_01 figure span:nth-child(2) ,
.company .sec_01 figure span:nth-child(5) {
	margin: 0 1% 3.5%;
}
.company .sec_01 figure span img {
	object-fit: contain;
	width: 43vw;
	object-position: center center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -39%);
}

.company .sec_02 {
	padding-bottom: 10%;
}
.company .sec_02 .inner {
}
.company .sec_02 dl {
}
.company .sec_02 dl dt {
	display: flex;
	flex-flow: column;
	align-items: center;
}
.company .sec_02 dl dt span {
	display: block;
	font-size: 3vw;
	color: #0e207a;
}
.company .sec_02 dl dt h3 {
	display: block;
	padding-bottom: 1em;
	font-size: 5vw;
	line-height: 1em;
}
.company .sec_02 dl dd {
}
.company .sec_02 dl dd ul {}
.company .sec_02 dl dd ul li {
	display: flex;
	padding: 1em 0.5em;
	border-top: 1px solid #4b4b4b;
}
.company .sec_02 dl dd ul li b {
	display: block;
	width: 40%;
	font-weight: 400;
}
.company .sec_02 dl dd ul li p {
	width: 60%;
	font-size: 3vw;
}

.company .sec_03 {
	height: 0;
	overflow: hidden;
	padding-top: 50vw;
	position: relative;
}
.company .sec_03 iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}


/* 追加 */


body.contact {
}
body.contact .ttl {
	margin: 0;
	background: url(/img/topimg_contact.jpg) no-repeat 34% center;
	background-size: cover;
}
body.contact .ttl .btn_w {
	margin-top: 20px;
}
body.contact .ttl .btn_w a:after {
	right: 2.2vw;
	width: 6vw;
	transform: translateY(-50%);
}
body.contact .sec01 {
	padding-top: 10%;
	background: #f5f5f5;
}
body.contact .sec01 .inner {
	margin: 0 auto;
	width: 90%;
	max-width: 1120px;
	position: relative;
}
body.contact .sec01 dl {
}
body.contact .sec01 dl dt {
	display: flex;
	flex-flow: column;
	align-items: center;
}
body.contact .sec01 dl dt span {
	margin-bottom: 0.5em;
	line-height: 1em;
	font-size: 4vw;
	font-family: 'Anton', sans-serif;
	color: #0e207a;
	letter-spacing: 0.1em;
}
body.contact .sec01 dl dt b {
	line-height: 1em;
	font-size: 5vw;
	font-weight: 400;
	letter-spacing: 0.1em;
}
body.contact .sec01 dl dd {
}
body.contact .sec01 dl dd ul {
	padding-bottom: 10%;
}
body.contact .sec01 dl dd ul li {
	margin-top: 5vw;
	border-left: 2px solid #0e207a;
	padding: 5% 5% 5% 12%;
	background: #fff;
}
body.contact .sec01 dl dd ul li b {
	display: block;
	padding-right: 50px;
	position: relative;
	cursor: pointer;
}
body.contact .sec01 dl dd ul li b:before {
	content: "";
	border-radius: 100em;
	width: 5vw;
	height: 5vw;
	background: #0e207a;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
body.contact .sec01 dl dd ul li b:after {
	content: "＋";
	margin-top: -1px;
	line-height: 1em;
	font-size: 3vw;
	color: #fff;
	position: absolute;
	top: 50%;
	right: 1vw;
	transform: translateY(-50%);
}
body.contact .sec01 dl dd ul li b.on:after {
	content: "－";
}
body.contact .sec01 dl dd ul li b i {
	line-height: 1.25em;
	font-size: 4vw;
	font-family: 'Anton', sans-serif;
	letter-spacing: 0.1em;
	position: absolute;
	top: 0;
	left: -7.2vw;
}
body.contact .sec01 dl dd ul li b span {
	display: inline-block;
	line-height: 1.4em;
	font-size: 3.6vw;
	font-weight: 700;
	color: #0e207a;
}
body.contact .sec01 dl dd ul li p {
	padding: 1em 0 0 0;
	text-align: justify;
	letter-spacing: 0;
}

body.contact .sec02 {
	padding: 15% 0 10%;
}
body.contact .sec02 .sttl {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
body.contact .sec02 .sttl span {
	display: block;
	font-size: 4vw;
	line-height: 1em;
	margin-bottom: 0.5em;
	color: #0e207a;
}
body.contact .sec02 .sttl h3 {
	font-size: 5vw;
	line-height: 1em;
	margin-bottom: 10%;
}
body.contact .sec02 dl {
	display: flex;
	flex-flow: column;
	margin: 0 auto;
}
body.contact .sec02 dl dt {
	display: flex;
	align-items: center;
	padding-bottom: 0.5em;
}
body.contact .sec02 dl dt b {
	font-size: 4vw;
	font-weight: 500;
}
body.contact .sec02 dl dt span {
	display: inline-block;
	margin-left: 1em;
	padding: 0.25em;
	line-height: 1em;
	font-size: 3vw;
	color: #fff;
	background: #969696;
}
body.contact .sec02 dl dt span.chk {
	background: #af2626;
}
body.contact .sec02 dl dd {
	margin-bottom: 5%;
}
body.contact .sec02 dl dd input[type="text"] ,
body.contact .sec02 dl dd input[type="email"] ,
body.contact .sec02 dl dd input[type="tel"] ,
body.contact .sec02 dl dd input[type="url"] ,
body.contact .sec02 dl dd textarea {
	border-radius: 4px;
	border: 1px solid #808080;
	padding: 0.2em 0.5em;
	width: 100%;
	line-height: 1.5em;
	font-size: 1.2em;
	font-family: 'Noto Sans JP', sans-serif;
}
body.contact .sec02 dl dd textarea {
	height: 200px;
}
body.contact .sec02 dl dd .radio-choice {
	display: block;
	padding: 0.5em 0;
}
body.contact .sec02 label:hover span.wpcf7-list-item-label {
	color: #0e207a;
}
body.contact .sec02 label input[type="radio"] ,
body.contact .sec02 label input[type="checkbox"] {
	display: none;
}
body.contact .sec02 span.wpcf7-list-item-label {
	font-weight: 500;
	color: #000;
	position: relative;
}
body.contact .sec02 dl dd span.wpcf7-list-item-label:before {
	content: "";
	background: #fff;
	border-radius: 100%;
	border: 1px solid #888888;
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	position: relative;
	top: 0.25em;
	margin-right: 5px;
	cursor: pointer;
	text-align: center;
	-webkit-transition: all 250ms ease;
	transition: all 250ms ease;
}
body.contact .sec02 dl dd label input[type="radio"]:checked + .wpcf7-list-item-label {
	color: #0e207a;
}
body.contact .sec02 dl dd label input[type="radio"]:checked + .wpcf7-list-item-label:before {
	background-color: #0e207a;
	box-shadow: inset 0 0 0 3px #fff;
}
body.contact .sec02 .sendbtn {
	text-align: center;
}
body.contact .sec02 .sendbtn input {
	margin: 0;
	border: 0;
	padding: 0;
	display: inline-block;
	padding: 1em 0;
	width: 80vw;
	font-size: 4.5vw;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.1em;
	color: #fff;
	background: linear-gradient(90deg, rgba(14,32,122,1) 0%, rgba(12,27,102,1) 100%);
	cursor: pointer;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
}
body.contact .sec02 .sendbtn span {
	position: relative;
}
body.contact .sec02 .sendbtn span:after {
	content: '';
	position: absolute;
	background: url(/img/arrow_02_sp.png) no-repeat center center;
	background-size: contain;
	width: 6vw;
	padding-top: 2vw;
	/* height: 1vw; */
	top: 50%;
	right: 3.8vw;
	transform: translateY(-50%);
}
body.contact .sec02 .sendbtn input:hover {
	opacity: .60;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-khtml-opacity: .60;
	-moz-opacity: .60;
}



body.contact.fin ,
body.contact.fin #wrapper {
	display: flex;
	flex-flow: column;
	height: 100vh;
	justify-content: space-between;
}
body.contact.fin p.txt {
	margin: 0 auto 10vw;
	max-width: 80vw;
	font-size: 5vw;
	line-height: 1.5em;
	text-align: center;
}
body.contact.fin .sec02 {
	padding: 0;
}

.contact .advice {
	margin: 0 auto;
}

.contact .outer {
	overflow: hidden;
	padding: 2vw;
	border: 2px solid #3d3d3d;
	background: #fff;
}
.contact .outer .box {
	overflow: auto;
	width: 100%;
	height: 110px;
	padding: 0 2vw;
	background: #fff;
	scrollbar-color: #919191 #fff;
	scrollbar-width: thin;
}
.contact .outer .box::-webkit-scrollbar {
    width: 5px;
}
.contact .outer .box::-webkit-scrollbar-track {
    background-color: #fff;
    border-radius: 100em;
}
.contact .outer .box::-webkit-scrollbar-thumb {
    background-color: #919191;
    border-radius: 100em;
}
.contact .outer .box span {
	display: block;
	padding: 10px 0;
	text-align: center;
}
.contact .outer .box p {}

.contact .agree {
	padding: 7.5% 0;
	text-align: center;
}
.contact .agree label {
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.contact .agree label input[type="checkbox"] {
	display: inline-block!important;
	width: 20px;
	height: 20px;
	vertical-align: bottom;
	margin-right: 10px;
}
.contact .agree label span {
	font-size: 3vw;
	line-height: 1.5em;
}