@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, 
footer, 
nav, 
section, 
aside, 
article {
    display: block;
}

/* !Reseting
---------------------------------------------------------- */
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%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
  border: none;
}

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

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

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
}

select,
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

#topbtn input[type=radio] {appearance: inherit !important;}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit]  {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
    display: block;
    min-height: 1%;
}

.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}

* html .clearfix {
    height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
    overflow-y: scroll;
    font-size: 62.5%;
}

/*** タブレット 768x ~ 1300px***/
@media screen and (min-width: 768px) and (max-width: 1200px) {
    html {
        font-size: 0.83vw;
    }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}

body {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
	letter-spacing: 0.08em;
    font-weight: normal;
    color: #0F1035;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.font-alata {
	font-family: YakuHanJP, "Alata", sans-serif;
	font-weight: 400;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
    color: inherit;
    text-decoration: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
    a {
        transition: all 0.5s;
    }
	
    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
    }

    a[href^="tel:"] {
        cursor: default;
        pointer-events:none;
    }
}

.is-hide {
    display: none;
}


/* !wrapper
---------------------------------------------------------- */
#wrapper {
	position: relative;
	z-index: 2;
	padding-top: 10.7rem;
	min-height: 100vh;
}
#wrapper:before {
	content: "";
	position: fixed;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background: url(../image/common/bg_wrap.png)no-repeat center;
	background-size: cover;
}

/* !header
---------------------------------------------------------- */
#header {
	display: flex;
	justify-content: space-between;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99;
	padding: 0 5rem;
	width: 100%;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
}

.header-logo {
	display: flex;
	align-items: center;
	height: 10.7rem;
}

.header-links {
	display: flex;
}
.header-links .cv-links {
	display: flex;
	align-items: center;
	gap: 0 2rem;
	/*width: 48.5rem;*/
}

.header-links .blk-st {}

.header-links .cv-links a {
	background-size: 2.1rem;
	background-position: right 1rem center;
	padding: 0 6rem;
}

.btn-menu {
	cursor: pointer;
	position: relative;
	z-index: 5;
	margin-left: 1.6rem;
	width: 7.2rem;
	background: url(../image/common/icon_menu.svg)no-repeat center;
}
.btn-menu.is-active {
	background-image: url(../image/common/icon_menu_close.svg);
}

#g-navi {
	transform: translateX(100%);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition-duration: 0.3s;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	padding: 9rem;
	height: 100vh;
	width: 100%;
	max-width: 46rem;
	background: #F8F8FF;
}
#g-navi.open {
	transform: translateX(0);
}
#g-navi .btnlink {
	text-align: center;
}
#g-navi .btnlink a + a {
	margin-top: 1.6rem;
}
#g-navi ul {
	margin-top: 4rem;
}
#g-navi li {
	margin-bottom: 4rem;
}
#g-navi li a {
	display: block;
	padding: 0.4rem 1rem 0.4rem 0;
	background-image: url(../image/common/Icon_link_arr.svg), linear-gradient(to right, #0F1035, #0F1035);
	background-position: right 0.6rem center, left bottom;
	background-repeat: no-repeat;
	background-size: auto, 0% 1px;
	transition: background-size 0.6s ease-out, background-position 0.6s ease-out; 
	border-bottom: none;
	letter-spacing: 0.1em;
	font-size: 2rem;
	font-weight: 700;
}

@media screen and (min-width: 960px) {
	.header-links .cv-links a:hover {
		background-position: right 0.6rem center;
	}
	#g-navi li a:hover {
		background-size: auto, 100% 1px;
		background-position: right 0 center, left bottom;
	}
}


/*
#g-navi li a {
	display: block;
	padding: 0.4rem 1rem 0.4rem 0;
	background: url(../image/common/Icon_link_arr.svg)no-repeat right 0.6rem center;
	border-bottom: 1px solid transparent;
	letter-spacing: 0.1em;
	font-size: 2rem;
	font-weight: 700;
}
*/

/*** hover ***/
/*
@media screen and (min-width: 960px) {
	.header-links .cv-links a:hover {
		background-position: right 0.6rem center;
	}
	#g-navi li a:hover {
		background-position: right center;
		border-color: #0F1035;
	}
}
*/


/* !footer
---------------------------------------------------------- */
.page-top {}

#footer {
	padding: 7.6rem 0 3.2rem;
	background: #212131;
	color: #fff;
}
.footer-inner {
	display: flex;
	justify-content: space-between;
}
.footer-inner.reverse {
	flex-direction: row-reverse;
}
.footer-inner + .footer-inner {
	margin-top: 5rem;
}
#footer .left {
	max-width: 25rem;
}
#footer .right {
	width: calc(100% - 30rem);
}

.footlogo {
	margin-bottom: 2.6rem;
	letter-spacing: 0.1em;
}
#footer .access {
	font-size: 1.4rem;
	font-weight: 500;
}
#footer .access .part {
	margin-bottom: 2rem;
}
.footlinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3.5rem 5rem;
}
.footlinks a {
	margin-bottom: 1.2rem;
}
.footlinks .level1 a {
	display: flex;
	align-items: center;
	gap: 0 2.8rem;
	font-size: 1.4rem;
	font-weight: 700;
}
.footlinks .level1 a:after {
	content: "";
	display: block;
	width: 0.8rem;
	height: 1.4rem;
	background: url(../image/common/Icon_link_arr_wh.svg) no-repeat center;
	background-size: 100%;
}
.footlinks .level2 a {
	display: block;
	font-size: 1.3rem;
	font-weight: 500;
}
.footlinks .btnlink .blk-st {
	background-color: #1A4183;
	border-color: #1A4183;
}
.footlinks2 {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2.4rem;
	letter-spacing: 0.1em;
	font-size: 1.4rem;
	font-weight: 500;
}
#footer .icon_site {
	padding-right: 1.6rem;
	background: url(../image/common/icon_site.svg)no-repeat right center;
	background-size: 1.2rem;
}
#copyright {
	letter-spacing: 0.1em;
	font-size: 1.3rem;
	padding-top: 1rem;
}

ul.sns-list {
	display: flex;
}

ul.sns-list li {
	margin-right: 1rem;
}

ul.sns-list li a:hover {opacity: 0.5;}

/*** hover ***/
@media screen and (min-width: 960px) {
	.footlinks a:hover,
	.footlinks2 a:hover {
		opacity: 0.7;
	}
}


/* !common
---------------------------------------------------------- */

/*** pc ***/
@media screen and (min-width: 768px) {
    .is-sp {
        display: none;
    }
}
/*** sp ***/
@media only screen and (max-width : 767px){
	.is-pc {
		display: none;
	}
}

#main-visual {
	overflow: hidden;
	position: relative;
	z-index: 9;
	padding: 9.5rem 0 3.2rem;
	background: #fff;
}
.main_circles {
	position: absolute;
	left: calc(50% - 38.3rem);
	bottom: -12.5rem;
	z-index: -1;
	width: 133rem;
	height: 142rem;
}
@media screen and (min-width: 1600px) {
	.main_circles {
		bottom: 7rem;
	}
}


.main_circles img {
	width: 100%;
}
.main_circles .circle {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.main_circles .circle:before {
	content: "";
	position: absolute;
	left: 0%;
	top: 0%;
	transition-timing-function: ease-in-out;
	width: 120%;
	height: 120%;
	background: #fff;
}
.main_circles .circle:nth-child(1) {
	z-index: 5;
}
.main_circles .circle:nth-child(2) {
	z-index: 4;
}
.main_circles .circle:nth-child(3) {
	z-index: 3;
}
.main_circles .circle:nth-child(4) {
	z-index: 2;
}
/*
.main_circles .circle:nth-child(1):before {
	transition-duration: 4s;
}
.main_circles .circle:nth-child(2):before {
	transition-delay: 1.5s;
	transition-duration: 4s;
}
.main_circles .circle:nth-child(3):before {
	transition-delay: 3s;
	transition-duration: 2s;
}
.main_circles .circle:nth-child(4):before {
	opacity: 0;
	transition-delay: 4s;
	transition-duration: 1s;
}
*/

.main_circles .circle:nth-child(1):before {
	transition-duration: 2s;
}
.main_circles .circle:nth-child(2):before {
	transition-delay: 1.5s;
	transition-duration: 4s;
}
.main_circles .circle:nth-child(3):before {
	transition-delay: 3s;
	transition-duration: 2s;
}
.main_circles .circle:nth-child(4):before {
	opacity: 0;
	transition-delay: 4s;
	transition-duration: 1s;
}

.main_circles .circle.animated:before {
	transform: rotate(-180deg);
	transform-origin: 100% 0;
}
.main_circles .circle:nth-child(4).animated:before {
	opacity: 1;
}

#main-visual .head {
	margin: 0 auto 4.2rem;
	padding: 0 5rem;
	max-width: 126.6rem;
}
.js-image-scroll {
	overflow: hidden;
	display: flex;
}
.js-image-scroll ul {
	display: flex;
}
.js-image-scroll ul:nth-child(odd) {
	animation-name: image-loop-left1;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.js-image-scroll ul:nth-child(even) {
    animation-name: image-loop-left2;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
@keyframes image-loop-left1 {
	0% {
	    transform: translateX(100%);
	}
	100% {
	    transform: translateX(-100%);
	}
}
@keyframes image-loop-left2 {
	0% {
	    transform: translateX(0);
	}
	100% {
	    transform: translateX(-200%);
	}
}
.main-swiper {
	height: calc(100vh - 42rem);
}
.main-swiper li {
	overflow: hidden;
	padding-right: 3.2rem;
	width: auto;
}
.main-swiper li img {
	max-width: unset;
	width: auto;
	height: 100%;
	border-radius: 0.5rem;
}
.main-swiper li.half {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
} 
.main-swiper li.half img {
	height: calc(50% - 1.6rem);
}

#teaser .teaser-sonpage {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 24.6rem;
	background: url(../image/common/teaser.jpg)no-repeat center;
	background-size: cover;
}
.teaser-sonpage .head-teaser {
	text-align: center;
}
#teaser .teaser-fatherpage {
	padding: 3.2rem 0;
	background: url(../image/common/teaser2.png)no-repeat -12rem 90% #fff;
}
.teaser-fatherpage .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 123.4rem;
}
.teaser-fatherpage .banner {
	overflow: hidden;
	width: calc(70% - 2.4rem);
	border-radius: 0.5rem;
}
.teaser-fatherpage .head-teaser {
	width: 30%;
}
.head-teaser {
	font-size: 3.8rem;
	font-weight: 700;
}

#breadcrumb {
	padding: 1rem 3.2rem;
	background: #fff;
	font-size: 1.4rem;
}
#breadcrumb ul {
	display: flex;
	align-items: center;
}
#breadcrumb li + li:before {
	content: ">";
	margin: 0 0.5rem;
}

.inner,
.inner-small,
.inner-small2 {
	padding: 0 5rem;
	margin: 0 auto;
	max-width: 118.8rem;
}
.inner-small {
	max-width: 100rem;
}
.inner-small2 {
	max-width: 104rem;
}

.head-large {
	margin-bottom: 3.6rem;
	line-height: 1.2;
}
.head-large .eng {
	color: #1A4183;
	font-size: 2.5rem;
}
.head-large .jap {
	font-size: 4.5rem;
	font-weight: 700;
}
.head-large.small .eng {
	font-size: 1.3rem;
}
.head-large.small .jap {
	font-size: 2.1rem;
}

