@charset "utf-8";


/* BASE ------------------------------------------------------------------------ */
:root {
	--co-main:          #004D7B;
	--co-main-dark:     #ff9900;
	--co-point:         #083b6e;
	--co-point-dark:    #04203b;
	--co-dark:          #484640;
	--co-dark-deep:     #1b1913;
	--co-text-light:    #fdf5dd;
	--co-text-dark:     #1b1913;
	--co-black0:        #000000;
	--co-black3:        #333333;
	--co-black6:        #666666;
	--co-black9:        #999999;
	--co-red:           #d81c24;
	--co-white:         #FFFFFF;
	--co-bgSub01:       #2d8d84;
	--co-bgSub01-light: #e9efee;
	--co-Sub01:         #c8dcec;
	--size-small-xx:    10px;
	--size-small-x:     14px;
	--size-small:       16px;
	--size-normal:      18px;
	--size-large:       24px;
	--size-large-x:     28px;
	--size-large-xx:    34px;
	--size-large-xxx:   45px;
	--font-gosick: "YakuHanJP", 'Noto Sans JP',"メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", sans-serif;
	--font-mincho: "YakuHanMP", 'Noto Serif JP', "游明朝" , sans-serif;
	--font-Cinzel: "YakuHanMP", 'Cinzel', serif;
	--font-Oswald: "YakuHanJP", 'Oswald', 'Noto Sans JP', sans-serif;
	--font-point : 'Kiwi Maru', serif;
}
@media screen and ( max-width:599px) {
	:root {
		--size-small-x: 12px;
	}
}
::selection {
	background: rgba(0, 0, 0, 0.2);
}

/*Firefox*/
::-moz-selection {
	background: rgba(0, 0, 0, 0.2);
}


.spOnly{ display: none; }
@media screen and ( max-width:959px ) {
	.tbOnly{ display: block; }
}
@media screen and ( max-width:599px) {
	.pcOnly{ display: none; }
	.spOnly{ display: block; }
}


html{
	font-size: 16px;
}
body{
	font-family: var(--font-gosick);
	font-feature-settings: "palt";
	letter-spacing: .05em;
}
h1{
	font-size: 2rem;
	font-weight: 600;
	position: relative;
}
h2{
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 1em;
	color: var(--co-black3);
	letter-spacing: .1em;
}
h2 span{
	background: linear-gradient(transparent 60%, rgba(255, 191, 0, 0.5) 30%);
    display: inline-block;
}
h3{
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1.25em;
}
h4{
	font-size: 1.25rem;
	font-weight: bold;
	margin-bottom: 1.25rem;
	text-align: center;
	line-height: 1.5em;
}
p{
	line-height: 1.875em;
	margin-bottom: 0.5em;
}
p:last-of-type{
	margin-bottom: 0;
}
a{ transition: all 0.2s linear; text-decoration: none;}
a:hover{
	box-shadow: #d5d5d5 0px 0px 10px;
}
img {max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;}
@media screen and ( max-width:959px ) {
	html{ font-size: 15px; }
	h2 {
		font-size: 1.5rem;
		margin-bottom: 1.25vw;
	}
	h3 {
		font-size: 1.15rem;
	}
}
@media screen and ( max-width:599px) {
	html{ font-size: 14px; }
	html, body{
		height:100%;
	}
	body{
		overflow-x: hidden;
	}
	h1 {
		font-size: 1.5rem;
	}
	h2 {
		font-size: 1.25rem;
		margin-bottom: 2.5vw;
	}
	h3 {
		font-size: 1.2rem;
	}
	h4 {
		font-size: 1.15rem;
	}
}

table {
	border: 1px solid #ccc;
	border-collapse: collapse;
	margin: 0px auto 1rem auto;
	width: 100%;
	max-width: 1200px;
}
th {
	background: #f9f5ee;
	border-bottom: #dfceac 1px dotted;
	text-align: left;
	padding: 15px;
	font-weight: 700;
	text-align: center;
	vertical-align: middle;
}
tr:first-of-type th {
	border-top: var(--co-Blue) 3px solid;
}
tr:first-of-type td {
	border-top: var(--co-Blue-light) 3px solid;
}
td {
	border-bottom: #dfceac 1px dotted;
	text-align: left;
	padding: 10px 10px 10px 15px;
	vertical-align: middle;
	background: var(--co-White);
}
@media screen and ( max-width:599px) {
	table tr {
		display: flex;
		flex-direction: column;
	}
	table tr th {
		padding: 1rem;
	}
	table tr td {
		padding: 1.5rem 1rem;
	}
}

/* colSet ------------------------------------------------------------------- */
section{
	position: relative;
	z-index: 2;
}
.col{
	max-width: 1200px;
	min-width: 960px;
	margin: 0 auto 2rem;
	padding: 0 1rem;
	text-align: center;
	position: relative;
	z-index: 2;
}
.col:last-of-type{
	margin: 0 auto;
}
.colFix{
	display: flex;
	justify-content: space-around;
}
.colFix .colIn{
	width: 70%;
	padding: 60px 0px;
}
.colFix .colIn:last-of-type{
	width: 30%;
}
.colIn{
	padding: 20px 0px;
}
.colIn:last-of-type{
	padding: 20px 0px 0px;
}
.coldb{
	display: flex;
	justify-content: space-between;
}
.coldb > div:first-of-type {
	width: calc(100% / 5 * 2 - 0.25rem);
}
.coldb > div:last-of-type {
	width: calc(100% / 5 * 3 - 0.25rem);
}
.colqua {
	display: flex;
	justify-content: space-between;
}
.colqua > div {
	width: calc(100% / 4 - 0.25rem);
}
.colqua > a {
	width: calc(100% / 4 - 0.25rem);
}
@media screen and ( max-width:959px ) {
	.col ,
	.coldb > div:first-of-type ,
	.coldb > div:last-of-type {
		width: 100%;
		min-width: unset;
	}
	.col img{
		max-width: 100%;
		min-width: 0;
		width: auto;
	}
	section .colIn.coldb {
		flex-direction: column;
	}
	section .colIn.coldb div:last-of-type {
		margin-top: 1rem;
	}
}
@media screen and ( max-width:599px) {
	.colqua {
		flex-direction: column;
	}
}
.colIn.colHalf{
	display: flex;
	justify-content: space-between;
}
.colIn.colHalf > div {
	width: calc(100% / 2 - 5px);
}

.flex-Reverse{ flex-direction: row-reverse; }
.flex-al-c{ align-items: center; }

strong{
	font-size: 1em;
	font-family: inherit;
	font-weight: 900;
	color: var(--co-red);
	margin: 0 4px;
	background: linear-gradient(rgba(255,255,255,0) 80%,rgba(255, 191, 0, 0.5) 0);
}
.mincho{ font-family: 'Noto Serif JP', serif; }
.fontS{
	font-size: 0.5em;
}
.fontL{
	font-size: 1.25em;
	margin-left: 0.25rem;
	margin-right: 0.25rem;
}
.fontXL{
	font-size: 1.75em;
	margin-left: 0.25rem;
	margin-right: 0.25rem;
}
@media screen and ( max-width:959px ) {
	.fontL {
		font-size: 1.25em;
	}
}
@media screen and ( max-width:599px) {
	.fontL {
		font-size: 1.25em;
		line-height: 2.5rem;
	}
}


.notice{ font-size: 0.75rem; }
.coPink  { color: #EC407A; }
.coOrange{ color: #ec6900; }
.coBlue  { color: #2a395d; }
.coGreen { color: var(--co-bgSub01); }
.coRed   { color: var(--co-red); }

.bgBlue{ background-color: #2a395d; color: var(--co-white); }
.bgWhite{ background-color: var(--co-white); }
.btBlue{
	border-top: 1px solid #2a395d;
	margin-top: 2.5vw;
	padding-top: 2.5vw;
}
.bgBlue.balloon::after { border-color: #2a395d transparent transparent transparent; }
.imgBorder{ border: 8px solid #ececec; }
.imgShadow{
	box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.2);
	border-radius: 10px;
	padding: 1.875rem 1rem;
	margin-bottom: 2.5rem;
}
.ta-c{ text-align: center !important; }
.w70per{
	max-width: 70%;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
}
@media screen and ( max-width:959px ) {
	.w70per {
		max-width: 90%;
	}
}
.mb-0 { margin-bottom:  0px !important; }
.mb-01{ margin-bottom:  1px !important; }
.mb-08{ margin-bottom:  8px; }
.mb-10{ margin-bottom: 10px; }
.mb-20{ margin-bottom: 20px; }
.mb-30{ margin-bottom: 30px; }
.mb-40{ margin-bottom: 40px; }
.mt-10{ margin-top: 10px; }
.mt-20{ margin-top: 20px; }
.mt-30{ margin-top: 30px; }
.mt-40{ margin-top: 40px; }
.mt-50{ margin-top: 50px; }
.mt-60{ margin-top: 60px; }
.mt-70{ margin-top: 70px; }
.mt-80{ margin-top: 80px; }


/* LINK ------------------------------------------------------------------------ */
p.ctaLink a {
	display: inline-block;
	font-size: 1.75rem;
	cursor: pointer;
	border-radius: 60px;
	text-align: center;
	position: relative;
	text-decoration: none;
	padding: 5px 60px;
	z-index: 1;
	color: var(--co-white);
	box-shadow: 0 0 0 4px #4caf50;
	background: var(--co-white);
	-webkit-transition: color 0.3s , background-color 0.3s;
	   -moz-transition: color 0.3s , background-color 0.3s;
	        transition: color 0.3s , background-color 0.3s;
}
p.ctaLink a small {
	display: block;
}
p.ctaLink a:after {
	content: "";
	pointer-events: none;
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 60px;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	top: -2px;
	left: -2px;
	padding: 2px;
	z-index: -1;
	background-color: #4caf50;
	-webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
	-moz-transition: -moz-transform 0.2s, opacity 0.3s;
	transition: transform 0.2s, opacity 0.3s;
}
p.ctaLink a:before {
	font-size: 48px;
	line-height: 90px;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	display: block;
	-webkit-font-smoothing: antialiased;
}
p.ctaLink a:hover {
	color: #4caf50;
}
p.ctaLink a:hover:after {
	transform: scale(1.2);
	opacity: 0;
}
p.ctaLink.btnRed a {
	box-shadow: 0 0 0 4px #d92027;
}
p.ctaLink.btnRed a:after {
	background-color: #d92027;
}
p.ctaLink.btnRed a:hover {
	color: #d92027;
}
@media screen and ( max-width:599px) {
	p.ctaLink {
		margin: 5vw 0;
	}
	p.ctaLink a {
		font-size: 1.25rem;
		padding: 5px 30px;
	}
}


table{
	width: 100%;
}
table tr{
	display: table;
	width: 100%;
}
table tr:last-of-type{
	margin-bottom: 0;
}
table th{
	width: 20%;
	vertical-align: middle;
	background-color: var(--co-bgSub01);
	padding: 8px;
	position: relative;
}
table td{
	width: 80%;
	vertical-align: middle;
	padding: 0.75rem 1rem 0.75rem 1.5rem;
	text-align: left;
}


/* EFFECT ---------------------------------------------------------------------- */
.effectPom{
	-webkit-animation: title3 400ms;
	animation: title3 400ms
}
@-webkit-keyframes title3 {
	50% { -webkit-transform: scale(1.25); }
}
@keyframes title3 {
	50% { transform: scale(1.25); }
}
.effectTon{
	opacity: 1 !important;
	-webkit-animation: effectTon 2000ms infinite;
					animation: effectTon 2000ms infinite;
	position: relative;
}
@-webkit-keyframes effectTon {
	  0% { bottom:  0px; }
	 80% { bottom:  5px; }
	100% { bottom:  0px; }
}
@keyframes effectTon {
	 0% { bottom:  0px; }
	 80% { bottom:  5px; }
	100% { bottom:  0px; }
}
.effectSlideInLeft{
	opacity: 1 !important;
	-webkit-animation: SlideInLeft 400ms;
					animation: SlideInLeft 400ms;
	position: relative;
	transition:  all 0.5s linear;
}
@-webkit-keyframes SlideInLeft {
	0% { left: -56px; }
	100% { left: 0; }
}
@keyframes SlideInLeft {
	0% { left: -56px; }
	100% { left: 0; }
}
.effectSlideInRight{
	opacity: 1 !important;
	-webkit-animation: SlideInRight 400ms;
					animation: SlideInRight 400ms;
	position: relative;
	transition:  all 0.5s linear;
}
@-webkit-keyframes SlideInRight {
	0% { right: -56px; }
	100% { right: 0; }
}
@keyframes SlideInRight {
	0% { right: -56px; }
	100% { right: 0; }
}
.effectSlideInBottom{
	opacity: 1 !important;
	-webkit-animation: SlideInBottom 400ms;
					animation: SlideInBottom 400ms;
	position: relative;
	transition:  all 0.5s linear;
}
@-webkit-keyframes SlideInBottom {
	0% { bottom: -56px; }
	100% { bottom: 0; }
}
@keyframes SlideInBottom {
	0% { bottom: -56px; }
	100% { bottom: 0; }
}
.fadeIn{
	opacity: 1 !important;
	-webkit-animation: fadeIn;
	animation: fadeIn;
	position: relative;
	transition:  1s;
}
@-webkit-keyframes fadeIn {
	0% { opacity: 0;transform: translateY(20px); }
	100% { opacity: 1;transform: translateY(0); }
}
@keyframes fadeIn {
	0% { opacity: 0;transform: translateY(20px); }
	100% { opacity: 1;transform: translateY(0); }
}
.mov{
	opacity: 0;
	transform: translateY(20px);
}
.mov.fadeIn{transform: translateY(0);}
.mov:first-child{
	transition-delay: 0s;
}
.mov:nth-child(2){
	transition-delay: 0.2s;
}
.mov:nth-child(3){
	transition-delay: 0.4s;
}
.mov:nth-child(4){
	transition-delay: 0.6s;
}
.mov:first-child:hover{
	transition-delay: 0s;
}
.mov:nth-child(2):hover{
	transition-delay: 0s;
}
.mov:nth-child(3):hover{
	transition-delay: 0s;
}
.mov:nth-child(4):hover{
	transition-delay: 0s;
}
/* header ---------------------------------------------------------------------- */
header {
	background: transparent;
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
}
header .col{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2vw 20px;
}
header .col .logo .logo-w{
	display: block;
}
header .col .logo .logo-b{
	display: none;
}
header.clone-nav .col .logo .logo-b{
	display: block;
}
header.clone-nav .col .logo .logo-w{
	display: none;
}
header .col h1{
	display: flex;
	align-items: center;
	justify-content: start;
}
header .col ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .col ul.menuArea {
}
header .col ul li {
	margin: 0 10px 0 0;
}
header .col ul li:last-child {
	margin: 0;
}
header .col ul li.btn-link {
	margin: 0;
}
header .col ul.menuArea  li.line a{
	padding: 1em 2em;
    background: #06C755;
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
	font-size: 15px;
}
header .col ul.menuArea  li.request a{
	padding: 1em 2.2em;
    background: #094B72;
    color: #fff;
    font-weight: 600;
    border-radius: 4px;
    font-size: 15px;
}
@media screen and ( max-width:1024px ) {
	header .col ul.menuArea{
		display: none;
	}
}
@media screen and ( max-width:599px) {
	header .col {
		padding: 3vw 10px;
		justify-content: left;
	}
	header .col .logo{
		max-width: 250px;
	}
	header .col ul {
		display: none;
	}
}



/* header.clone-nav ------------------------------------------------------------ */
header.clone-nav{
	opacity: 0;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2000;
	width: 100%;
	padding: 0;
	transition: .3s;
	transform: translateY(-100%);
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: auto;
	box-shadow: none;
	background: #fff;
}
header.clone-nav.is-scroll {
    opacity: 1;
    transform: translateY(0);
}
header.clone-nav nav{
	max-width: 1200px;
    min-width: 960px;
    margin: 0 auto;
    padding: 0 1rem;
    text-align: center;
    position: relative;
    z-index: 2;
    width: 100%;
}
header.clone-nav.is-show{
	box-shadow: 0px -22px 20px 20px rgba( 0, 0, 0, 0.5);
}
header.clone-nav .col{
	max-width: 100%;
	min-width: 100%;
	padding: 10px;
}
header.clone-nav .col h1 img {
	width: 70%;
}
header.clone-nav .col h1::before {
	font-size: 1.75rem;
}
header .col ul {
}
header.clone-nav .col ul li.btn-free {
	width: 50%;
}
header.clone-nav .col ul li.btn-free img {
	width: 100%;
}
header.clone-nav .col ul li.btn-link br {
	display: none;
}
header.clone-nav .col ul li.btn-link p.ctaLink a {
	padding: 6px 25px;
}
@media screen and ( max-width:959px ) {
	header.clone-nav .col h1 img {
		width: 60%;
		min-width: auto;
	}
	
	header.clone-nav .col ul li.btn-free {
		width: 70%;
	}
	header.clone-nav .col ul li.btn-free a {
		display: flex;
		align-items: center;
	}
}
@media screen and ( max-width:599px) {
	header.clone-nav .col h1 {
		justify-content: center;
	}
	header.clone-nav nav {
		padding: 0;
        max-width: unset;
        min-width: unset;
	}
	header.clone-nav .col {
		max-width: unset;
		min-width: unset;
		width: 100%;
		justify-content: center;
	}
}




/* mainImg ---------------------------------------------------------- */
.mainImg{
	background-image: url(../../images/mainImg-bg.jpg);
	height: 100vh;
	min-height: 750px;
	width: 100%;
	background-size: cover;
    background-position: center;
}
.mainImg-inner{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	gap: 4em;
}
.mainImg-inner .mainImg-item-l {
	width: 55%;
}
.mainImg-inner .mainImg-item-r {
	width: 45%;
	position: relative;
}
.mainImg-inner .mainImg-item-r figure img{
	padding: 1em;
}
.mainImg-inner .mainImg-item-l h1{
	color: #fff;
    text-align: left;
    font-weight: 600;
    font-size: 48px;
    letter-spacing: 5px;
	margin-top: .75em;
    margin-bottom: 1em;
}
.mainImg-inner .mainImg-item-l h4{
	color: #fff;
	text-align: left;
	border-bottom: solid rgba(255, 255, 255, 0.50) 1px;
    padding-bottom: .5em;
	font-weight: 500;
    letter-spacing: 4px;
}
.mainImg-inner .mainImg-item-l p{
	color: #fff;
	text-align: left;
	letter-spacing: .1em;
}
.mainImg-inner .mainImg-item-l .cta-btn {
	width: fit-content;
	margin-top: 3em;
	padding: 1.5em 0em;
}
.mainImg-inner .mainImg-item-l .cta-btn a{
	border: solid 1px #fff;
    padding: 1.5em 2em;
	letter-spacing: .2em;
    border-radius: 8px;
	color: #fff;
}
.scroll-down{
	position: absolute;
    bottom: 2em;
    left: 50%;
    transform: translate(-50%, 0%);
}
.chevron {
	position: absolute;
	width: 28px;
	height: 8px;
	opacity: 0;
	transform: scale3d(0.5, 0.5, 0.5);
	animation: move 3s ease-out infinite;
}

.chevron:first-child {
animation: move 3s ease-out 1s infinite;
}

.chevron:nth-child(2) {
animation: move 3s ease-out 2s infinite;
}

.chevron:before,
.chevron:after {
content: ' ';
position: absolute;
top: 0;
height: 100%;
width: 51%;
background: #fff;
}

.chevron:before {
left: 0;
transform: skew(0deg, 30deg);
}

.chevron:after {
right: 0;
width: 50%;
transform: skew(0deg, -30deg);
}

@keyframes move {
	25% {
		opacity: 1;

	}
	33% {
		opacity: 1;
		transform: translateY(30px);
	}
	67% {
		opacity: 1;
		transform: translateY(40px);
	}
	100% {
		opacity: 0;
		transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
	}
}
.scroll-down .text {
display: block;
margin-top: 75px;
margin-left: -30px;
font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif;
font-size: 12px;
color: #fff;
text-transform: uppercase;
white-space: nowrap;
opacity: .25;
animation: pulse 2s linear alternate infinite;
}
@keyframes pulse {
	to {
		opacity: 1;
	}
}

@media screen and (max-width: 1024px) {
	.mainImg {
		min-height: unset;
		background-image: url(../../images/mainImg-bg_sp.jpg);
		height: 70vh;
	}
	.mainImg-inner {
		flex-direction: column;
		gap: 1em;
	}
	.mainImg-inner .mainImg-item-l {
		width: 100%;
	}
	.mainImg-inner .mainImg-item-l .cta-btn {
		display: none;
	}
	.mainImg-inner .mainImg-item-l h1 {
		text-align: center;
		font-size: 24px;
		margin-bottom: .5em;
        margin-top: .5em;
	}
	.mainImg-inner .mainImg-item-l h4 {
		text-align: center;
        width: 50%;
        margin: 0 auto;
	}
	.mainImg-inner .mainImg-item-l p {
		text-align: center;
		font-size: .9em;
		margin-bottom: .5em;
	}
	.mainImg-inner .mainImg-item-r {
		width: 60vw;
		max-width: 400px;
	}
	.mainImg-inner .mainImg-item-r figure img {
		padding: 0;
	}
	.scroll-down {
		bottom: 1em;
		transform: translate(-25%, 0%);
	}
}
@media screen and (max-width: 599px) {
	.mainImg {
        height: 100vh;
    }
	.mainImg-inner .mainImg-item-l h4 {
        width: 90%;
	}
}
/* about ---------------------------------------------------------- */
.about{
	background: #F2F7FF;
	padding: 5em 0;
}
.about .about-inner p{
	margin-bottom: 3em;
	color: var(--co-black6);
}
.about .about-list {
	gap: 1em;
}
.about .about-list .about-item{
	background: #fff;
    border-radius: 12px;
    padding: 1.5em 2em;
    text-align: left;
    box-shadow: #d5d5d5 0px 0px 20px;
}
.about .about-list a.about-item:hover{
	transform: translateY(8px);
}
.about .about-list .about-item img {
	width: fit-content;
	max-height: 30px;
}
.about .about-list .about-item h4 {
	margin-top: .5em;
	text-align: left;
	margin-bottom: .25em;
}
.about .about-list .about-item p {
	font-size: .85em;
	color: var(--co-black9);
}
@media screen and (max-width: 599px) {
	.about {
		padding: 4em 0;
	}
	.about .about-list .about-item {
		width: calc(100% / 2 - .5em);
		padding: 1em;
	}
	.about .about-list {
		gap: 1em;
		flex-direction: unset;
		flex-wrap: wrap;
	}
	.about .about-inner p {
		font-size: .9em;
		margin-bottom: 1.5em;
	}
}
/* area ---------------------------------------------------------- */

.area{
	background: #FFF;
	padding: 5em 0;
}
.area h2{
	margin-bottom: 1.5em;
}
.area .area-list {
	gap: 1em;
	align-items: stretch;
}
.area .area-list div:nth-child(2){
	display: flex;
	gap: 1em;
	flex-direction: column;
}
.area .area-list div figure{
	height: 100%;
}
.area .area-list div figure img{
	border-radius: 8px;
	height: 100%;
    object-fit: cover;
}
.area .col.single p{
	color: var(--co-black6);
}
@media screen and (max-width: 599px) {
	.area {
		padding: 4em 0;
	}
	.area .area-list {
		gap: 1em;
		flex-direction: unset;
        flex-wrap: wrap;
	}
	.area .area-list div{
		width: calc(100% / 2 - 0.5em);
	}
	.area .col.single p{
		text-align: left;
		font-size: .9em;
	}
	.area .area-list div figure img{
		max-height: 250px;
	}
	.area .area-list div:nth-child(2) figure img {
		height: 118px;
	}
}

/* construction ---------------------------------------------------------- */

.construction {
	padding: 5em 0;
	background-image: url(../../images/construction-bg.jpg);
	width: 100%;
	background-size: cover;
    background-position: center;
}
.construction h2{
	display: flex;
	gap: .5em;
	justify-content: center;
	align-items: center;
	color: #fff;
}
.construction .construction-inner picture{
	border-radius: 12px;
    background: #fff;
    width: fit-content;
    margin: 0 auto;
}
.construction .construction-inner picture img{
	padding: 3em 3em 2em;
	background: #fff;
    border-radius: 12px;
}
.construction .construction-inner p{
	color: #fff;
    margin-top: 2em;
}
@media screen and (max-width: 599px) {
	.construction {
		padding: 4em 0;
	}
	.construction .construction-inner picture img {
		padding: 1em;
	}
	.construction .construction-inner p {
		text-align: left;
		font-size: .9em;
	}
}
/* tax ---------------------------------------------------------- */

.tax {
	padding: 5em 0;
	background: #F2F7FF;
}
.tax h2{
	display: flex;
	gap: .5em;
	justify-content: center;
	align-items: center;
}
.tax .tax-inner p{
	margin-bottom: 3em;
    color: var(--co-black6);
}
.tax .accordion-title {
	position: relative;
	padding: .5em;
    background: #094B72;
    color: #fff;
    border-radius: 12px 12px 0 0;
    cursor: pointer;
	margin-bottom: 0;
	font-weight: bold;
    letter-spacing: .1em;
}
.tax .accordion-title::after {
	border-right: solid 2px #fff;
	border-top: solid 2px #fff;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: 25px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 8px;
}
.tax .accordion-title span{
	color: #FCDC7C;
}
.tax .accordion-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
}
.tax .accordion-item {
	box-shadow: #d5d5d5 0px 0px 20px;
    border-radius: 12px;
}
.tax .accordion-item .accordion-content {
	background: #fff;
	border-radius: 0 0 12px 12px;
}
.tax .accordion-item .accordion-content .col {
	padding: 0 2em 2em;
}
.tax .accordion-item .accordion-content .coldb {
	padding: 2em 2em 0;
	gap: 2em;
}
.tax .accordion-item .accordion-content .coldb figure{
	width: calc(100% / 2 - 1em);
}
.tax .accordion-item .accordion-content .coldb figure img{
	width: 100%;
}

.tax .accordion-item .accordion-content .col figure{
	margin-top: 1em;
    padding: 1em 0;
    background: #f8f8f8;
}
.tax .accordion-item .accordion-content .col p{
	text-align: right;
    margin-top: .5em;
    font-size: .8em;
    color: var(--co-black9);
}
.tax .accordion-item .accordion-content-02 .coldb .tax-txt{
	width: 70%;
}
.tax .accordion-item .accordion-content-02 .coldb .tax-txt h4{
	display: flex;
	align-items: center;
	width: 100%;
	border-bottom: solid 1px #0388a9;
	padding-bottom: .5em;
	padding-left: .5em;
}
.tax .accordion-item .accordion-content-02 .coldb .tax-txt h4 figure{
	width: 20px;
    height: 20px;
    margin-right: .25em;
}
.tax .accordion-item .accordion-content-02 .coldb .tax-txt p{
	color: var(--co-black6);
	text-align: left;
}
.tax .accordion-item .accordion-content-02 .coldb figure.tax-img{
	width: 30%;
}
.tax .accordion-item .accordion-content-02 .col .tax-txt h4{
	display: flex;
	align-items: center;
	width: 100%;
	border-bottom: solid 1px #0388a9;
	padding-bottom: .5em;
	padding-left: .5em;
}
.tax .accordion-item .accordion-content-02 .col .tax-txt h4 figure{
	width: 20px;
    height: 20px;
    margin-right: .25em;
	margin-top: 0;
    padding: 0;
    background: transparent;
}
.tax .accordion-item .accordion-content-02 .col .tax-txt p{
	color: var(--co-black6);
	text-align: left;
	font-size: 1em;
}
.tax .accordion-item .accordion-content-02 .col figure{
	margin-top: 1em;
    padding: 1em 0;
    background: transparent;
}
.tax .accordion-item .accordion-content-02 .col figure img{
	width: 100%;
    max-width: 800px;
}
@media screen and (max-width: 599px) {
	.tax {
		padding: 4em 0;
		background: #F2F7FF;
	}
	.tax .tax-inner p {
		font-size: .9em;
		text-align: left;
		margin-bottom: 1.5em;
	}
	.tax .accordion-title {
		font-size: 1em;
		padding: 1em;
		text-align: left;
	}
	.tax .accordion-title::after {
		right: 14px;
	}
	.tax .accordion-item .accordion-content .coldb {
		padding: 1em 1em 0;
		gap: 1em;
		flex-direction: column;
	}
	.tax .accordion-item .accordion-content .coldb figure {
		width: 100%;
	}
	.tax .accordion-item .accordion-content .col {
		padding: 0 1em 1em;
	}
	.tax .accordion-item .accordion-content .col figure {
		padding: 1em;
	}
	.tax .accordion-item .accordion-content-02 .coldb .tax-txt h4 figure{
		display: none;
	}
	.tax .accordion-item .accordion-content-02 .coldb .tax-txt h4{
		border: unset;
		font-size: 1.15rem;
		background: #0388a9;
		color: #fff;
		padding: .5em 1em;
		text-align: center;
        justify-content: center;
        border-radius: 4px;
        line-height: 1.2;
		margin-bottom: .5em;
	}
	.tax .accordion-item .accordion-content-02 .coldb .tax-txt p {
		font-size: .9em;
		line-height: 1.8;
	}
	.tax .accordion-item .accordion-content-02 .coldb figure.tax-img {
		width: 100%;
		margin-bottom: 2em;
	}
	.tax .accordion-item .accordion-content-02 .col .tax-txt h4 {
		border: unset;
		font-size: 1.15rem;
		background: #0388a9;
		color: #fff;
		padding: .5em 1em;
		text-align: center;
        justify-content: center;
        border-radius: 4px;
        line-height: 1.2;
		margin-bottom: .5em;
	}
	.tax .accordion-item .accordion-content-02 .col .tax-txt h4 figure{
		display: none;
	}
	.tax .accordion-item .accordion-content-02 .col .tax-txt p{
		font-size: .9em;
        line-height: 1.8;
	}
	.tax .accordion-item .accordion-content-02 .col figure{
		padding: 0;
	}
	.tax .accordion-item .accordion-content-02 .coldb .tax-txt {
		width: 100%;
	}
}

/* insurance ---------------------------------------------------------- */

.insurance {
	padding: 5em 0;
	width: 100%;
	background: #fff;
}
.insurance h2{
	display: flex;
	gap: .5em;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.insurance h2 div{
	display: flex;
	align-items: center;
    gap: .5em;
	font-size: 2rem;
	font-weight: bold;
	color: var(--co-black3);
	letter-spacing: .1em;
	line-height: 1;
}
.insurance .insurance-inner p{
	margin-bottom: 3em;
    color: var(--co-black6);
	text-align: justify;
	max-width: 800px;
    margin: auto;
}
.insurance .col.single .insurance-inner {
    border-radius: 12px;
    background: #fff;
    width: 100%;
    margin: 0 auto;
    padding: 2em;
    text-align: center;
    box-shadow: #d5d5d5 0px 0px 20px;
	max-width: 960px;
    margin: auto;
}
.insurance .col.single .insurance-inner picture {
}
.insurance .col.single .insurance-inner picture img{
	width: 100%;
	max-width: 800px;
}
@media screen and (max-width: 599px) {
	.insurance {
		padding: 4em 0;
	}
	.insurance h2 {
		margin-bottom: 1em;
	}
	.insurance h2 div{
		font-size: 1.25rem;
	}
	.insurance .insurance-inner p{
		font-size: .9em;
        line-height: 1.8;
		margin-bottom: 1.5em;
	}
	.insurance .col.single .insurance-inner {
		padding: 1em;
	}
	
}
/* pension ---------------------------------------------------------- */
.pension {
	padding: 5em 0;
	background: #F2F7FF;
}
.pension h2{
	display: flex;
	gap: .5em;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5em;
}
.pension .coldb{
	gap: 2em;
    max-width: 800px;
}
.pension .coldb .pension-text p{
	text-align: left;
	color: var(--co-black6);
}
.pension .coldb .pension-img img{
	width: 100%;
	height: auto;
}
@media screen and (max-width: 599px) {
	.pension {
		padding: 4em 0;
		background: #F2F7FF;
	}
	.pension .coldb {
		flex-direction: column;
	}
	.pension .coldb .pension-text p {
		font-size: .9em;
        line-height: 1.8;
	}
}
/* reason ---------------------------------------------------------- */
.reason {
	padding: 5em 0;
	background-image: url(../../images/reason-bg.jpg);
	width: 100%;
	background-size: cover;
    background-position: center;
}
.reason h2{
	display: flex;
	gap: .5em;
	justify-content: center;
	align-items: center;
	color: #fff;
	margin-bottom: 1.5em;
}
.reason .col{
	margin-bottom: 3em;
}
.reason .coldb{
	gap: 2em;
	align-items: center;
	max-width: 800px;
}
.reason .coldb .reason-text{
	width: 100%;
    display: flex;
    gap: 1em;
    align-items: center;
}
.reason .reason-text .number{
	font-family: "oswald", serif;
	font-size: 5em;
    color: #FCDC7C;
    font-weight: 900;
	line-height: 1;
}
.reason .reason-text h3{
	color: #fff;
	text-align: left;
	letter-spacing: .1em;
	margin-bottom: unset;
}
.reason .reason-text p{
	color: #fff;
	text-align: left;
}
.reason .reason-text p span{
	color: #FCDC7C;
	font-weight: 600;
}
.reason .coldb .reason-inner {
	width: 60%;
}
.reason .reason-inner .reason-detail{
    margin-top: 2em;
}
.reason .reason-inner .reason-detail p{
    color: #fff;
	text-align: left;
}
.reason .coldb .reason-img{
	width: 40%;
}
.reason .coldb .reason-img img{
	border-radius: 12px;
	width: 100%;
    height: auto;
}
.reason .col.single{
	max-width: 800px;
}
.reason .col.single .reason-text{
	width: 100%;
	display: flex;
	gap: 1em;
	align-items: center;
}
.reason .col.single .reason-img{
	margin-top: 2em;
	background: #fff;
	border-radius: 12px;
}
.reason .col.single .reason-img img{
	padding: 2em;
}
.reason .col.single.reason03 .reason-text{
	margin-bottom: 1em;
	align-items: center;
}
.reason .col.single.reason03 .reason-text-2{
	text-align: left;
	margin-top: 2em;
}
.reason .col.single.reason03 .reason-text-2 p.reason-text-cap{
	background: #FCDC7C;
    width: fit-content;
    padding: .7em 1em;
    font-weight: 900;
    letter-spacing: .1em;
    font-size: 1.4em;
    border-radius: 8px;
    color: #094B72;
    margin-bottom: .5em;
    line-height: 1;
}
.reason .col.single.reason03 .reason-detail p{
	color: #fff;
}
.reason .col.single.reason03 .reason-detail p span{
	color: #FCDC7C;
	font-weight: 600;
}
.reason .col.single.reason03 .reason-detail p small{
	font-size: .8em;
	margin-left: .5em;
}
.reason .col.single.reason03 .reason-detail {
	padding-bottom: 0em;
}
.reason .col.single.reason03 .reason-img-2 {
	gap: .5em;
	margin-top: 1em;
}
.reason .col.single.reason03 .reason-img-2 figure{
	border-radius: 8px;
	width: calc(100%/4 - .25em);
}
.reason .col.single.reason03 .reason-img-2 figure img{
	width: 100%;
	border-radius: 8px;
}
.reason .col.single.reason04 .reason-img-2{
	margin-top: 2em;
	flex-wrap: wrap;
	gap: .25em;
}
.reason .col.single.reason04 .reason-img-2 figure{
	border-radius: 8px;
	width: calc(100%/4 - .25em);
}
.reason .col.single.reason04 .reason-img-2 figure img{
	width: 100%;
	border-radius: 8px;
}
@media screen and (max-width: 599px) {
	.reason {
		padding: 4em 0;
	}
	.reason .col {
		margin-bottom: 2em;
	}
	.reason .coldb {
		flex-direction: column;
	}
	.reason .reason-text h3 {
		font-size: 1.1rem;
	}
	.reason .coldb .reason-inner {
		width: 100%;
	}
	.reason .coldb .reason-img {
		width: 100%;
	}
	.reason .reason-inner .reason-detail {
		margin-top: 1em;
	}
	.reason .reason-inner .reason-detail p{
		font-size: .9em;
        line-height: 1.8;
	}
	.reason .col.single.reason03 .reason-detail p {
		font-size: .9em;
        line-height: 1.8;
	}
	.reason .coldb .reason-img img {
		height: 150px;
		object-fit: cover;
	}
	.reason .reason-text .number {
		font-size: 3.8em;
	}
	.reason .col.single .reason-img img {
		padding: 1em;
	}
	.reason .col.single.reason03 .reason-text-2 p.reason-text-cap {
		width: 100%;
		font-size: 1.2em;
		text-align: center;
	}
	.reason .col.single.reason03 .reason-img-2 {
		flex-direction: unset;
		flex-wrap: wrap;
	}
	.reason .col.single.reason03 .reason-img-2 figure {
		width: calc(100% / 2 - .25em);
	}
	.reason .col.single.reason04 .reason-img-2 {
		flex-direction: unset;
	}
}

/* --------------------------------------------------------------- #property -- */
#property {
	padding: 5em 0;
    background: #F2F7FF;
	z-index: 2;
}
#property .section__inner .section__heading {
    text-align: center;
}
#property .section__inner .section__heading h2{
    margin-bottom: 1em;
}
#property .section__inner .section__heading p {
	margin-bottom: 3em;
    color: var(--co-black6);
}
#property .section__inner .section__container {
    margin: 3em auto 0;
    position: relative;
    max-width: 800px;
    text-align: center;
}
#property .slider {
	margin: 0 auto;
}
#property .slide__thumb {
	margin: 0 1em;
	position: relative;
}
#property .slide__thumb img {
	height: auto;
	width: 100%;
	border-radius: 12px;
    height: 350px;
    object-fit: cover;
    object-position: top;
}
#property .slider .slide__thumb span{
	position: absolute;
    left: 0;
    top: 0;
    background: #3291D2;
    padding: 1em;
	color: #fff;
	border-radius: 12px 0 0 0;
	font-size: .8em;
    font-weight: 600;
    letter-spacing: .05em;
}
#property .slider .slide__thumb span.nagoya{
	background: #3291D2;
}
#property .slider .slide__thumb span.tokyo{
	background: #28B9B4;
}
#property .slider .slide__thumb span.yokohama{
	background: #F5825A;
}
#property .slider .slide__thumb span.kyoto{
	background: #FFC800;
}
#property .slider .slide__thumb span.osaka{
	background: #0098f3;
}
#property .slider .slide__thumb span.kobe{
	background: #879BDC;
}
#property .slider .slick-slide p{
	font-size: 1.2em;
    font-weight: 900;
    line-height: 1.5;
    margin: 1em 0;
	color: var(--co-black3);
}
.arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 20px 0 0;
}