.head-middle {
	margin-bottom: 3rem;
	padding-left: 1.6rem;
	border-left: 0.8rem solid #1A4183;
	font-size: 2rem;
	font-weight: 700;
}
.head-middle:after {
	content: "";
	display: block;
	margin-top: 0.6rem;
	border-bottom: 1px solid;
}

.bg-lightgray {
	background-color: #F8F8FF;
}
.bg-lightgreen {
	background-color: #F4FBFB !important;
}
.bg-white {
	background-color: #fff;
}

.fwb {
	font-weight: 700;
}
.ta-center {
	text-align: center;
}

.color-bk-bl {
	color: #002F80;
}
.color-red {
	color: #FF0000;
}

.tab-box {
	display: none;
}
.tab-box.is-show {
	display: block;
}

.js-toggle-btn {
	cursor: pointer;
}
.js-toggle-box {
	display: none;
}

.btnlink a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0 0.8rem;
	padding: 1rem;
	min-height: 6rem;
	width: 100%;
	/*max-width: 32.5rem;*/
    max-width: 41.5rem;
	background: url(../image/common/Icon_link_circle.svg)no-repeat right 2rem center #fff;
	background-size: 2.7rem;
	border: 0.2rem solid #0F1035;
	border-radius: 0.5rem;
	text-align: center;
	line-height: 1.2667;
	font-weight: 700;
}
.btnlink a.column {
	flex-direction: column;
	padding: 0 4rem;
}
.btnlink .small {
	font-size: 1.5rem;
}
.btnlink.arrow a {
	background-image: url(../image/common/Icon_link_arr.svg);
	background-size: 1rem;
}
.btnlink .text-wrap {
  display: flex;
}
.btnlink .letter {
	overflow: hidden;
	color: transparent;
	text-shadow: 0 -1.5em 0 #0F1035, 0 0 0 #0F1035;
	transition: text-shadow 0.2s;
	transition-delay: calc(var(--index) * 0.05s);
}
.btnlink .sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border-width: 0;
	white-space: nowrap;
}
.btnlink .blk-st {
	background-image: url(../image/common/Icon_link_circle_wh.svg);
	background-color: #0F1035;
	color: #fff;
}

.btnlink .kk-btn {
	background-image: url(../image/common/Icon_link_circle_wh.svg);
	background-color: #1A4183;
	border: 0.2rem solid #1A4183 !important;
	color: #fff;
}




.btnlink .blk-st .letter {
	text-shadow: 0 -1.5em 0 #fff, 0 0 0 #fff;
}
.btnlink.arrow .blk-st {
	background-image: url(../image/common/Icon_link_arr_wh.svg);
}
.btnlink .blk-st.file:before {
	content: "";
	margin-right: 0.6rem;
	width: 1.8rem;
	height: 1.8rem;
	background: url(../image/common/icon_file_wh.svg)no-repeat center;
	background-size: 100%;
}
.btnlink.bottom-st {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	text-align: center;
}
.btnlink img {
	transition-duration: 0.3s;
}

.txt-fadein {
	overflow: hidden;
}
.txt-fadein.animated span {
	display: inline-block;
	transform: translateY(100%);
	animation: txtfadein 1s forwards;
}
.txt-fadein.animated span:nth-of-type(2) {
	animation-delay: 0.05s;
}
.txt-fadein.animated span:nth-of-type(3) {
	animation-delay: 0.1s;
}
.txt-fadein.animated span:nth-of-type(4) {
	animation-delay: 0.15s;
}
.txt-fadein.animated span:nth-of-type(5) {
	animation-delay: 0.2s;
}
.txt-fadein.animated span:nth-of-type(6) {
	animation-delay: 0.25s;
}
.txt-fadein.animated span:nth-of-type(7) {
	animation-delay: 0.3s;
}
.txt-fadein.animated span:nth-of-type(8) {
	animation-delay: 0.35s;
}
.txt-fadein.animated span:nth-of-type(9) {
	animation-delay: 0.4s;
}
.txt-fadein.animated span:nth-of-type(10) {
	animation-delay: 0.45s;
}
.txt-fadein.animated span:nth-of-type(11) {
	animation-delay: 0.5s;
}
.txt-fadein.animated span:nth-of-type(12) {
	animation-delay: 0.55s;
}
.txt-fadein.animated span:nth-of-type(13) {
	animation-delay: 0.6s;
}
.txt-fadein.animated span:nth-of-type(14) {
	animation-delay: 0.65s;
}
.txt-fadein.animated span:nth-of-type(15) {
	animation-delay: 0.7s;
}
.txt-fadein.animated span:nth-of-type(16) {
	animation-delay: 0.75s;
}
.txt-fadein.animated span:nth-of-type(17) {
	animation-delay: 0.8s;
}
@keyframes txtfadein {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}

.title-wrap {
	padding: 4.8rem 0 9rem;
	text-align: center;
}
.title-wrap .head {
	margin-bottom: 3rem;
	font-size: 4rem;
	font-weight: 800;
}
.title-wrap .sub {
	margin-bottom: 1rem;
	line-height: 2;
	letter-spacing: 0.1rem;
	font-size: 2rem;
	font-weight: 800;
}
.title-wrap .txt-sub {
	line-height: 2.222;
	letter-spacing: 0;
	font-size: 1.8rem;
	font-weight: 600;
}
/*
.title-wrap .txt-sub p + p {
	margin-top: 3.2rem;
}
*/
.title-wrap .txt-sub p {
	margin-top: 3.2rem;
}
.title-wrap .btnlink {
	margin-top: 5rem;
}

.swiper-button-prev:after, 
.swiper-button-next:after {
	display: none;
}
.swiper-button-prev.swiper-button-disabled, 
.swiper-button-next.swiper-button-disabled {
	opacity: 0;
}

.service-function-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition-duration: 0.3s;
	padding: 2rem;
	margin: 10rem auto 0;
	max-width: 90rem;
	background: #F2EFE7;
	border-radius: 0.5rem;
}
.service-function-box .info {
	width: 50%;
}
.service-function-box .img {
	position: relative;
	width: 47%;
}
.service-function-box .img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition-duration: 0.5s;
}
.service-function-box .img .hover {
	position: absolute;
	left: 0;
	top: 0;
}
.service-function-box .head {
	line-height: 1.6875;
	letter-spacing: 0.1em;
	font-weight: 500;
}
.service-function-box .chat_link {
	line-height: 1.2;
}
.service-function-box .chat_link a {
	display: flex;
	align-items: center;
	gap: 0 2.4rem;
	letter-spacing: 0.043em;
	text-transform: uppercase;
	font-size: 5.2rem;
}
.service-function-box .chat_link a:after {
	content: "";
	display: block;
	width: 3.4rem;
	height: 3.4rem;
	background: url(../image/common/Icon_link_circle.svg) no-repeat center;
	background-size: 100%;
}
.service-function-box .talk {
	font-weight: 500;
	font-size: 1.4rem;
}
.service-function-box .talk .eng {
	margin-right: 1rem;
	text-transform: uppercase;
	font-size: 4.6rem;
	font-weight: 400;
}
.service-function-box.crosstalk {
	background: #0F1035;
	color: #fff;
}
.service-function-box.crosstalk .img {
	width: 52%;
}
.service-function-box.crosstalk .info {
	width: 42.5%;
}
.service-function-box.crosstalk .btnlink {
	display: flex;
	gap: 0 1rem;
}
.service-function-box.crosstalk .btnlink a {
	justify-content: flex-start;
	padding: 0 1.8rem;
	background-position: right 1.5rem center;
	background-size: 2rem;
	text-align: left;
	font-size: 1.4rem;
}
span.is-sp {display: none !important;}
.service-function-box.crosstalk .btnlink a.column {
	justify-content: center;
	align-items: flex-start;
}

.service-function-box.crosstalk .btnlink a:hover {
	background-color: #86B1D0 !important;
}

.service-function-box.crosstalk a:hover .text-wrap .letter {
	text-shadow: 0 0 0 #0F1035, 0 1.5em 0 #0F1035;
}

.info .btnlink a:hover {
	color: #0F1035 !important;
}

#diagnostic #wrapper {
	padding-top: 0;
}
.diagnostic-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5rem;
	min-height: 100vh;
	text-align: center;
}
.diagnostic-wrap .title-wrap {
	padding: 0;
}
.diagnostic-wrap .btnlink .start {
	padding: 4rem;
	max-width: 38rem;
	border-width: 3px;
	font-weight: 500;
	font-size: 1.3rem;
}
.diagnostic-wrap .btnlink .start .big {
	font-size: 3.6rem;
	font-weight: 400;
}
.diagnostic-wrap .skip {
	margin-top: 2.4rem;
}
.diagnostic-wrap .skip a {
	text-decoration: underline;
	font-weight: 500;
}

.diagnostic-steps {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2.8rem 6rem;
	margin: 0 auto 2.8rem;
	max-width: 60rem;
}
.diagnostic-steps li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 5.3rem;
	height: 5.3rem;
	background: #EAEAEA;
	border-radius: 50%;
	letter-spacing: -0.02em;
	color: #fff;
	font-size: 2.2rem;
}
.diagnostic-steps li.on {
	background: #0F1035;
}

.diagnostic-steps li:not(.noline):before {
	content: "";
	position: absolute;
	right: 100%;
	top: 50%;
	z-index: -1;
	width: 6rem;
	border-top: 2px solid #EAEAEA;
}