.prev-arrow,
.next-arrow {
    display: block;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 50%;
    transition: all .3s ease;
    cursor: pointer;
    position: absolute;
	box-shadow: 0px 0px 8px #bababa;
}

.next-arrow {
    transform: rotate(180deg);
	right: 0%;
    top: 40%;
    transform: translate(0, -50%);
}
.prev-arrow {
    transform: rotate(180deg);
	left: 0%;
    top: 40%;
    transform: translate(0, -50%);
}
.next-arrow::before{
	position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-top: 2px solid #333;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
}
.prev-arrow::before{
	position: absolute;
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-top: 2px solid #333;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(225deg);
}
.slide-dots{
	position: absolute;
	bottom: -25px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
  }
.slide-dots li{
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	padding: 0;
	cursor: pointer;
  }
.slide-dots li button{
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
    color: #004d7b;
	border: 0;
	outline: none;
	background: transparent;
  }
.slide-dots li button:hover,
.slide-dots li button:focus{
outline: none;
}
.slide-dots li button:hover:before,
.slide-dots li button:focus:before{
opacity: 1;
}
.slide-dots li button:before{
font-family: 'slick';
font-size: 24px;
line-height: 20px;
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
content: '•';
text-align: center;
opacity: .25;
color: var(--co-accent-01);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.slide-dots li.slick-active button:before{
opacity: .75;
color: var(--co-accent-01);
}
@media screen and (max-width: 599px) {
	#property {
		padding: 4em 2em;
	}
	#property .section__inner .section__container{
		margin: 30px 0 0;
	}
	#property .slider .slick-slide p {
		font-size: 1em;
		font-weight: 900;
		line-height: 1.5;
		margin: 1em 0 0;
	}
	.slide-dots li {
		width: 16px;
		height: 16px;
	}
	#property .section__inner .section__heading p {
		font-size: .9em;
        line-height: 1.8;
		margin-bottom: 2em;
	}
}