.diagnostic-steps li.on:before {border-top: 2px solid #0F1035;}

.question-step-box {
	position: relative;
	padding: 9rem 5rem 7rem;
	margin: 0 auto;
	width: 100vw;
	max-width: 73.3rem;
	background: #F8F8FF;
	border-radius: 0.5rem;
	border: 1.3rem solid #0F1035;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
	line-height: ;
	font-weight: 500;
}
.question-step-box .step {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
	padding: 0 3rem;
	min-width: 9rem;
	height: 8rem;
	background: #0F1035;
	border-bottom-right-radius: 0.5rem;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: #fff;
	font-size: 3.4rem;
}
.question-step-box h3 {
	margin-bottom: 1rem;
	font-size: 2.5rem;
	font-weight: 700;
}
.question-step-box .btnlink {
	display: flex;
	justify-content: center;
	gap: 0 1.8rem;
	margin-top: 2rem;
}

.question-step-box p.small {
	font-size: 1.5rem;
	font-weight: 700;
}
.question-step-box p.small.mb1 {margin-bottom: 1rem;}

.question-step-box .btnlink a {
	min-height: 8.2rem;
	border-width: 3px;
	font-size: 2.6rem;
}
.question-step-box .btnlink a:hover {color: #fff;}

.anchor-area {
	position: relative;
}
.anchor-area .anchor {
	position: absolute;
	top: -10.7rem;
}


/*** hover ***/
@media screen and (min-width: 960px) {
	.btnlink a:hover {
		background-image: url(../image/common/Icon_link_circle_wh.svg);
		background-position: right 1.6rem center;
		background-color: #0F1035;
		color: #c00;
	}
	
	.btnlink a:hover .text-wrap .letter {
		text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
	}
	.btnlink.arrow a:hover {
		background-image: url(../image/common/Icon_link_arr_wh.svg);
	}
	.btnlink .blk-st:hover {
		background-image: url(../image/common/Icon_link_circle.svg);
		background-color: #7AB2D3;
		border-color: #7AB2D3;
		color: #0F1035;
	}
	
	.btnlink a.blk-st:hover .text-wrap .letter {
		text-shadow: 0 0 0 #0F1035, 0 1.5em 0 #0F1035;
	}
	.btnlink.arrow .blk-st:hover {
		background-image: url(../image/common/Icon_link_arr.svg);
	}
	.btnlink .blk-st.file:hover:before {
		background-image: url(../image/common/icon_file.svg);
	}
	
	.service-function-box.crosstalk:hover {
		opacity: 1;
	}
	.service-function-box.crosstalk .btnlink a:hover {
		background: url(../image/common/Icon_link_circle.svg) no-repeat #0F1035;
		background-position: right 1.2rem center;
		background-size: 2rem;
	}
	.service-function-box:hover {
		opacity: 0.7;
	}
	.service-function-box:hover .chat_link a {
		gap: 0 2.8rem;
	}
	
	.diagnostic-wrap .skip a:hover {
		text-decoration: none;
	}
		
	.question-step-box .btnlink a:hover img {
		transform: scale(1.2, 1.2);
	}
	
	.btnlink .kk-btn:hover {
			background-image: url(../image/common/Icon_link_circle.svg);
			background-color: #fff !important;
			border-color: #1A4183 !important;
			color: #c00 !important;
	}
	
	.kk-btn {border: 0.2rem solid #1A4183 !important;}
	.kk-btn:hover .text-wrap .letter {
		text-shadow: 0 0 0 #1A4183, 0 1.5em 0 #1A4183 !important;
	}
	
}


/* !page
---------------------------------------------------------- */
.top-works {
	padding: 3.5rem 0 0;
}
.top-works .title {
	display: flex;
	align-items: flex-start;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 4rem;
}
.top-works .title .btnlink a {
	min-width: 32.5rem;
}
.works-display {
	position: relative;
}
.works-display ul {
	/*display: flex;*/
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
}
.works-display li {
	background: no-repeat center;
	background-size: cover;
	background-position: top;
}
.works-display .bg-pic01 {
	background-image: url(../image/top/img_work01.jpg);
}
.works-display .bg-pic02 {
	background-image: url(../image/top/img_work02.jpg);
}
.works-display .bg-pic03 {
	background-image: url(../image/top/img_work03.jpg);
}
.works-display li .pic-ban {
	opacity: 0;
	visibility: hidden;
	transition-duration: 0.5s;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.works-display li .pic-ban img {
	object-fit: cover;
	object-position: center top;
	width: 100%;
	height: 100%;
}
.works-display li .pic-ban:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(60,55,55,0.5);
}
.works-display li .info {
	display: flex;
	align-items: flex-end;
	height: 45rem;
	background: rgba(60,55,55,0.5);
	line-height: 1.625;
	color: #fff;
	font-weight: 500;
}
@media screen and (min-width: 1600px) {
	.works-display li .info {
		height: 60rem;
	}
}

.works-display li .con {
	position: relative;
	z-index: 2;
	padding: 9rem 7.8rem;
	background: url(../image/common/Icon_link_circle_wh.svg)no-repeat right 2rem bottom 2rem;
	background-size: 3.4rem;
}
.works-display li .tit {
	margin-bottom: 1.5rem;
	letter-spacing: 0.05em;
	font-size: 1.8rem;
	font-weight: 700;
}
.works-display li.on .pic-ban {
	visibility: visible;
	opacity: 1;
	z-index: 3;
}
.works-display li.on .con {
	z-index: 3;
}

.top-interview {
	padding: 8rem 0 5.5rem;
}
.top-interview .inner {
	max-width: 100rem;
}
.top-interview .display {
	display: flex;
	justify-content: space-between;
}
.top-interview .display .info {
	width: calc(36% + 0.1rem);
	line-height: 1.6875;
	letter-spacing: 0;
	font-weight: 500;
}
.top-interview .display .btnlink {
	margin-top: 3rem;
}
.interview-cards-swiper {
	position: relative;
	width: 45%;
}
.swiper-button-prev, 
.swiper-button-next {
	width: 5.6rem;
	height: 5.6rem;
	background: url(../image/common/icon_slide.svg)no-repeat center;
	background-size: 100%;
}
.swiper-button-prev {
	transform: scaleX(-1);
}
.interview-cards-swiper .swiper-button-prev {
	left: 0;
}
.interview-cards-swiper .swiper-button-next {
	right: 0;
}
.interview-cards-swiper .img {
	overflow: hidden;
	position: relative;
	margin: auto;
	padding: 1.1rem;
	width: 34rem;
	height: 44rem;
	border-radius: 0.5rem;
}
.interview-cards-swiper .swiper-slide-active .img {
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
}
.interview-cards-swiper .img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.interview-cards-swiper .img .introd {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	padding: 1rem;
	min-width: 60%;
	background: #fff;
	border-top-right-radius: 0.5rem;
	font-size: 1.4rem;
	font-weight: 500;
}
.interview-cards-swiper .img .position {
	font-size: 1.8rem;
	font-weight: 700;
}
.interview-cards-swiper .current2 .img {
	transform: rotate(5deg);
}
.interview-cards-swiper .current3 .img {
	transform: rotate(-9deg);
}

.top-culturerecruit {
	padding: 6rem 0 8rem;
}
.top-culturerecruit ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
}
.top-culturerecruit li.col2 {
	width: calc(50% - 0.8rem);
}
.top-culturerecruit li.col3 {
	width: calc(100%/3 - 3.2rem/3);
}
.top-culturerecruit li {
	overflow: hidden;
	background: #DCF2F1;
	border-radius: 0.5rem;
}
.top-culturerecruit li:nth-child(2) {
	background: #DDE6ED;
}
.top-culturerecruit li:nth-child(3) {
	background: #DBEBE3;
}
.top-culturerecruit li:nth-child(4) {
	background: #C6DDE8;
}
.top-culturerecruit li:nth-child(5) {
	background: #F2EFE7;
}
.top-culturerecruit li .info {
	transition-duration: 0.3s;
	padding: 2rem 2rem 5rem;
	background: url(../image/common/Icon_link_circle.svg) no-repeat right 1.6rem bottom 1.6rem;
	background-size: 3.4rem;
}
.top-culturerecruit li.col2 .info {
	min-height: 20rem;
}
.top-culturerecruit li .step {
	display: inline-block;
	margin-bottom: 2rem;
	line-height: 1.2;
	-webkit-text-stroke: 0.5px #0F1035;
	color: transparent;
	font-size: 2.6rem;
}
.top-culturerecruit li .step:after {
	content: "";
	display: block;
	margin: 0 auto;
	width: 2rem;
	border-top: 2px solid #1A4183;
}
.top-culturerecruit li .head .eng {
	font-size: 1.4rem;
}
.top-culturerecruit li .head .jap {
	display: inline-block;
	font-size: 2.1rem;
	font-weight: 600;
}

.top-culturerecruit li .img {
	overflow: hidden;
}
.top-culturerecruit li .img img {
	object-fit: cover;
	transition-duration: 1s;
	height: 100%;
	width: 100%;
}
.top-culturerecruit a .head .jap span {
	transition: background-size 0.3s ease-out;
	background: linear-gradient(0deg, #0F1035 2px, transparent 1px);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 0% 100%;
}

@media screen and (min-width: 960px) {
	.top-culturerecruit a:hover .info {
		background-position: right 1.2rem bottom 1.6rem;
	}
	.top-culturerecruit a:hover .img img {
		transform: scale(1.1, 1.1);
	}
	.top-culturerecruit a:hover .head .jap span {
		background-size: 100% 100%;
	}
}
/*
.top-culturerecruit li .head .jap span {
	transition-duration: 0.3s;
}
*/
/*** hover ***/
/*
@media screen and (min-width: 960px) {
	.top-culturerecruit a:hover .info {
		background-position: right 1.2rem bottom 1.6rem;
	}
	.top-culturerecruit a:hover .head .jap span {
		background: linear-gradient(0deg, #0F1035 1px, transparent 1px);
	}
	.top-culturerecruit a:hover .img img {
		transform: scale(1.1, 1.1);
	}
}
*/

/* recruit */


.recruitment-saler {
	padding: 10rem 0 8rem;
	background: #fff;
}
.recruitment-saler .display {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.recruitment-saler .display .img {
	width: calc(47% - 0.2rem);
}
.recruitment-saler .display .img img {
	border-radius: 0.5rem;
}
.recruitment-saler .display .info {
	width: calc(53% - 9rem);
	line-height: 1.71;
	font-size: 1.4rem;
}
.recruitment-saler .display .head {
	margin-bottom: 2.8rem;
	line-height: 1.85;
	font-size: 2rem;
	font-weight: 700;
}

.recruitment-detail-wrap {
	padding: 4.8rem 0;
}
.recruitment-part + .recruitment-part {
	margin-top: 10rem;
}
.recruitment-table table {
	width: 100%;
}
.recruitment-table tr {
	border-bottom: 1px solid #CECECE;
}
.recruitment-table th {
	padding: 3rem 0;
	width: 22.8rem;
	line-height: 1.75;
	text-align: left;
	font-weight: 700;
}
.recruitment-table td {
	padding: 3rem 0;
	line-height: 1.75;
	color: #5D5D6F;
	font-weight: 500;
}
.recruitment-personality ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 7.5rem;
}
.recruitment-personality li {
	position: relative;
	padding-top: 22.222%;
	width: 28%;
	max-width: 20rem;
	background: #fff;
	border-radius: 50%;
	box-shadow: 4px 3px 0 #0F1035;
}
.recruitment-personality li:before {
	content: "";
	pointer-events: none;
	clip-path: polygon(0% 0, 4rem 4rem, 5.4rem 3rem, 4rem 0, 100% 0%, 100% 100%, 0% 100%);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 3px solid #0F1035;
	border-radius: 50%;
}
.recruitment-personality .tit {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	font-size: 1.9rem;
	font-weight: 600;
}

.recruitment-detail-wrap .btnlink {
	margin-top: 12rem;
}

/* about */
.about-corporation-data {
	padding: 11.5rem 0 9.5rem;
}
.about-corporation-data ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2.7rem;
}
.about-corporation-data li {
	position: relative;
	padding: 3rem 1.6rem;
	width: calc(100%/3 - 1.8rem);
	border-radius: 0.5rem;
	box-shadow: 0.2rem 0.3rem 0 #0F1035;
}

.about-corporation-data li:nth-child(2),
.about-corporation-data li:nth-child(6),
.about-corporation-data li:nth-child(8),
.about-corporation-data li:nth-child(12){background: #fff !important;}


.about-corporation-data li.col2 {
	width: calc(100%/3*2 - 0.9rem);
}
.about-corporation-data li:before {
	content: "";
	clip-path: polygon(
		0% 0%, 
		calc(100% - 3.1rem) 0%, 
		calc(100% - 3.1rem) 1rem, 
		calc(100% - 2rem) 1rem, 
		calc(100% - 2rem) 0%,
		100% 0,
		100% 100%, 
		0% 100%,
		0 calc(100% - 2rem),
		1rem calc(100% - 2rem),
		1rem calc(100% - 3.1rem),
		0 calc(100% - 3.1rem));
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0.3rem solid #0F1035;
	border-radius: 0.5rem;
}
.about-corporation-data .tit {
	margin-bottom: 1rem;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.about-corporation-data .data {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 0 0.4rem;
	line-height: 1;
}
.about-corporation-data .num {
	display: block;
	position: relative;
	z-index: 2;
	margin-right: 1.2rem;
	letter-spacing: -0.08em;
	font-size: 10.4rem;
}
.about-corporation-data .num.big {
	font-size: 13.9rem;
}

.about-corporation-data .num.small {
	font-size: 9rem;
}

.about-corporation-data .num:after {
	content: attr(txt-data);
	position: absolute;
	left: 0.4rem;
	top: 0.3rem;
	z-index: -1;
	-webkit-text-stroke: 1px #0F1035;
	color: transparent;
}
.about-corporation-data .unit {
	display: flex;
	margin-bottom: 0.6rem;
	font-size: 3.8rem;
	font-weight: 800;
}
.about-corporation-data .unit .than {
	font-size: 1.9rem;
}
.about-corporation-data .note {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 0.4rem;
	margin-top: 1.6rem;
	line-height: 1.583;
	font-size: 1.2rem;
	font-weight: 600;
}
.about-corporation-data li .num.small {
	font-size: 9.1rem;
}
.about-corporation-data li .unit.small {
	font-size: 2.9rem;
}

.about-corporation-data li.mf-ratio .unit.small {
	font-size: 1.4rem;
}

.about-corporation-data li .unit.small .than {
	font-size: 1.5rem;
}
.about-corporation-data li.thanks {
	padding: 3.6rem 18rem 3.6rem 5rem;
	background: url(../image/about/img_tobacco.svg)no-repeat right 1.4rem bottom #fff;
	background-size: 19rem;
}
.about-corporation-data li.bg_02 {
	padding: 3.6rem 18rem 3.6rem 5rem;
	background: url(../image/about/img_bg02.svg)no-repeat right 1.4rem bottom #fff;
	background-size: 21rem;
}

.about-corporation-data li.refresh {
	background: url(../image/about/img_refresh.svg)no-repeat right 1rem bottom 1rem #fff;
	background-size: 3rem;
}



.about-corporation-data li.thanks .tit {
	text-align: center;
}
.about-corporation-data li.thanks .data {
	justify-content: center;
}
.about-corporation-data li.thanks .num {
	font-size: 12.6rem;
}
.about-corporation-data li.thanks .unit {
	font-size: 4.2rem;
}
.about-corporation-data li.thanks .unit .than {
	font-size: 4rem;
}
.about-corporation-data li.mf-ratio {
	padding: 3rem;
	background: url(../image/about/img_thanks2.svg)no-repeat right 1.5rem bottom #F4FBFB;
	background-size: 16.6rem;
}
.about-corporation-data .mf-ratio {
}
.about-corporation-data .mf-ratio .ratio {
	display: flex;
	gap: 0;
	line-height: 1.2;
	font-weight: 600;
}
.about-corporation-data .mf-ratio .item {
	padding: 8rem 0 0 4rem;
	min-height: 14rem;
	background: no-repeat left bottom;
	background-size: auto 9rem;
}
.about-corporation-data .mf-ratio .male {
	background-image: url(../image/about/img_man.svg);
}
.about-corporation-data .mf-ratio .female {
	background-image: url(../image/about/img_woman.svg);
}
.about-corporation-data .mf-ratio .num:after {
    content: attr(txt-data);
    position: absolute;
    left: 0.15rem;
    top: 0.15rem;
    z-index: -1;
    -webkit-text-stroke: 1px #0F1035;
    color: transparent;
}

.about-corporation-data .mf-ratio .num {
	font-size: 4rem;
}
.about-corporation-data li.acquisition-rate {
	padding: 3.8rem 1.6rem 4.2rem;
	background: url(../image/about/icon_zzz.svg)no-repeat right 1rem bottom 0.6rem #F4FBFB;
	background-size: 5.8rem;
}
.about-corporation-data li.acquisition-rate .num {
	font-size: 11.5rem;
}

.about-company {
	padding: 11.5rem 0 4.8rem;
	background: #fff;
}
.about-company-message .display {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.about-company-message .display .img {
	width: calc(43% + 0.2rem);
}
.about-company-message .display .img img {
	border-radius: 0.5rem;
}
.about-company-message .display .info {
	width: calc(54% - 0.3rem);
}
.about-company-message .display .head {
	margin-bottom: 1.6rem;
	line-height: 1.74;
	font-size: 2.3rem;
	font-weight: 700;
}
.about-company-message .display .txt {
	line-height: 2.25;
	font-weight: 500;
}
.about-company-message .display .txt +  .txt  {margin-top: 1rem;}

.about-company-message .display .end-sign {
	margin-top: 3.6rem;
	text-align: right;
	font-weight: 500;
}
.about-company-message .end-sign .name {
	margin-left: 0.8rem;
	font-size: 2.3rem;
	font-weight: 700;
}

.about-company-introduction {
	padding-top: 12rem;
}
.about-company-introduction table {
	width: 100%;
}
.about-company-introduction th {
	padding: 3rem 1rem;
	width: 22.6rem;
	border-bottom: 1px solid #CECECE;
	text-align: left;
	line-height: 1.75;
	font-weight: 700;
}
.about-company-introduction td {
	padding: 3rem 0;
	border-bottom: 1px solid #CECECE;
	line-height: 1.75;
	color: #5D5D6F;
	font-weight: 500;
}

.about-company-history {
	padding-top: 13.5rem;
}
.about-company-history ul {
	position: relative;
	padding-bottom: 2.4rem;
}
.about-company-history ul:before {
	content: "";
	position: absolute;
	left: 25.8rem;
	top: 0;
	bottom: 0;
	border-left: 3px solid #0F1035;
}
.about-company-history li {
	display: flex;
	position: relative;
	margin-bottom: 3.8rem;
	line-height: 1.5625;
}
.about-company-history li:before {
	content: "";
	position: absolute;
	left: 24.7rem;
	top: 0;
	width: 2.4rem;
	height: 2.4rem;
	background: #fff;
	border-radius: 50%;
	border: 0.6rem solid ;
}

.about-company-history li a {
	color: #c00;
	text-decoration: underline;
}
.about-company-history li a:hover {opacity: 0.5;}

.about-company-history .th {
	padding-left: 6rem;
	width: 25.8rem;
	font-size: 2rem;
	font-weight: 700;
}
.about-company-history .td {
	padding-left: 9rem;
	width: calc(100% - 25.8rem);
	font-weight: 600;
}

.about-corporation-data ul .ttl_01 {
	text-align: center;
	font-size: 2.9rem;
	font-weight: bold;
	color: #0F1035;
	padding-top: 3rem;
	margin-bottom: 4rem;
}
.about-corporation-data .img_time {text-align: center;}
.txt-cn {text-align: center !important;}
.about-corporation-data .bingo_txt {padding: 1.5rem 0;}



/* works */
.work-organization {
	padding: 12rem 0;
	background: #fff;
}
.work-organization .note {
	margin-top: 2rem;
	line-height: 2;
	font-weight: 500;
}

.work-wrap {
	padding: 0 0 5rem;
	background: #fff;
	line-height: 2;
	font-weight: 500;
}
.work-tabs {
	display: flex;
	position: relative;
	margin-bottom: 6rem;
}
.work-tabs:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0.8rem;
	background: #B5B5B5;
	border-radius: 1rem;
}
.work-tabs li {
	width: 100%;
	text-align: center;
}
.work-tabs li a {
	display: block;
	position: relative;
	z-index: 2;
	padding: 0 2.4rem 2rem;
	height: 100%;
	text-align: center;
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
	color: #7D7D86;
	font-size: 2rem;
	font-weight: 700;
}
.work-tabs li a.is-active {
	color: #0F1035;
}
.work-tabs li a.is-active:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0.8rem;
	background: #1A4183;
	border-radius: 1rem;
}
.work-anchors {
	display: flex;
	justify-content: center;
	margin-bottom: 3rem;
}
.work-anchors li {
	text-align: center;
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
}
.work-anchors li + li {
	border-left: 1px solid #707070;
}
.work-anchors li a {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 100%;
	padding: 0 2rem 3.8rem;
	background: url(../image/common/icon_down.svg)no-repeat center bottom 0.8rem;
	background-size: 2rem;
	line-height: 1.2778;
	font-size: 1.8rem;
	font-weight: 700;
}

.work-sales {
	padding: 8rem 0;
}
.work-sales .display {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.work-sales .display .img {
	width: calc(50% + 1rem);
}
.work-sales .display .img img {
	border-radius: 0.5rem;
}
.work-sales .display .info {
	width: calc(40% + 0.8rem);
}
.work-sales .display .tit {
	margin-bottom: 1rem;
	font-weight: 700;
	font-size: 2.3rem;
}
.work-feature {
	padding: 4rem 0 0;
}
.work-feature ul {
	display: flex;
	justify-content: center;
	gap: 2rem 8rem;
	margin-top: 4.8rem;
}
.work-feature li {
	position: relative;
	padding-top: 24.111%;
	width: 30%;
	max-width: 21.7rem;
	background: #EDF8F8;
	border-radius: 50%;
	box-shadow: 0.4rem 0.3rem 0 #0F1035;
	line-height: 1.47;
}
.work-feature li:before {
	content: "";
	clip-path: polygon(0% 0, 4rem 4rem, 5.4rem 3rem, 4rem 0, 100% 0%, 100% 100%, 0% 100%);
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 3px solid;
	border-radius: 50%;
}
.work-feature li .step {
	position: absolute;
	left: 0;
	top: 1.5rem;
	width: 100%;
	text-align: center;
	font-size: 2.2rem;
}
.work-feature li .tit {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
	font-weight: 700;
	font-size: 1.9rem;
}
.work-feature li .small {
	font-size: 1.5rem;
}

.work-case {
	padding: 6.8rem 0 0;
}
.work-case ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	margin-top: 3rem;
}
.work-case li .img {
	overflow: hidden;
	margin-bottom: 0.8rem;
	border-radius: 0.5rem;
}
.work-case li .tit {
	margin-bottom: 0.8rem;
	line-height: 1.55;
	font-size: 1.8rem;
	font-weight: 700;
}

.work-person {
	padding: 6.5rem 0 0;
}
.work-person-image {
	display: flex;
	justify-content: center;
	gap: 0 4.5rem;
	margin-top: 4.8rem;
}
.work-person-image .item {
	position: relative;
	padding: 6.5rem 6rem;
	width: 100%;
	max-width: 41rem;
	border-radius: 0.5rem;
}

.work-person-image .item ul li {
	padding-left: 1em;
	text-indent: -0.5em;
}

.work-person-image .item:before {
	content: "";
	clip-path: polygon(0% 0%, calc(100% - 5.6rem) 0%, calc(100% - 5.6rem) 1rem, calc(100% - 3.6rem) 1rem, calc(100% - 3.6rem) 0%, 100% 0, 100% 100%, 0% 100%, 0 calc(100% - 3.6rem), 1rem calc(100% - 3.6rem), 1rem calc(100% - 5.6rem), 0 calc(100% - 5.6rem));
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: 0.3rem solid #0F1035;
	border-radius: 0.5rem;
}
.work-person-image .item:after {
	content: "";
	position: absolute;
	left: -2.4rem;
	top: -2rem;
	width: 9.8rem;
	height: 8.2rem;
	background: no-repeat center;
	background-size: 100%;
}
.work-person-image .true {
	background: #F4FBFB;
}
.work-person-image .true:after {
	background-image: url(../image/works/icon_true.svg);
}
.work-person-image .false {
	background: #F2F2F2;
}
.work-person-image .false:after {
	background-image: url(../image/works/icon_false.svg);
}
.work-person-image .tit {
	margin-bottom: 2.4rem;
	font-size: 1.8rem;
	font-weight: 700;
}
.work-person-image li + li {
	margin-top: 2.4rem;
}

.work-employee  {
	overflow: hidden;
	padding: 6.5rem 0 8rem;
	margin-top: 5.6rem;
}
.employee-introdlist {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8.5rem 4rem;
}
.employee-introdlist li .img {
	overflow: hidden;
	position: relative;
	margin-bottom: 0.8rem;
	background: #fff;
	border: 1rem solid #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
}
.employee-introdlist li .img img {
	transition-duration: 0.3s;
	border-radius: 0.5rem;
	width: 100%;
	height: 350px;
	object-fit: cover;
}

.banner-flow img{
	width: 100%;
	height: 405px;
	object-fit: cover;
}


.employee-introdlist li .introd {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 1rem;
	min-width: 60%;
	background: #fff;
	border-top-right-radius: 0.5rem;
	line-height: 1.5;
	font-size: 1.1rem;
	font-weight: 500;
}
.employee-introdlist li .introd .position {
    font-size: 1.4rem;
    font-weight: 700;
}
.employee-introdlist li .tit {
	line-height: 1.5625;
    font-weight: 700;
}

.work-schedule {
	padding: 6rem 0 0;
}
.work-schedule-line {
	/* display: flex;
	align-items: flex-start;
	justify-content: space-between; */
}
.work-schedule-line ul {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(4, 1fr);
	position: relative;
	overflow: hidden;
}
.work-schedule-line li {
	display: flex;
	gap: 0 1rem;
	position: relative;
	padding: 0 0 6rem 6.8rem;
	line-height: 1.32;
	font-weight: 700;
	font-size: 1.7rem;
}
.work-schedule-line li:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 3rem;
	width: 0.5rem;
	background: #1A4183;
	border-radius: 1rem;
}
.work-schedule-line li:last-child:before {
	content: none;
}
.work-schedule-line li:after {
	content: "";
	position: absolute;
	left: 2rem;
	top: 0;
	width: 2.5rem;
	height: 2.5rem;
	background: #1A4183;
	border-radius: 50%;
}
.work-schedule-line li .time {
	width: 10rem;
	font-size: 2.2rem;
}
.work-schedule-line li .td {
	margin: 0.4rem 0;
}

.work-end {
	padding: 5.5rem 0 0;
}

.work-wrap .service-function-box {
	margin-top: 6.2rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.employee-introdlist li a:hover img {
		transform: scale(1.1, 1.1);
	}
	.employee-introdlist li a:hover .introd {
		background: url(../image/common/Icon_link_circle.svg) no-repeat right 1.2rem bottom 0.5rem #fff;
		background-size: 2rem;
	}
	
	li.swiper-slide a:hover .introd {
		background-image :none !important;
	}

	
	.employee-introdlist li a:hover .tit {
		color: #1A4183;
	}
	
}

/* culture */
.culture-philosophy {
	padding: 20rem 0 6rem;
	margin-top: -14rem;
}
.culture-philosophy li {
	background: #fff;
	border: 2px solid #1A4183;
	border-radius: 0.5rem;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.culture-philosophy li + li {
	margin-top: 2rem;
}
.culture-philosophy .philosophy-btn {
	padding: 3rem 4.8rem;
	background: url(../image/common/icon_plus.svg)no-repeat right 3.6rem center;
	font-size: 2rem;
	font-weight: 700;
}
.culture-philosophy .philosophy-btn.open {
	background-image: url(../image/common/icon_minus.svg);
}
.culture-philosophy .philosophy-box {
	padding: 0 4.8rem 4.8rem;
	line-height: 2;
	font-weight: 500;
}
.culture-philosophy .philosophy-box p + p {
	margin-top: 3.2rem;
}

.culture-internal {
	padding: 14rem 0 9rem;
}
#culture03 {padding-top: 14rem; margin-top: -14rem;}
.culture-internal-display {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3rem 3.4rem;
}
.culture-internal-display .item {
	padding: 4.5rem 4.4rem;
	background: #fff;
	border-radius: 0.5rem;
	box-shadow: 0 0.3rem 0.9rem rgba(0, 0, 0, 0.16);
}
.culture-internal-display .img {
	position: relative;
	overflow: hidden;
	margin-bottom: 2rem;
	border-radius: 0.5rem;
}
.culture-internal-display .step {
	position: absolute;
	left: 0;
	top: 0;
	padding: 1.2rem;
	width: 8.7rem;
	background: #fff;
	border-radius: 0 0 0.5rem;
	text-align: center;
	letter-spacing: 0;
	line-height: 1;
	font-size: 3.5rem;
}
.culture-internal-display .tit {
	margin-bottom: 0.6rem;
	font-weight: 700;
	font-size: 1.8rem;
}
.culture-internal-display p.notes {
	font-size: 1.4rem;
	line-height: 1.875;
}

.culture-internal-display .notes li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.875;
	font-weight: 500;
}

.culture-offices {
	padding: 7.4rem 0 4.8rem;
	background: #fff;
}
.culture-offices .service-function-box.crosstalk {
	margin: 0 auto 6.6rem;
}
.culture-offices .floor-introd .head {
	margin-bottom: 2.6rem;
	padding: 0.8rem;
	background: #F8F8FF;
	border-radius: 0.5rem;
	border: 1px solid;
	text-align: center;
	font-size: 2.3rem;
	font-weight: 700;
}
.culture-offices .floor-introd + .floor-introd {
	margin-top: 11rem;
}
.culture-offices .twofloor .head {
	background: #1A4183;
	color: #fff;
}
.culture-offices .floor-introd ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 4.8rem 2.8rem;
}
.culture-offices .floor-introd li {
	width: calc(50% - 1.4rem);
}
.culture-offices .floor-introd li.full {
	width: 100%;
}
.culture-offices .floor-introd .img {
	overflow: hidden;
	margin-bottom: 1rem;
	border-radius: 0.5rem;
}
.culture-offices .floor-introd .tit {
	font-size: 2rem;
	font-weight: 700;
}

/* recruit */
.recruit-wrap {
	padding: 5rem 0;
}
.recruit-person .display {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 96rem;
}
.recruit-person .display .img {
	width: 45%;
}
.recruit-person .display .info {
	width: calc(50% - 0.6rem);
}
.recruit-person .persons li + li {
	margin-top: 2.6rem;
}
.recruit-person .display .th {
	margin-bottom: 0.4rem;
}
.recruit-person .display .th span {
	display: inline-block;
	padding: 0.1rem;
	width: 10rem;
	background: #0F1035;
	border-radius: 0.3rem;
	text-align: center;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
}
.recruit-person .display .td {
	line-height: 1.6875;
	font-weight: 500;
}

.recruit-selection,
.recruit-faq {
	padding: 7.8rem 0 0;
}
.recruit-selection ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.6rem;
	position: relative;
	z-index: 2;
}
.recruit-selection ul:before {
	content: "";
	position: absolute;
	left: 0;
	top: 11.8rem;
	z-index: -1;
	transition-duration: 0.5s;
	width: 0;
	height: 2.5rem;
	background: #0F1035;
}
.recruit-selection ul.animated:before {
	width: 100%;
}
.recruit-selection li {
	padding: 2rem 1.6rem;
	background: #F8F8FF;
	border-radius: 0.5rem;
	border: 3px solid #0F1035;
	line-height: 1.6875;
	font-weight: 500;
}
.recruit-selection li .head {
	margin-bottom: 2rem;
	background: no-repeat right center;
	background-size: 6.4rem;
}
.recruit-selection li .icon_step1 {
	background-image: url(../image/recruit/icon_select_step01.svg);
}
.recruit-selection li .icon_step2 {
	background-image: url(../image/recruit/icon_select_step02.svg);
}
.recruit-selection li .icon_step3 {
	background-image: url(../image/recruit/icon_select_step03.svg);
}
.recruit-selection li .icon_step4 {
	background-image: url(../image/recruit/icon_select_step04.svg);
}
.recruit-selection li .step {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.4rem;
	height: 6.4rem;
	background: #0F1035;
	border-radius: 50%;
	color: #fff;
	font-size: 2.3rem;
}
.recruit-selection li .tit {
	margin-bottom: 0.6rem;
	line-height: 1.4;
	font-weight: 700;
	font-size: 2rem;
}

.faq-list li {
	background: #fff;
	border: 2px solid #1A4183;
	border-radius: 0.5rem;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.faq-list li + li {
    margin-top: 2rem;
}
.faq-list .quest {
	position: relative;
	padding: 2.2rem 6rem 2.2rem 7.2rem;
	background: url(../image/common/icon_plus.svg) no-repeat right 3.6rem center;
	font-size: 2rem;
	font-weight: 700;
}
.faq-list .quest.open {
    background-image: url(../image/common/icon_minus.svg);
}
.faq-list .answer {
	position: relative;
	padding: 3.5rem 6rem 3.5rem 7.2rem;
	background: #F7FBFB;
	line-height: 2;
	font-weight: 500;
}
.faq-list .quest:before,
.faq-list .answer:before {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 1.6rem;
	padding: 0 0 0.3rem 0.5rem;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 50%;
	border: 2px solid #0F1035;
	font-family: YakuHanJP, "Alata", sans-serif;
	font-size: 2.3rem;
}
.faq-list .quest:before {
	content: "Q.";
	top: 50%;
	transform: translateY(-50%);
	background: #0F1035;
	color: #fff;
}
.faq-list .answer:before {
	content: "A.";
	top: 3rem;
	background: #fff;
}

/* interview */
.interview-wrap {
	padding: 13.5rem 0 5.5rem;
}

.interview-banner .head {
	margin-bottom: 1.2rem;
	font-size: 3.8rem;
	font-weight: 700;
}
.interview-banner .banner img {
	width: 100%;
}
.interview-banner .career-info {
	position: relative;
	padding: 3.6rem;
	margin: -7.2rem auto 0;
	max-width: 64.4rem;
	background: #fff;
	border: 1px solid;
	border-radius: 0.5rem;
	text-align: center;
	line-height: 1.75;
	font-weight: 500;
}
.interview-banner .career-info .tit {
	margin-bottom: 2rem;
	line-height: 1.5;
	font-size: 2.3rem;
	font-weight: 700;
}
.interview-banner .career-info .tit:after {
	content: "";
	display: block;
	margin: 0.8rem auto 0;
	width: 5rem;
	border-top: 0.5rem solid #1A4183;
}

.interview-detail-wrap {
	padding: 2rem 0 4.8rem;
}
.interview-detail-introd {
	padding: 4.2rem 0 9rem;
}
.interview-detail-introd .introd-box {
	display: flex;
	align-items: center;
	padding: 1.6rem 0;
	margin: 0 auto;
	max-width: 72rem;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	font-weight: 500;
}
.interview-detail-introd .introd-box .th {
	display: flex;
	justify-content: center;
	padding: 3.6rem 0;
	width: 23.8rem;
	font-size: 1.4rem;
}
.interview-detail-introd .introd-box .td {
	padding: 3.6rem;
	width: calc(100% - 23.8rem);
	border-left: 1px solid #707070;
	line-height: 1.92;
	font-size: 1.2rem;
}
.interview-detail-introd .introd-box .name {
	margin-bottom: 1rem;
	line-height: 1;
	font-size: 3.4rem;
}
.interview-detail-introd .introd-box .position {
	display: block;
	font-size: 1.8rem;
}
.interview-detail-introd .display-faq {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 9rem auto 0;
	max-width: 101.2rem;
}
.interview-detail-introd .display-faq.reverse {
	flex-direction: row-reverse;
}
.display-faq .img {
	overflow: hidden;
	width: 48.5%;
	border-radius: 0.5rem;
}
.display-faq .info {
	width: 47.5%;
}
.display-faq .faq-list .quest {
	padding: 1.5rem 0 1.5rem 6.8rem;
	margin-bottom: 1rem;
	background: none;
}
.display-faq .faq-list .answer {
	padding: 1.5rem 0 1.5rem 6.8rem;
	background: none;
}
.display-faq .faq-list .quest:before, 
.display-faq .faq-list .answer:before {
	left: 0;
	width: 5.3rem;
	height: 5.3rem;
	font-size: 2.7rem;
}
.display-faq .faq-list .answer:before {
	top: 0.6rem;
}
.interview-detail-career {
	padding: 4.5rem 0 7.8rem;
	margin: 0 auto;
	max-width: 101.2rem;
}
.interview-detail-career .career-part + .career-part {
	margin-top: 3.4rem;
}
.interview-detail-career table {
	width: 100%;
	border-bottom: 1px solid #CECECE;
}
.interview-detail-career th {
	padding: 3.2rem 3rem 4rem;
	width: 24.6rem;
	border-top: 1px solid #CECECE;
	text-align: left;
	font-weight: 700;
	font-size: 2rem;
}
.interview-detail-career th .date span {
	display: inline-block;
	padding: 0 1.3rem;
	margin-bottom: 0.3rem;
	background: #E8F5FF;
	border-radius: 0.3rem;
	letter-spacing: 0;
	font-size: 1.6rem;
}
.interview-detail-career td {
	padding: 3.2rem 0 4rem;
	border-top: 1px solid #CECECE;
	line-height: 2.125;
	font-weight: 500;
}
.interview-detail-career td .tit {
	margin-bottom: 0.8rem;
	line-height: 1.5;
	font-weight: 700;
	font-size: 2rem;
}
.interview-for-notes {
	position: relative;
	margin-top: 5.4rem;
	padding: 4.2rem 4.8rem;
	background: #1A4183;
	border-radius: 0.5rem;
	line-height: 1.75;
	color: #fff;
	font-weight: 500;
}
.interview-for-notes:before {
	content: "";
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 1rem;
	bottom: 1rem;
	width: 100%;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.interview-for-notes .tit {
	margin-bottom: 1rem;
	text-align: center;
	line-height: 1.5;
	font-weight: 700;
	font-size: 2.3rem;
}
.interview-detail-career .btnlink {
	margin-top: 9rem;
}

.employee-introdlist-swiper {
	position: relative;
	overflow: hidden;
	margin: 0 -10rem;
	padding: 0 10rem;
}
.employee-introdlist-swiper .employee-introdlist {
    display: flex;
	gap: 0;
}
.employee-introdlist-swiper .swiper-slide {
	width: 27.4rem;
}
.employee-introdlist-swiper .swiper-button-prev, 
.employee-introdlist-swiper .swiper-button-next,
.employee-introdlist-swiper-sp .swiper-button-prev, 
.employee-introdlist-swiper-sp .swiper-button-next {
	margin: 0;
	top: 0;
	width: 20rem;
	height: 100%;
	background: url(../image/common/icon_slide.svg) no-repeat 50% 42%,
		linear-gradient(-90deg, #F8F8FF 50%, transparent);
	background-size: 4.6rem, auto;
}
.employee-introdlist-swiper .swiper-button-prev {
	left: 0;
}
.employee-introdlist-swiper .swiper-button-next {
	right: 0;
}

.interview-detail-wrap .work-employee {
	margin-top: 0;
}
.interview-detail-wrap .service-function-box {
	margin-top: 5.6rem;
}

/* crosstalk */
.crosstalk-wrap {
	padding: 4.8rem 0;
	background: #fff;
}
.crosstalk-wrap .title-wrap {
    padding: 3.6rem 0 8rem;
}
.crosstalk-member {
	padding: 3.6rem 0 9rem;
}
.crosstalk-member .head-large .eng {
	font-size: 1.6rem;
}
.crosstalk-member .head-large .jap {
	font-size: 2.5rem;
}
.crosstalk-member ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 10rem;
}
.crosstalk-member li {
	width: 30%;
	max-width: 24rem;
	line-height: 1.625;
	font-weight: 500;
}
.crosstalk-member li .pic {
	overflow: hidden;
	margin: 0 auto 1rem;
	width: 20rem;
	height: 20rem;
	border-radius: 50%;
}
.crosstalk-member li .pic img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.crosstalk-member li .company {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.6rem;
	text-align: center;
	line-height: 1.5;
}
.crosstalk-member li .name {
	font-size: 2.1rem;
	font-weight: 700;
}
.crosstalk-member li .eng {
	margin-bottom: 1rem;
}
.crosstalk-member li .eng:after {
	content: "";
	display: block;
	margin: 0.5rem auto 0;
	width: 2.4rem;
	border-bottom: 2px solid #1A4183;
}
.crosstalk-member li .enter {
	font-size: 1.4rem;
}
 
.crosstalk-thema-members {
	display: flex;
	justify-content: center;
	position: relative;
	padding: 9rem 0;
}
.crosstalk-thema-members.reverse {
	flex-direction: row-reverse;
}
.crosstalk-thema-members .side {
	width: 50%;
}
.crosstalk-thema-members .side img {
	position: sticky;
	top: 12rem;
	width: 100%;
	border-radius: 0.5rem;
}
.crosstalk-thema-members .main {
	padding: 0 5rem 0 8rem;
	width: 50%;
}
.crosstalk-thema-members .head {
	margin-bottom: 4rem;
	font-size: 2rem;
	font-weight: 700;
}
.crosstalk-thema-members .head .date {
	display: inline-block;
	padding: 0 1.5rem;
	margin-bottom: 0.5rem;
	background: #E8F5FF;
	border-radius: 0.3rem;
	letter-spacing: 0;
	font-size: 1.6rem;
}
.crosstalk-thema-members li {
	display: flex;
	justify-content: space-between;
	font-weight: 500;
}
.crosstalk-thema-members li + li {
	margin-top: 4.8rem;
}
.crosstalk-thema-members li .image {
	width: 7.3rem;
	text-align: center;
}
.crosstalk-thema-members li .pic img {
	object-fit: cover;
	width: 7.3rem;
	height: 7.3rem;
	border-radius: 50%;
}
.crosstalk-thema-members li .name {
	margin-top: 0.5rem;
	font-size: 1.4rem;
}
.crosstalk-thema-members li .name .suf {
	font-size: 1.1rem;
}
.crosstalk-thema-members li .info {
	width: calc(100% - 10rem);
	line-height: 1.75;
}
.crosstalk-thema .interview-for-notes {
	margin: 0 0 6.8rem;
	background: #0F1035;
}
.crosstalk-thema .banner img {
	object-fit: cover;
	width: 100%;
}

.crosstalk-thema .service-function-box {
	margin-top: 5rem;
}







/*-----------------------------

news

------------------------------*/
#breadcrumb.bc-blue {background: #F8F8FF !important;}
#main-contents {background: #fff;}
#news-bar {
	padding-bottom: 5rem;
}
.ala {
  font-family: "Alata", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.news-inner {
	margin: 0 auto;
    padding: 12rem 0 0;
    max-width: 90.4rem;
	letter-spacing: 0.1rem;
}

ul.news-category {
	display: flex;
	margin-bottom: 3rem;
}

ul.news-category li {margin-right: 1.5rem;}
ul.news-category li:last-child {margin-right: 0;}
ul.news-category li a {
	display: block;
	background: #E8F5FF;
	color: #0F1035;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	padding: 0.6rem 2.5rem;
	border-radius: 3px;
}

ul.news-category li .is-active {
	background: #1A4183;
	color: #fff;
}

.news-article {margin-bottom: 8rem;}
.news-article ul {
	border-top: 1px solid #CECECE;
}
.news-article ul li dl {
	display: flex;
	align-items: center;
}

.news-article ul li dl dt {
	display: flex;
	align-items: center;
	width: 24%;
	font-size: 1.6rem;
	font-weight: 500;
}

.news-article ul li dl dd {
	display: flex;
	align-items: center;
}

.news-article ul li dl dt .cat {
	text-align: center;
	margin-left: 1rem;
}

.news-article ul li dl dt .cat span {
	background: #E8F5FF;
	color: #0F1035;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 500;
	padding: 0.6rem 2.5rem;
	border-radius: 3px;
}

.news-article ul li dl dd h3 {
	font-size: 1.6rem;
	font-weight: 700;
}

.news-article ul li a {
	display: block;
	padding: 3rem 0;
	border-bottom: 1px solid #CECECE;
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 2.7rem;
	margin: 0 0 10rem;
}
.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last {
	display: none;
}
.wp-pagenavi .page,
.wp-pagenavi .current {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 2;
	width: 5.1rem;
	height: 5.1rem;
	border-radius: 50%;
	font-size: 2rem;
	font-weight: 700;
	background: #EAEAEA;
	color: #fff;
}
.wp-pagenavi .current {
	background: #0F1035;
	color: #fff;
}

.wp-pagenavi a.previouspostslink {transform: scaleX(-1);}

.wp-pagenavi .nextpostslink {
    font-size: 0;
    text-indent: -9999px;
    background: url('../image/common/pagenavi_next.svg') no-repeat center center;
    width: 33.75px;
    height: 33.75px;
    display: block;
}

.wp-pagenavi .previouspostslink {
    font-size: 0;
    text-indent: -9999px;
    background: url('../image/common/pagenavi_prev.svg') no-repeat center center;
    width: 33.75px;
    height: 33.75px;
    display: block;
}

.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: none !important;
}

.wp-pagenavi a.previouspostslink {
    transform: none !important; 
}

/*--single--*/
.news-single {
	margin: 0 auto;
    padding: 8rem 0;
    max-width: 99.6rem;
	letter-spacing: 0.1rem;
}

.news-single h2 {
	font-size: 3.8rem;
	color: #0F1035;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.08rem;
	margin-bottom: 2rem;
}

.news-single h3 {
	font-size: 2rem;
	color: #0F1035;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.08rem;
	border-top: 1px solid #0F1035;
	border-bottom: 1px solid #0F1035;
	padding: 2rem 0;
	margin-bottom: 2rem;
}

.news-single p {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 500;
	margin-bottom: 3rem;
}

dl.news-single-info {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #CECECE;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

dl.news-single-info dt {
	background: #E8F5FF;
	color: #0F1035;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	padding: 0.6rem 2.5rem;
	border-radius: 3px;
}

dl.news-single-info dd {
	font-size: 1.6rem;
	font-weight: 500;
}

.news-thumbnail {margin-bottom: 5rem;}
.news-thumbnail img {
	width: 100%;
	height: 449px;
	object-fit: cover;
	border-radius: 5px;
}


.news-single .btn {
	text-align: center;
	margin: 10rem 0 13rem;
}

/*-----------------------------

policy / terms / Cookie

------------------------------*/
.pt-inner {
	margin: 0 auto;
    padding: 10rem 1rem 14.5rem;
    max-width: 90.4rem;
	letter-spacing: 0.1rem;
}

.pt-inner p {
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.08rem;
}
.pt-inner ol {
	margin-top: 3.5rem;
	border-bottom: 1px solid #0F1035;
}
.pt-inner ol li {
	border-top: 1px solid #0F1035;
	padding: 3.5rem 0;
}
.pt-inner ol li h3 {
	font-size: 1.7rem;
	color: #0F1035;
	font-weight: bold;
	margin-bottom: 2rem;
}

.pt-inner ol li p + p {margin-top: 3rem;}
.pt-inner ol li p span {color: #FF0000;}


/*-----------------------------

404 / thanks 

------------------------------*/

.page_bg {
	background: url("../image/common/bg.jpg")no-repeat center;
	background-size: cover;
	padding: 15.5rem 0 18rem;
	text-align: center;
}

.outline-text {
	/*font-size: 8.7rem;
	font-weight: bold;
    color: transparent;
    -webkit-text-stroke: 2px #0F1035;
    */
    text-align: center;
}

.page-error h2 {
	font-size: 5rem;
	letter-spacing: 0.08rem;
	margin: 0 0 1rem;
	color: #1A4183;
}

.page-error h3 {
	font-size: 2rem;
	font-weight: bold;
	margin: 0 0 1rem;
}

.page-thanks h2 {
	font-size: 2.3rem;
	color: #0F1035;
	font-weight: bold;
	margin: 1rem 0 3.4rem;
}

.page-error p,
.page-thanks p{
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 500;
	margin: 0 0 3rem;
}

/*-----------------------------

sitemap

------------------------------*/
.sitemap-inner {
	margin: 0 auto;
    padding: 10rem 1rem 4.5rem;
    max-width: 100rem;
	letter-spacing: 0.1rem;
}

.sitemap-nav {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 5rem 3rem;
}

.sitemap-nav ul {}
.sitemap-nav ul li.main {position: relative;}
.sitemap-nav ul li.main + li.main {margin-top: 2rem;}
.sitemap-nav ul li.main a {
	font-size: 1.6rem;
	color: #0F1035;
	font-weight: bold;
	display: block;
}

.sitemap-nav ul li.main::before {
	font-size: 2rem;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.sitemap-nav ul li a:hover {opacity: 0.5;}
.sitemap-nav ul li.child {margin-top: 1.3rem;}
.sitemap-nav ul li.child ul li + li {margin-top: 1.3rem;}
.sitemap-nav ul li.child ul li a {
	font-size: 1.3rem;
	color: #0F1035;
	font-weight: 500;
}


/*-----------------------------

entry / confirm

------------------------------*/
#mw_wp_form_mw-wp-form-69 {padding-bottom: 10rem;}
.confirm-area p.confirm-txt {
	padding-top: 10rem;
	
	
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	margin-bottom: 5.5rem;
	letter-spacing: 0.08rem;
}

.confirm-area {
	max-width: 90rem;
	width: 100%;
	margin: 0 auto;
}

.entry-item+.entry-item {
	margin-top: 5rem;
}

.entry-item dt {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.42;
	margin-bottom: 1.1rem;
	padding-bottom: 1.1rem;
	border-bottom: 1px solid #CECECE;
}

.entry-item dd,
.entry-item input,
.entry-item textarea {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.42;
	color: #5D5D6F;
}



/*-----------------------------

recruitment

------------------------------*/
.search-recruitment {padding-top: 10rem;}
.recruitment-search {
	max-width: 82.8rem;
	width: 100%;
	margin: 0 auto 8rem;
	text-align: center;
	border: 1px solid #0F1035;
	border-radius: 5px;
}

.recruitment-search h2 {
	background: #0F1035;
	color: #fff;
	font-size: 2.2rem;
	height: 70px;
	line-height: 70px;
	font-weight: bold;
	letter-spacing: 0.08rem;
}

.search-inner {
	text-align: left;
	padding: 3rem 4rem 2rem;
}

.recruitment-inner {
	padding: 9rem 0;
	background: #F8F8FF;
}

.recruitment-inner ul {
	max-width: 82.8rem;
	width: 100%;
	margin: 0 auto;
}

.recruitment-inner ul li {
	background: #fff;
	border-radius: 5px;
	padding: 3rem 3.5rem;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.recruitment-inner ul li + li {margin-top: 2.2rem;}

.recruitment-inner ul li h2 {
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.08rem;
	border-left: 6px solid #1A4183;
	padding-left: 1rem;
	margin-bottom: 1rem;
}

.recruitment-inner ul li .recruitment-info {
	border-top: 1px solid #0F1035;
	padding: 2rem 0 0 1rem;
	display: flex;
}

.recruitment-inner ul li .recruitment-info .recruitment-img {}
.recruitment-inner ul li .recruitment-info .recruitment-img {
	width: 35rem;
	max-width: 35rem;
}
.recruitment-inner ul li .recruitment-info .recruitment-img img {
	border-radius: 5px;
	width: 255px;
	height: 180px;
	object-fit: cover;
}

.recruitment-inner ul li .recruitment-info .recruitment-txtarea {
	width: 65rem;
	max-width: 65rem;
	padding-left: 4rem;
}

.recruitment-inner ul li .recruitment-info .recruitment-txtarea dl {
	display: flex;
	align-items: center;
}
.recruitment-inner ul li .recruitment-info .recruitment-txtarea dl + dl {margin-top: 1.4rem;}
.recruitment-inner ul li .recruitment-info .recruitment-txtarea dl dt {
	font-size: 1.4rem;
	color: #0F1035;
	font-weight: bold;
	width: 70px;
}

.recruitment-inner ul li .recruitment-info .recruitment-txtarea dl dd {
	font-size: 1.4rem;
	color: #5D5D6F;
	font-weight: 500;
}

.recruitment-btn {display: flex; margin-top: 2.2rem;}
.recruit-btn a{
	display: block;
	width: 162px;
	height: 38px;
	line-height: 36px;
	text-align: center;
	border: 1px solid #0F1035;
	border-radius: 5px;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.01rem;
}

.recruit-btn {margin-right: 1.3rem;}
.recruitment-more a:hover {
	background: #0F1035;
	color: #fff;
}

.recruitment-entry a {
	background: url("../image/page/recruitment/icon-off.svg") no-repeat center left 52px #0F1035;
	background-size: 14px;
	color: #fff;
	text-align: left;
	padding-left: 7rem;
}

.recruitment-entry a:hover {
	background: url("../image/page/recruitment/icon-on.svg") no-repeat center left 52px #7AB2D3;
	background-size: 14px;
	color: #0F1035;
}

.feas_clevel_01 span,
.feas_clevel_02 span {position: relative;}
.feas_clevel_01 input[type="checkbox"],
.feas_clevel_02 input[type="checkbox"] {
  display: none;
}

.feas_clevel_01,
.feas_clevel_02 {
	text-align: left;
	gap: 12px;
	border: 2px solid #0b0b30;
	border-radius: 3px;
	padding: 1.28rem 2rem;
	font-size: 1.2rem;
	font-weight: 500;
	color: #0b0b30;
	cursor: pointer;
	transition: 0.3s;
	margin-right: 2rem;
}

.feas_clevel_01:hover,
.feas_clevel_02:hover {}
.feas_clevel_01 input[type="checkbox"]:checked + span::before,
.feas_clevel_02 input[type="checkbox"]:checked + span::before {
  background-color: #fff;
}

.feas_clevel_01 span::before,
.feas_clevel_02 span::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  border: 2px solid #C4CCD3;
  border-radius: 3px;
  margin-right: 1rem;
  background-color: #fff;
  transition: all 0.2s ease;
  flex-shrink: 0;
  position: relative;
  top: 3px;
}

.feas_clevel_01 span::after,
.feas_clevel_02 span::after {
  content: "";
  position: absolute;
  top: 35%;
  left: 8px;
  width: 8px;
  height: 14px;
  border-bottom: 3px solid #333366;
  border-right: 3px solid #333366;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.feas_clevel_01 input[type="checkbox"]:checked + span::before,
.feas_clevel_02 input[type="checkbox"]:checked + span::before {
  background-color: #fff;
  border-color: #C4CCD3;
}

.feas_clevel_01 input[type="checkbox"]:checked + span::after,
.feas_clevel_02 input[type="checkbox"]:checked + span::after  {
  opacity: 1;
}

.ta-center {
    width: 32.5rem;
    margin: 0 auto;
    position: relative;
}
.ta-center .feas-submit-button{
	margin: 5rem auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0.3s;
	width: 100%;
	max-width: 100%;
	height: 6rem;
	background-color: #0F1035;
	border-radius: 5px !important;
	border: 0;
	font-weight: bold;
	font-size: 1.6rem;
	color: #fff;
	cursor: pointer;
}
.ta-center .feas-submit-button:hover {
	background: #7AB2D3;
	color: #0F1035;
}

/*
.ta-center:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 4.077rem;
    height: 1.493rem;
    background: url("../image/page/recruitment/search-arrow.svg") no-repeat center;
    background-size: 9.74px 16.25px;
    pointer-events: none;
}
.ta-center:hover::after {
   background: url("../image/page/recruitment/search-arrow-on.svg") no-repeat center;
   background-size: 9px;
}

*/
.ta-center:after {
    content: "";
    display: block;
    position: absolute;
    right: 10%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    width: 1rem;
    height: 1.493rem;
    background-image: url("../image/common/Icon_link_arr.svg");
    background-size: 9px;
    background-repeat: no-repeat;
    pointer-events: none;
    transition: right 0.3s ease-in-out;
}
.ta-center:hover::after {
   background: url("../image/common/Icon_link_arr_wh.svg") no-repeat center;
   background-size: 9px;
   right: 8%;
}

.search_area {
	text-align: center;
}

#about .ta-center:after,
#cross-talk .ta-center:after,
#cross-talk02 .ta-center:after {background: none;}


/*-----------------------------

entry

------------------------------*/
.entry-area {
	padding: 8.4rem 0 0;
	background: #F8F8FF;
}

.entry-inner {
	padding: 0 5rem;
	margin: 0 auto;
	max-width: 90.4rem;
}

.entry-inner p.entry-txt {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.08rem;
	text-align: center;
	margin-bottom: 14rem;
}

.entry-inner p.entry-txt span {color: #FF0000;}



.entry-form ul {
	margin-top: 0;
}
.entry-form li + li {
	margin-top: 6rem;
}
.entry-form .th {
	margin-bottom: 1.5rem;
	font-weight: bold;
}
.entry-form .td {
	font-weight: 500;
}
.entry-form .note {
	margin-top: 2rem;
	line-height: 1.875;
	letter-spacing: 0.08em;
	font-weight: 400;
}
.entry-form input[type=text],
.entry-form input[type=tel],
.entry-form input[type=email] {
	padding: 0 2rem;
	width: 100%;
	height: 6.5rem;
	background: #fff;
	border: 1px solid #CECECE;
	border-radius: 0.8rem;
	font-size: 1.6rem;
}
.entry-form select {
	padding: 0 4rem 0 2rem;
	width: 100%;
	background: url(../image/common/icon_select_red.svg)no-repeat right 2rem center #fff;
	background-size: 1.8rem;
	height: 6.5rem;
	border: 1px solid #CECECE;
	border-radius: 0.8rem;
	font-size: 1.6rem;
}

.entry-form textarea {
	resize: none;
	padding: 2rem;
	width: 100%;
	height: 34.3rem;
	background: #fff;
	border: 1px solid #CECECE;
	border-radius: 0.8rem;
	font-size: 1.6rem;
}
.entry-form .agree {
	margin-top: 2rem;
	letter-spacing: 0.08em;
	font-weight: bold;
}

.entry-form .must {
    display: inline-block;
    padding: 0.3rem 1rem;
    margin-right: 0.9rem;
    background: #D32922;
    border-radius: 0.5rem;
    letter-spacing: 0.1em;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
}

.gender-choice {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #2B2B2B;
    position: relative;
}

.gender-choice label input[type="radio"] {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    opacity: 0;
}

.gender-choice label span {
    position: relative;
    z-index: 2;
    width: 17rem;
    height: 7rem;
    line-height: 7rem;
    padding: 0 1.8rem;
    display: inline-block;
    text-align: center;
    border: 1px solid #707070;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 8px;
}

.gender-choice label span:before {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    background: #fff;
    content: '';
    z-index: -1;
    border-radius: 7px;
}

.gender-choice input[type="radio"]:checked + span:before {
    background: #0F1035;
}

.gender-choice input[type="radio"]:checked + span.mwform-radio-field-text {
    color: #fff !important;
    border: 1px solid #0F1035;
}


p.file-txt {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 500;
	padding-top: 2rem;
}

.formAgree {margin-bottom: 8rem;}
.formAgree .wpcf7-list-item-label {display: none;}
.formAgree a {color: #1A4183; text-decoration: underline;}

.wpcf7-submit {
	margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 325px;
    height: 60px;
    background-color: #1a1a2e;
    color: #fff;
    border: none;
    border-radius: 8px !important;
    font-size: 1.6rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.wpcf7-submit:hover {
    background-color: #2e2e4b;
}



.btn-link {position: relative;}
.btn-link::after {
    content: "";
    background: url(../image/common/Icon_link_arr_wh.svg) no-repeat center;
    background-size: 100%;
    display: block;
    width: 0.8rem;
    height: 1.4rem;
    font-size: 14px;
    position: absolute;
    top: 50%;
    right: 10px; 
    transform: translateY(-50%);
}

body#confirm #main-contents {
	background: #F8F8FF;
}
ul.confirm {margin-bottom: 10rem;}
ul.confirm li + li {margin-top: 5rem;}
ul.confirm li .th  {
	color: #0F1035;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.08rem;
	border-bottom: 1px solid #CECECE;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}

ul.confirm li .td  {
	color: #5D5D6F;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.08rem;
}

.form-back {padding-bottom: 13rem;}
.wpcf7-previous {
	width: 100%;
	text-align: center;
    display: block;
    background-color: transparent;
    border: none;
    cursor: pointer;
    font-size: 1.5rem;
    font-weight: bold;
    color: #9A9A9A;
    letter-spacing: 0.08rem;
    text-decoration: none;
    position: relative;
    margin: 3rem auto 0;
    text-decoration: underline;
}

.wpcf7-previous span {border-bottom: 1.5px solid #9A9A9A;}
.mwform-checkbox-field-text {display: none;}
input[type=checkbox] {appearance: revert !important;}

.btn-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0.3s;
	width: 100%;
	height: 6rem;
	background: #f0f0f0;
	border: 1px solid #0F1035;
	border-radius: 5px !important;
	border: 0;
	font-weight: bold;
	font-size: 1.6rem;
	position: relative;
}

.btn-link.red:hover {
  background: #0F1035 !important; 
  color: #fff !important; 
  border: 1px solid #0F1035;
}

.btn-link:before {
	content: "";
	display: block;
	transition-duration: 0.3s;
	width: 3.4rem;
	height: 3.4rem;
	border: .1rem solid #862040;
	border-radius: 100%;
	position: absolute;
	right: 2rem;
	top: 50%;
	margin-top: -1.7rem;
	z-index: 1;
}
.btn-link:after {
	content: "";
	display: block;
	position: absolute;
	right: 3.2rem;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 4.077rem;
	height: 1.493rem;
	background: url(../img/common/icon_arrow.svg)no-repeat center;
	background-size: 100% auto;
}

.btn-link.red {
	background-color: #862040;
	color: #fff;
}
.entry-form .end-btn .btn-link {
	color: #0F1035;
	border: 1px solid #0F1035;
	/*background: url(../img/common/icon_link_wh2.svg) right 1.6rem center no-repeat #0F1035;*/
	background: url(../img/common/Icon_link_arr.svg) right 1.6rem center no-repeat #FFF;
	background-size: 5.2rem auto;
}


.entry-form input.edit {
	background-color: #fff;
}
.entry-form input.reset {
	display: block;
	margin: 3rem auto 0;
	border: 0;
	text-align: center;
	text-decoration: underline;
	color: #707070;
	font-size: 1.5rem;
	font-weight: bold;
	background: none;
}

.recruitment-saler .display .img img {
	width: 100%;
	height: 270px;
	object-fit: cover;
}


/*-----#confirm-------*/

#confirm .entry-form {}
#confirm .entry-form .th {
	padding-bottom: 1rem;
	margin-bottom: 0.8rem;
	border-bottom: 1px solid #707070;
}

#confirm .entry-form .must,
#confirm .entry-form .file-txt,
#confirm .entry-form .agree {
	display: none;
}


/*-----#crosstalk02-------*/
.crosstalk02-inner {padding: 0;}
.crosstalk02-inner ul {margin-top: 4rem;}
.crosstalk02 li {
    width: 15%;
    max-width: 15rem;
    line-height: 1.625;
    font-weight: 500;
}

.crosstalk02 li .pic {
	overflow: hidden;
	margin: 0 auto 1rem;
	width: 15.7rem;
	height: 15.7rem;
	border-radius: 50%;
}
.about-btn {
	text-align: center;
}


.fixed-button {
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}

.fixed-button.btnlink .blk-st {
	background-image: none;
	border-radius: .5rem 0 0 .5rem;
	font-size: 1.9rem;
	line-height: 1;
	letter-spacing: .077em;
	color: #fff;
	padding: 2.7rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: .8rem;
}

.recruitment-detail-wrap .fixed-button.btnlink {
	margin-top: 0;
}

.fixed-button.btnlink .text-wrap {
	flex-direction: column;
	gap: .5rem;
}


/*** hover ***/
@media screen and (min-width: 960px) {

	.fixed-button.btnlink .blk-st:hover {
		background-image: none;
	}

	.fixed-button.btnlink a.blk-st:hover .text-wrap .letter {
		text-shadow: 0 0 0 #0F1035, 1.5em 0 0 #0F1035;
	}
	
}


.work-organization__map {
	display: grid;
	grid-template-columns: 16.8rem 62.8rem 17.6rem;
	gap: 5.8rem;
	padding-top: 3rem;
}

.work-organization__map .organization-item01 {
	background: #DDE6ED;
	border-radius: .5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .08em;
	color: #0F1035;
}

.work-organization__map .organization-item01 small {
	font-size: 1.2rem;
}

.work-organization__map .organization-item02 {
	border: .3rem solid #0F1035;
	border-radius: .5rem;
	padding: 4rem 2.8rem 2.6rem;
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem 3.5rem;
}

.work-organization__map .organization-item02 .organization-title {
	position: absolute;
	background: #fff;
	padding: 0 2.6rem;
	width: 22rem;
	left: 50%;
	bottom: 100%;
	transform: translate(-50%, 1.1rem);
	z-index: 2;
}

.work-organization__map .organization-item02 .organization-item02__item {
	background: #EDF8F8;
	border-radius: .5rem;
	width: 100%;
	height: 16.8rem;
	padding: .8rem;
	text-align: center;
	position: relative;
}

.work-organization__map .organization-item02 .organization-item02__item + .organization-item02__item:before {
	width: 2.25rem;
	height: 2.25rem;
	background: url(../image/common/icon_flow_in.svg) center center no-repeat;
	background-size: 100% 100%;
	content: '';
	position: absolute;
	left: -2.9rem;
	top: 1.8rem;
	z-index: 2;
}

.work-organization__map .organization-item02 .organization-item02__item .organization-subtitle {
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .08em;
	color: #0F1035;
	width: 100%;
	text-align: center;
}

.work-organization__map .organization-item02 .organization-item02__item.item04 {
	grid-column: 1 / 4;
	padding: 1.4rem;
}

.work-organization__map .organization-item02 .organization-item02__item.item04:before {
	display: none;
}

.work-organization__map .organization-item02 .organization-item02__item.item04 .organization-subtitle {
	width: 22%;
}


.work-organization__map .organization-item03 {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.work-organization__map .organization-item03 .organization-item03__item {
	width: 100%;
	height: 33.33%;
	background: #DDE6ED;
	border-radius: .5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: .08em;
	color: #0F1035;
	position: relative;
} 

.work-organization__map .organization-item02:before,
.work-organization__map .organization-item03 .organization-item03__item:before {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(-100%, -50%);
	width: 5.8rem;
	height: 100%;
	background: url(../image/common/icon_flow.svg) center center no-repeat;
	background-size: 5rem;
	z-index: 2;
	content: '';
}

.work-organization__map .organization-box {
	display: inline-block;
	width: 9.2rem;
	border-radius: .5rem;
	overflow: hidden;
	margin-top: 2rem;
}

.work-organization__map .organization-box img {
	width: 100%;
	aspect-ratio: 92 / 75;
	object-fit: cover;
	object-position: center top;
}
 
.work-organization__map .organization-box .caption {
	text-align: center;
	font-size: 1.1rem;
	font-weight: bold;
	color: #fff;
	line-height: 2;
	letter-spacing: .08em;
	display: block;
	background: #0F1035;
}

.work-organization__map .organization-item02 .organization-item02__item.item01 {
	text-align: right;
	position: relative;
	z-index: 2;
}

.work-organization__map .organization-item02 .organization-item02__item.item01 .organization-box {
	position: relative;
	left: 7.1rem;
}

.work-organization__map .organization-item02 .organization-item02__item.item04 .organization-box {
	margin-top: .8rem;
}


.show-item {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
}

.delay1 {
	-webkit-animation-delay: .25s;
          	animation-delay: .25s;
}

.delay2 {
	-webkit-animation-delay: .5s;
          	animation-delay: .5s;
}

.delay3_1 {
	-webkit-animation-delay: .75s;
          	animation-delay: .75s;
}

.delay3_2 {
	-webkit-animation-delay: 1s;
          	animation-delay: 1s;
}

.delay3_3 {
	-webkit-animation-delay: 1.25s;
          	animation-delay: 1.25s;
}

.form-row--date {
	display: flex;
	align-items: center;
}
.form-row--date span {
	padding: 0 2rem;
	font-weight: bold;
}

#years,
#months,
#days {
	width: 170px !important;
}

#confirm .form-row--date span {
	padding: 0;
	font-weight: bold;
}
#confirm .form-row--date br {display:none;}

#confirm .gender-choice,
#confirm .td {
	color:#5D5D6F;
}
.bc-none {background-color: inherit !important;}



.area-img {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	text-align: center
}

.img01 { 
	grid-area: 1 / 1 / 2 / 3; 
}
.img02 { 
	grid-area: 2 / 1 / 3 / 2; 
	margin: -3rem 0 0 0;
}
.img03 { 
	grid-area: 2 / 2 / 3 / 3; 
	margin: -3rem 0 0 0;
}

.kk_site img{padding-top: 0.8rem;}