/* -------------------------------------------------------------- #company -- */

#company {
	padding: 5em 0;
	background: var(--co-sub-05);
	z-index: 2;
}
#company .section__heading{
	text-align: center;
}
#company .section__heading h2{
	margin-bottom: 1.5em;
}
#company .section__container{
	max-width: 800px;
	margin: auto;
}
#company .section__container .company__area{
	padding: 2em;
    background: #fff;
    border-radius: 20px;
	box-shadow: #d5d5d5 0px 0px 20px;
}
#company table{
	border: unset;
    border-collapse: collapse;
    margin: 0px auto;
    width: 100%;
	margin-bottom: 1em;
}
#company tr:first-of-type th{
	border-top: unset;
}
#company tr:first-of-type td{
	border-top: unset;
}
#company th{
	background: #fff;
    border-bottom: unset;
    text-align: left;
    padding: 15px;
    font-weight: 700;
    text-align: left;
    vertical-align: middle;
	border-right: #004D7B solid 2px;
	color: var(--co-black3);
	font-size: .9em;
}
#company td{
    border-bottom: unset;
    padding: 8px 10px 8px 3em;
	color: var(--co-black6);
	font-size: .9em;
}
@media screen and (max-width: 599px) {
	#company {
		padding: 4em 1rem;
	}
	#company table tr {
        flex-direction: unset;
    }
	#company th {
        font-size: .9em;
		min-width: 90px;
        padding: .5em 0em .5em 1em;
	}
	#company td {
		font-size: .9em;
        padding: .5em 0em .5em 1em;
	}
	#company .section__container .company__area {
		padding: 1em;
		border-radius: 12px;
	}
	#company table {
		margin-bottom: 0em;
	}
  }

/* --------------------------------------------------------------footer -- */
footer{background: #004D7B;padding: 1em;}
footer p{font-family: "Oswald,serif";color: #fff; line-height: 1;}

.footer-sp {
	display: none;
	opacity: 0;
  	transition: opacity 0.5s ease-in-out;
	position: fixed;
    width: 100%;
	z-index: 9;
	background: var(--co-White);
	bottom:0;
  	box-sizing: border-box;
	box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.1);
}
.footer-sp.is-scroll-sp {
	opacity: 1;
	animation: fadedown 0.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.footer-sp .footer-sp_ul li  {
	width: 50%;
}
.footer-sp .footer-sp_ul li:first-child a {
    background-color: #06C755;
}
.footer-sp .footer-sp_ul li:last-child a {
    background-color: #094B72;
}

.footer-sp .footer-sp_ul{
	display: flex;
}
.footer-sp .footer-sp_ul li {
	width: calc(100%);
}
.footer-sp .footer-sp_ul li a {
    font-size: .9em;
    font-weight: 600;
    letter-spacing: .13em;
    width: calc(100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
	height: 50px;
	gap: .5em;
}

@keyframes fadedown {
	0% {
	  transform: translateY(20px);
	  opacity: 0;
	}
	80% {
	  opacity: 1;
	}
	100% {
	  opacity: 1;
	  transform: translateY(0);
	}
}
@media screen and ( max-width:1024px ) {
	.footer-sp{
		display: block;
	}
	footer {
		background: #004D7B;
		padding: 1em 1em 4.5em;
	}
}
