@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=radio],
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 {
	color: #333;
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 500;
}

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, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
	font-weight: 500;
}

*,
*: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;
    }
}
/*** sp ***/
@media screen and (max-width: 767px) {
    html {
        font-size: 62.5%;
    }
}
@media screen and (max-width: 374px) {
	html {
	    font-size: 2.6667vw;
	}
}

body {
	letter-spacing: 0.05em;
    color: #333;
    font-family: YakuHanJP, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 500;
    font-size: 1.6rem;
    -webkit-text-size-adjust: none;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.font-notosans {
	font-family: "Noto Sans JP", sans-serif;
}
.font-titillium {
	font-family: "Titillium Web", sans-serif;
}


/* !Base Fonts -------------------------------------------------------------- */
* { 
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

a {
    color: inherit;
    text-decoration: none;
}

.underline {
	text-decoration: underline;
}

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

    .op {
        transition: opacity 0.5s ease-out;
    }

    .op:hover {
        opacity: .7;
    }

    a.underline:hover {
    	text-decoration: none;
    }

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

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

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

.is-hide {
    display: none;
}

.unload {
	overflow: hidden;
	height: 100vh;
}
#loading {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 5;
	width: 100%;
	height: 100vh;
	background: #fff;
}
.load-inner {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
#loading .logo-tree {
	position: relative;
	margin: 0 auto 1.8rem;
	width: 17rem;
	height: 14rem;
}
#loading .logo {
	opacity: 0;
	animation: logoshow 1.5s forwards;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}
#loading .logo1 {
	animation-delay: 0.2s;
}
#loading .logo2 {
	animation-delay: 1.7s;
}
#loading .logo3 {
	animation-delay: 3.2s;
} 
@keyframes logoshow {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#loading .timeline {
	margin: 0 auto;
	width: 18rem;
	text-align: center;
}
#loading .bar {
	overflow: hidden;
	-webkit-appearance: none;
	height: 1.1rem;
	width: 100%;
	border-radius: 1rem;
}
#loading .bar::-webkit-progress-bar {
	background: #E4F7D9;
}
#loading .bar::-webkit-progress-value {
	background: #46B13F;
}
#loading .bar-value {
	margin-left: 1rem;
	color: #45B03E;
	font-size: 3.3rem;
	font-weight: 800;
}
#loading .bar-value:after {
	content: "%";
	font-size: 2rem;
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	position: relative;
	z-index: 2;
	padding-top: 10rem;
}

#contents {
	position: relative;
}

/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99;
	padding: 0 4rem;
	width: 100%;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
}
#header h1 {
	display: none;
}

.header-inner {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 128rem;
}

.header-logo {
	display: flex;
	align-items: center;
	height: 10rem;
}
.header-logo img {
	width: 21.7rem;
}

.btn-menu {
	display: none;
    width: 6.8rem;
}
.btn-menu span {
    display: block;
    height: 0.3rem;
	width: 50%;
    background: #333;
	border-radius: 1rem;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
}
.btn-menu.is-active span:first-child {
    -webkit-transform: translateY(1.1rem) rotate(45deg);
    -moz-transform: translateY(1.1rem) rotate(45deg);
    -ms-transform: translateY(1.1rem) rotate(45deg);
    transform: translateY(1.1rem) rotate(45deg);
}
.btn-menu.is-active span:nth-child(2) {
    opacity: 0;
}
.btn-menu.is-active span:last-child {
    -webkit-transform: translateY(-1.1rem) rotate(-45deg);
    -moz-transform: translateY(-1.1rem) rotate(-45deg);
    -ms-transform: translateY(-1.1rem) rotate(-45deg);
    transform: translateY(-1.1rem) rotate(-45deg); 
}

#g-navi {
	display: flex;
	align-items: center;
}
#g-navi > ul {
	display: flex;
	gap: 0 2rem;
}
#g-navi li {
	position: relative;
}
#g-navi li .tit {
	position: relative;
}
#g-navi li .tit a {
	display: block;
	padding: 1rem 2rem 1rem 0;
	background: url(../img/common/icon_arr_down.svg)no-repeat right center;
	background-size: 1.3rem;
}
#g-navi li .tit span {
	display: none;
}
#g-navi .pullmenu {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 99%;
	left: 50%;
	transform: translateX(-50%);
	transition-duration: 0.3s;
	padding: 1.5rem 3rem;
	min-width: 15rem;
	width: auto;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
}
#g-navi .sub-links a {
	display: block;
	margin: 1rem 0;
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
	font-size: 1.5rem;
	line-height: 2.5;
}
#g-navi .sub-links2 a {
	display: block;
	padding-left: 2em;
	text-indent: -0.85em;
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
	font-size: 1.4rem;
}

.header-links.btn-link {
	display: flex;
	gap: 0 1rem;
	margin: 0 0 0 2.6rem;
}
.header-links.btn-link a {
	padding: 1rem 3.6rem 1rem 2.6rem;
	height: 5.3rem;
	width: auto;
	font-size: 1.5rem;
} 

@media only screen and (max-width : 1300px){
	#header {
		padding: 0 2rem;
	}
	.header-logo img {
	    width: 18rem;
	}
	#g-navi ul {
	    gap: 0 1.6rem;
	}
	#g-navi li .tit a {
		padding-right: 1.6rem;
		background-size: 1rem;
	}
	.header-links a {
	    padding: 0 3rem 0 2rem;
		height: 5rem;
	}
	.header-links {
	    margin-left: 2rem;
	}
}
/*** hover ***/
@media screen and (min-width: 960px) {
	#g-navi li:hover .pullmenu {
		opacity: 1;
		visibility: visible;
	}
	#g-navi .pullmenu a:hover {
		color: #45B03E;
	}
}


/* !footer
---------------------------------------------------------- */
.page-top {
	cursor: pointer;
	position: absolute;
	right: 3.2rem;
	bottom: 8rem;
	padding: 1.1rem 0;
	width: 8.4rem;
	border-radius: 2rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
	text-align: center;
}

#footer {
	position: relative;
	z-index: 98;
	font-size: 1.4rem;
}
.foot-links {
	padding: 4rem 0;
	background: #45B03E;
	letter-spacing: 0.1em;
	line-height: 2;
	color: #fff;
	font-size: 1.4rem;
}
.foot-links-content {
	display: flex;
	justify-content: space-between;
	gap: 0 2rem;
}
.foot-links a {
	display: block;
}
.foot-links .tit a {
	position: relative;
	padding-left: 1.4rem;
	font-weight: 700;
}


.foot-links .tit a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 0.8rem;
	height: 1.4rem;
	background: url(../img/common/icon_arr_right_wh.svg) no-repeat center;
	background-size: 100%;
}
.foot-links .other-links .tit + .tit {
	margin-top: 1rem;
}
.foot-links .tit span {
	display: none;
}
.foot-links .sub-links {
	padding-left: 1.4rem;
	font-size: 1.3rem;
}
.foot-links .col2 {
	display: flex;
	gap: 0 4rem;
}
.foot-links .notes {
	padding-left: 1rem;
}
.foot-links .notes li {
	padding-left: 0.8em;
	text-indent: -0.8em;
}
.footer-inner {
	padding: 2.6rem 0;
	background: #EDFAE5;
}
.footer-inner .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	max-width: 115rem;
}
.footlogo {
	width: 17rem;
}
.footer-access {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	width: calc(100% - 19.5rem);
}
.footer-access li {
	padding: 2.5rem 2.2rem;
	background: #fff;
	border-radius: 2rem;
}
.footer-access .place {
	margin-bottom: 0.2rem;
	line-height: 1.64;
	font-weight: 700;
}
.footer-access .google {
	float: right;
	text-decoration: underline;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	gap: .2rem;
}

.footer-access .google:after {
	width: 1rem;
	height: 1rem;
	content: '';
	background: url(../img/common/icon_files.svg) center center no-repeat;
	background-size: 100% auto;
}

.footer-access .contact {
	margin-top: 1.2rem;
}
.footer-access .btn-link {
    margin-top: 0;
	padding: 0;
	background: none;
}
.footer-access .btn-link .btn {
	margin-bottom: 1.3rem;
	max-width: inherit;
}

#copyright {
	padding: 1.8rem;
	background: #45B03E;
	letter-spacing: 0.1em;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 1.3rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	
	.foot-links a:hover {
		text-decoration: underline;
	}
	.footer-access .google:hover {
		text-decoration: none;
	}
}


/* !common
---------------------------------------------------------- */
#teaser {
	overflow: hidden;
	position: relative;
	z-index: 2;
}
#teaser:before {
	content: "";
	opacity: 0.5;
	position: absolute;
	left: -17.6rem;
	top: -26.4rem;
	z-index: -1;
	width: 59.7rem;
	height: 59.7rem;
	background: radial-gradient(rgba(255,227,77,0.22), rgba(55,255,255,0) 70%);
	border-radius: 50%;
}
#breadcrumb {
	padding: 2.6rem 4.6rem 0.2rem;
}
#breadcrumb ul {
	display: flex;
}
#breadcrumb li {
	letter-spacing: 0.1em;
	color: #9D9D9D;
	font-size: 1.1rem;
}
#breadcrumb li + li:before {
	content: "＞";
	margin: 0 0.5rem;
}
.teaser-ban {
	padding-top: 9.2rem;
	background: url(../img/common/icon_teaser.svg)no-repeat right 15.8rem top;
	background-size: 21.6rem;
}
.teaser-ban .head-large {
	margin-bottom: 1.8rem;
	text-align: right;
}
.teaser-ban img {
	width: 100%;
}
.teaser-ban .bg {
	position: relative;
	z-index: 2;
	padding-bottom: 1.7rem;
}
.teaser-ban .bg:before {
	content: "";
	position: absolute;
	top: 1.7rem;
	right: 1.7rem;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url(../img/common/teaser_shadow.png);
}
.teaser-ban .logo {
	clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
	position: absolute;
	left: 0;
	top: 0;
	padding: 1rem;
	width: 9.6rem;
	height: 9.6rem;
	background: #45B03E;
}
.teaser-ban .logo img {
	width: 3.6rem;
}
.teaser-head {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 20.8rem;
	background: url(../img/common/bg_teaser_logo.png)no-repeat center bottom #F3F8F3;
	background-size: 22.6rem;
}
.teaser-head .head-large {
	position: relative;
	margin-bottom: 0;
}
.teaser-head .head-large:before,
.teaser-head .head-large:after {
	content: "";
	position: absolute;
	background: no-repeat center;
	background-size: 100%;
}
.teaser-head .head-large:before {
	top: 0.3rem;
	right: calc(100% + 3.7rem);
	width: 9.9rem;
	height: 5.4rem;
	background-image: url(../img/common/icon_hd_teaser01.svg);
}
.teaser-head .head-large:after {
	top: 0;
	left: calc(100% + 3.7rem);
	width: 9.6rem;
	height: 5.8rem;
	background-image: url(../img/common/icon_hd_teaser02.svg);
}

.inner,
.inner-small,
.inner-small2,
.inner-small3,
.inner-small4 {
	padding: 0 5rem;
	margin: 0 auto;
	max-width: 130rem;
}
.inner-small {
	max-width: 110rem;
}
.inner-small2 {
	max-width: 103.6rem;
}
.inner-small3 {
	max-width: 118.8rem;
}
.inner-small4 {
	max-width: 100rem;
}

.mt24 {
	margin-top: 2.4rem;
}
.mt65 {
	margin-top: 6.5rem;
}
.mt90 {
	margin-top: 9rem;
}
.mt100 {
	margin-top: 10rem;
}

.ta-center {
	text-align: center;
}

.bg-light-gre {
	background: #F3F8F3;
}

.color-green {
	color: #45B03E;
}
.color-gray {
	color: #848484;
}

.head-large {
	margin-bottom: 3.2rem;
	line-height: 1.45;
	font-size: 3.5rem;
	font-weight: 700;
}
.head-small {
	font-size: 2rem;
	font-weight: 700;
}

.txt-sub {
	text-align: center;
	line-height: 2;
}

.txt-common {
	line-height: 1.6875;
}

.btn-link {
	margin-top: 4rem;
}
.btn-link .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0.3s;
	padding: 1rem 2.6rem;
	width: 100%;
	max-width: 25rem;
	height: 5.7rem;
	background: url(../img/common/icon_arr_right_wh.svg)no-repeat right 2.2rem center #45B03E;
	background-size: 0.8rem;
	border-radius: 5rem;
	border: 0;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
}
.btn-link .btn-web {
	background-color: #FFE34D;
	background-image: url(../img/common/icon_arr_right.svg);
	color: #333;
}
.btn-link .link {
	background: none;
	border: 0;
	text-decoration: underline;
	color: #6A6A6A;
	font-weight: 700;
	font-size: 1.5rem;
}

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

/*** hover ***/
@media screen and (min-width: 960px) {
	.btn-link .btn:hover {
		opacity: 0.7;
		background-position: right 1.7rem center
	}
	
	#breadcrumb li a:hover {
		text-decoration: underline;
	}
}


/* !page
---------------------------------------------------------- */
#main-visual {
	position: relative;
}
.js-image-scroll {
	overflow: hidden;
	display: flex;
}
.js-image-scroll ul {
	display: flex;
	align-items: flex-start;
}
.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-slide li {
	overflow: hidden;
	padding-right: 1.8rem;
	width: 59.4rem;
}
#main-visual .head {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	padding: 0.5rem 4rem 0.5rem 6rem;
	background: rgba(255,255,255,0.9);
	border-top-right-radius: 2rem;
	line-height: 1.4;
	font-weight: 700;
	font-size: 5rem;
}
#main-visual .head .big {
	font-size: 5.6rem;
}
#main-visual .head .small {
	font-size: 4.6rem;
}

.top-notice {
	position: relative;
	z-index: 2;
	padding: 3rem 0;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
}
.top-notice dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 114rem;
}
.top-notice dt {
	display: flex;
	align-items: center;
	gap: 0 0.5rem;
}
.top-notice .cate {
	padding: 0.6rem 1.2rem;
	background: #45B03E;
	border-radius: 2rem;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #fff;
	font-size: 1.3rem;
}
.top-notice .date {
	color: #3C3636;
}
.top-notice dd {
	position: relative;
	padding-right: 2.4rem;
	width: calc(100% - 20rem);
}
.top-notice .go-detail {
	font-size: 1.4rem;
}
.top-notice .go-list {
	position: absolute;
	right: 0;
	top: 0;
	width: 1.8rem;
	height: 1.8rem;
	background: url(../img/common/icon_arr_right.svg) no-repeat center;
	background-size: 1rem;
}

.bg-square {
	position: relative;
	z-index: 2;
}
.bg-square .element {
	pointer-events: none;
	position: absolute;
	z-index: -2;
}
.bg-square .icon-square01 {
	top: 16.5rem;
	left: calc(50% - 61.5rem);
	width: 10rem;
}
.bg-square .icon-square02 {
	bottom: 0;
	right: 3.5rem;
	width: 4.8rem;
}

.top-about {
	overflow: hidden;
	position: relative;
	padding: 16rem 0;
	background: url(../img/top/bg_about.png)no-repeat center;
	background-size: 75.4rem;
}
.top-about .photos .pic {
	position: absolute;
}
.top-about .photos .pic1 {
	top: 10rem;
	left: calc(50% + 32.4rem);
	width: 36rem;
}
.top-about .photos .pic2 {
	bottom: 5rem;
	left: calc(50% + 37rem);
	width: 31.3rem;
}
.top-about .photos .pic3 {
	top: 34.8rem;
	right: calc(50% + 36rem);
	width: 36.9rem;
}
.top-about .photos .pic4 {
	top: 55rem;
	right: calc(50% + 33.1rem);
	width: 21.9rem;
}

.top-about .con {
	margin: 0 auto;
	max-width: 52rem;
	text-align: center;
}
.top-about .con p {
	margin-bottom: 1.6rem;
	line-height: 2.333;
	font-size: 1.8rem; 
}

.top-reason {
	padding-top: 4.2rem;
}
.top-reason ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 1.6rem;
}
.top-reason li {
	position: relative;
	padding: 3.6rem 3.2rem;
	background: #F7F7F7;
	border: 1px solid;
	line-height: 1.6875;
}
.top-reason li .step {
	clip-path: polygon(0% 0%, 100% 0%, 0% 100%);
	position: absolute;
	left: 0;
	top: 0;
	padding: 0 1.8rem;
	width: 9.6rem;
	height: 9.6rem;
	background: #45B03E;
	color: #fff;
	font-weight: 700;
	font-size: 3rem;
}
.top-reason li .img {
	margin-bottom: 1.2rem;
	text-align: center;
}
.top-reason li .tit {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	text-align: center;
	line-height: 1.5;
	font-weight: 700;
	font-size: 1.8rem;
}

.top-service {
	padding-top: 8.6rem;
}
.top-service .txt-sub {
	margin-bottom: 3.2rem;
}
.top-service .service-cate {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 3rem;
}
.btn-anchor {
	display: block;
	padding: 1.6rem 4rem 1.6rem 0;
	background: url(../img/common/icon_arr_right.svg) no-repeat right 3rem center;
	border-bottom: 1px solid #CECECE;
	letter-spacing: 0.1em;
	font-weight: 700;
}
.top-service .btn-link {
	margin-top: 3rem;
	text-align: center;
}

.top-business {
	overflow: hidden;
	padding-top: 4.5rem;
}
.top-business .business-ctrl {
	display: flex;
	gap: 0 0.5rem;
	margin-bottom: 0.5rem;
}
.top-business .business-ctrl li {
	width: 100%;
}
.top-business .business-ctrl li:first-child a {
	font-size: 1.6rem;
} 
.top-business .business-ctrl li a {
	display: flex;
	align-items: center;
	justify-content: center;
	transition-duration: 0;
	padding: 1.6rem 0;
	height: 100%;
	background: #EBEBEB;
	border-radius: 2rem 2rem 0 0;
	text-align: center;
	letter-spacing: 0;
	line-height: 1.4;
	color: #B2B2B2;
	font-size: 1.7rem;
	font-weight: 700;
}
.top-business .business-ctrl li .big {
	font-size: 2rem;
}
.top-business .business-ctrl li .is-active {
	min-width: 21.7rem;
	background: #45B03E;
	color: #fff;
}

.top-business .business-display {
	padding: 10rem 0;
	background: #F3F8F3;
}
.bg-square .icon-square03 {
	top: 5.5rem;
	right: calc(50% - 64.3rem);
	width: 9rem;
}
.bg-square .icon-square04 {
	bottom: 4.2rem;
	left: calc(50% - 65.7rem);
	width: 12.2rem;
}
.business-display .display {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.business-display .display .img {
	width: 39.5%;
}
.business-display .display .info {
	width: 55%;
}
.business-display .display .head {
	position: relative;
	padding-left: 1.2rem;
	margin-bottom: 1rem;
	line-height: 1.2;
	font-size: 2.2rem;
	font-weight: 700;
}
.business-display .display .head:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2rem;
	height: 2.5rem;
	border-left: 0.4rem solid #45B03E;
}

.top-company {
	padding: 8rem 0 12rem;
}
.top-company .display {
	position: relative;
	max-width: 36.8rem;
}
.top-company .display .head-large {
	margin-bottom: 1.5rem;
}
.top-company .display .photos {
	position: absolute;
	top: 0;
	left: calc(100% + 12rem);
	width: 100%;
}
.company-imglist {
  position: relative;
}
.company-imglist li {
	width: 100%;
	position: relative;
	z-index: 2;
}
.company-imglist li.current1 {
  animation: slideimg 1s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg {
  0% {
	z-index: 3;
	transform: translateX(0px) rotate(0deg);
  }
  49% {
	z-index: 3;
	transform: translateX(-20px) rotate(-8deg);
  }
  50% {
	z-index: 0;
	transform: translateX(-20px) rotate(-8deg);
  }
  100% {
	z-index: 0;
	transform: translateX(0px) rotate(0deg);
  }
}
.company-imglist li.current2 {
  animation: slideimg2 1s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg2 {
  0% {
	z-index: 2;
  }
  49% {
	z-index: 2;
  }
  50% {
	z-index: 3;
  }
  100% {
	z-index: 3;
  }
}
.company-imglist li.current3 {
  animation: slideimg3 1s cubic-bezier(0.83, 0, 0.17, 1) forwards;
}
@keyframes slideimg3 {
  0% {
	z-index: 1;
  }
  49% {
	z-index: 1;
  }
  50% {
	z-index: 2;
  }
  100% {
	z-index: 2;
  }
}
.company-imglist li .img {
	position: relative;
}
.company-imglist li .img:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	background: rgba(51,51,51,0.5);
	transition: opacity 1s ease;
}
.company-imglist li.current2 .img:before {
	opacity: 0;
}
.company-imglist li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.company-imglist li:nth-of-type(1) .img {
  transform: rotate(3deg);
}
.company-imglist li:nth-of-type(2) {
  position: absolute;
  top: 9px;
  left: 0;
  z-index: 1;
}
.company-imglist li:nth-of-type(2) .img {
  transform: rotate(-8deg);
}
.company-imglist li:nth-of-type(3) {
  position: absolute;
  top: -12px;
  left: -6px;
  z-index: 0;
}
.company-imglist li:nth-of-type(3) .img {
  transform: rotate(-20deg);
}
.top-company .company-links {
	margin-top: 1.6rem;
}

.top-recruit {
	position: relative;
}
.top-recruit .bg:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: rgba(51,51,51,0.4);
}
.top-recruit .bg img {
	width: 100%;
}
.top-recruit .info {
	position: absolute;
	left: 0;
	bottom: 8.7rem;
	z-index: 2;
	width: 100%;
	color: #fff;
}
.top-recruit .info .txt-common {
	max-width: 36.8rem;
}

.top-news {
	padding: 8.8rem 0 7.5rem;
	background: #F3F8F3;
}
.news-content {
	display: flex;
	justify-content: space-between;
}
.news-content .side {
	width: 25%;
}
.news-content .main {
	width: calc(50% + 19.2rem);
}

.news-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-bottom: 2rem;
}
.news-tags a {
	padding: 0.5rem 2rem;
	background: #EBEBEB;
	letter-spacing: 0.1em;
	border-radius: 2rem;
	line-height: 1.25;
	color: #808080;
	font-size: 1.2rem;
}
.news-tags a.on,
.news-tags a.is-active {
	background: #45B03E;
	color: #fff;
}
.news-list {
	border-top: 1px solid;
}
.news-list dl {
	padding: 2.4rem 0;
	width: 100%;
	border-bottom: 1px solid;
	letter-spacing: 0.1em;
}
.news-list dt {
	margin-bottom: 1.2rem;
}
.news-list dt .tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 1.6rem;
	width: 8.5rem;
	height: 2.5rem;
	background: #45B03E;
	border-radius: 2rem;
	color: #fff;
	font-size: 1.2rem;
}

.top-contact {
	padding: 2.5rem 0;
}
.contact-btn {
	display: block;
	overflow: hidden;
	position: relative;
	padding: 6.4rem 9.8rem;
	background: url(../img/common/bg_contact_pc.png)no-repeat center #FFE34D;
	background-size: 100%;
	border-radius: 5.2rem;
	font-size: 1.8rem;
	font-weight: 700;
}
.contact-btn:after {
	content: "";
	position: absolute;
	right: 9.8rem;
	top: 0;
	transition-duration: 0.3s;
	width: 1.6rem;
	height: 100%;
	background: url(../img/common/icon_arr_right.svg) no-repeat center;
	background-size: 100%;
}
.contact-btn .head {
	font-size: 3rem;
	font-weight: 700;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.top-notice .go-detail:hover {
		text-decoration: underline;
	}
	.top-notice .go-list:hover {
		background-position: right center;
	}
	
	.btn-anchor:hover {
		opacity: 0.7;
		background-position: right 2.4rem center;
	}
	
	.news-tags a:hover,
	.top-business .business-ctrl li a:hover {
		background: #45B03E;
		color: #fff;
	}
	
	.news-list dd a:hover {
		text-decoration: underline;
	}
	
	.contact-btn:hover:after {
		right: 9rem;
	}
}


/* about 
--------------------------------------------------------*/
.about-philosophy-vision {
	padding: 6rem 0 0;
}
.about-philosophy-vision .display {
	display: flex;
	justify-content: space-between;
	margin-top: 6.4rem;
}
.about-philosophy-vision .display .img {
	width: calc(34% - 0.2rem);
}
.about-philosophy-vision .display .info {
	width: 63%;
}
.about-philosophy-vision .display .visions {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
.about-philosophy-vision .display .visions li {
	padding: 2.2rem 2.4rem;
	background: #F3F8F3;
}
.about-philosophy-vision .display .visions .tit {
	margin-bottom: 0.8rem;
	color: #45B03E;
	font-size: 1.8rem;
	font-weight: 700;
}

.about-message {
	padding: 8.8rem 0 6.5rem;
}
.about-message .inner {
	max-width: 85rem;
}
.about-message .message-imgs {
	display: flex;
	justify-content: space-between;
	gap: 0 8.6rem;
	margin-bottom: 3.2rem;
}
.about-message .message-imgs .pic .name {
	margin-top: 0.3rem;
	text-align: center;
	font-weight: 700;
}
.about-message .message-info > p {
	margin-bottom: 2.6rem;
	line-height: 1.75;
}
.about-message .head {
	margin-bottom: 2rem;
	font-size: 2rem;
}
.about-message .end {
	margin-top: 3.2rem;
	font-weight: 700;
	font-size: 1.5rem;
	display: flex;
	justify-content: flex-end;
}

.about-message .end p {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.about-message .end .name {
	line-height: 1.4;
	font-size: 2rem;
}

.about-member {
	padding: 7rem 0 9rem;
	background: #F3F8F3;
}

.about-member .about-member__item {
	padding: 4rem 0;
}

.about-member .about-member__item:nth-child(odd) {
	background: rgba(188, 226, 165, .3);
}

.about-member .about-member__item:nth-child(even) {
	background: rgba(217, 240, 203, .3);
}

.about-member .members {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6.5rem 5rem;
	max-width: 90rem;
	margin: 0 auto;
}
.about-member .members .img {
	margin-bottom: 2rem;
}
.about-member .members .img img {
	width: 100%;
}
.about-member .members .head-small {
	margin-bottom: 1.6rem;
}
.about-member .members .introd {
	line-height: 1.85;
	color: #505050;
	font-size: 1.3rem;
}

.about-member .members .introd .introd-item {
	display: flex;
	align-items: flex-start;
}

.about-member .members .introd .th {
	font-weight: 700;
	white-space: nowrap;
	word-break: keep-all;
	min-width: 7.5rem;
	text-align: right;
}
.about-member .members .position {
	margin-top: 1.6rem;
}
.about-member .members .position .name {
	display: block;
	font-weight: 700;
	font-size: 2.1rem;
}

.about-features-strengths {
	padding: 6rem 0;
}
.about-features-strengths li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2.3rem 2.4rem;
	background: #F7F7F7;
	border: 1px solid #505050;
}
.about-features-strengths li + li {
	margin-top: 2rem;
}
.about-features-strengths li .icon {
	width: 14.4rem;
}
.about-features-strengths li .info {
	width: calc(100% - 16.8rem);
}
.about-features-strengths li .head-small {
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
}

.company-wrap {
	padding: 5rem 0 0;
}
.company-overview {
	padding: 4.8rem 0 10rem;
	background: #F3F8F3;
}
.company-table table {
	width: 100%;
	border-top: 1px solid #707070;
}
.company-table tr {
	border-bottom: 1px solid #707070;
}
.company-table th {
	vertical-align: top;
	padding: 3rem 1rem 3rem 0;
	width: 28rem;
	text-align: left;
	color: #45B03E;
	font-size: 1.8rem;
	font-weight: 700;
}
.company-table td {
	padding: 3.2rem 0;
}

.offices-list li + li {
	padding-top: 3rem;
	margin-top: 3rem;
	border-top: 1px dashed #707070;
}
.offices-list li .item + .item {
	margin-top: 2.6rem;
}
.offices-list .offices {
	margin-bottom: 0.8rem;
	font-weight: 700;
}
.offices-list .offices .prefecture {
	display: inline-flex;
	align-items: center;
	padding: 0 2rem;
	margin-bottom: 0.6rem;
	height: 2.8rem;
	background: #45B03E;
	border-radius: 2rem;
	color: #fff;
}

.offices-list .offices .google {
	text-decoration: underline;
    font-size: 1.2rem;
    margin-left: 1em;
    font-weight: 400;
}

.offices-list .offices .google:after {
    content: "";
    display: inline-block;
    margin: 0 0 0.3rem 0.2rem;
    width: 1rem;
    height: 1rem;
    background: url(../img/common/icon_files.svg) no-repeat center;
    background-size: 100%;
}

.offices-list p + p {
	margin-top: 1rem;
}

.company-history {
	padding: 4rem 0;
}
.history-timeline {
	position: relative;
	margin: 6.4rem auto 0;
	max-width: 75rem;
}
.history-timeline li {
	display: flex;	
	padding-bottom: ;
}
.history-timeline li .date {
	position: relative;
	width: 20rem;
	color: #45B03E;
	font-size: 1.8rem;
	font-weight: 700;
}
.history-timeline li .date:after {
	content: "";
	display: block;
	margin: 0.6rem 0 0 1.6rem;
	width: 0.4rem;
	height: 5rem;
	background: url(../img/common/icon_dots_col_gre.png) repeat-y;
	background-size: 100%;
}
.history-timeline li .td {
	width: calc(100% - 20rem);
}

.company-location {
	padding: 5rem 0 0;
}
.company-location .location-ctrl {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 0.5rem;
	margin-bottom: 0.9rem;
}
.location-ctrl a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8rem;
	width: 19rem;
	background: #EBEBEB;
	border-radius: 2rem 2rem 0 0;
	color: #B2B2B2;
	font-size: 2rem;
	font-weight: 700;
}
.location-ctrl a.is-active {
	width: 21.7rem;
	background: #45B03E;
	color: #fff;
}
.company-location-box {
	padding: 10rem 0 8rem;
	background: #F3F8F3;
}
.company-location .location-display {
	display: flex;
	justify-content: space-between;
}
.company-location .location-display .imgs {
	width: calc(50% + 0.8rem);
}
.company-location .location-display .info {
	width: calc(50% - 2.6rem);
}
.company-location-swiper {
	position: relative;
	overflow: hidden;
}
.company-location-swiper img {
	width: 100%;
}
.common-swiper-ctrl {
	display: flex;
	justify-content: flex-end;
	gap: 0 2.8rem;
	position: relative;
	margin-top: 1.6rem;
}
.common-swiper-ctrl .swiper-pagination {
	display: flex;
	align-items: center;
	gap: 0 1rem;
	left: 0;
	top: 0;
	margin: 0;
	width: auto;
	font-size: 0;
}
.common-swiper-ctrl .swiper-pagination-bullet-active {
	background: #45B03E;
}
.common-swiper-ctrl .swiper-pagination-bullet {
	display: block;
	margin: 0 !important;
	width: 1.1rem;
	height: 1.1rem;
}

.common-swiper-ctrl .swiper-pagination-bullet:only-child {
	display: block !important;
}
.swiper-button-prev:after,
.swiper-button-next:after {
	display: none;
}
.common-swiper-ctrl .swiper-button-prev,
.common-swiper-ctrl .swiper-button-next {
	position: static;
	margin-top: 0;
	width: 1.4rem;
	height: 2.3rem;
	background: url(../img/common/icon_arr_right.svg) no-repeat center;
	background-size: 100%;
}
.common-swiper-ctrl .swiper-button-prev {
	transform: scaleX(-1);
}
.company-location .location-display .head-small {
	margin-bottom: 0.5rem;
	letter-spacing: 0;
}
.company-location .location-display .office {
	margin-bottom: 2.5rem;
	font-size: 2.3rem;
	font-weight: 700;
}
.company-location .location-display .access li + li {
	margin-top: 1.3rem;
}
.company-location .location-display .access .th {
	margin-bottom: 0.5rem;
	line-height: 1.5;
	font-weight: 700;
}
.company-location .location-display .access .google {
	float: right;
	text-decoration: underline;
	font-size: 1.2rem;
}
.company-location .location-display .access .google:after {
	content: "";
	display: inline-block;
	margin: 0 0 0.3rem 0.2rem;
	width: 1rem;
	height: 1rem;
	background: url(../img/common/icon_files.svg) no-repeat center;
	background-size: 100%;
}

.company-location .tax-accountant {
	margin-top: 2.2rem;
}
.company-location .tax-accountant .tit {
	margin-bottom: 0.6rem;
	font-weight: 700;
}
.company-location .tax-accountant .box {
	padding: 4.2rem 4.5rem;
	background: rgba(188,226,165,0.3);
	letter-spacing: 0.04em;
}
.company-location .tax-accountant .pic {
	float: left;
	margin-right: 2rem;
	width: 23.3rem;
	text-align: center;
}
.company-location .tax-accountant .pic .position {
	margin-top: 0.5rem;
	color: #505050;
	font-size: 1.4rem;
}
.company-location .tax-accountant .pic .name {
	margin-right: 1rem;
	color: #333;
	font-weight: 700;
	font-size: 1.6rem;
}
.company-location .tax-accountant .info {
	overflow: hidden;
}
.company-location .tax-accountant .info li + li {
	margin-top: 2.6rem;
}
.company-location .tax-accountant .info .th {
	padding-bottom: 0.5rem;
	margin-bottom: 1.4rem;
	border-bottom: 1px solid;
	color: #505050;
	font-size: 1.4rem;
}
.company-location .tax-accountant .info .members {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 2.4rem;
}

/* service */
.service-introd {
	padding: 6rem 0 7.6rem;
}
.service-introd .txt-sub {
	margin-bottom: 3.6rem;
}
.service-introd .txt-sub .foucs {
	color: #45B03E;
	font-weight: 700;
}
.service-introd ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3.4rem;
}
.service-introd li a {
	display: block;
	position: relative;
	background: #EDFAE5;
	border: 1px solid #45B03E;
}
.service-introd li .info {
	padding: 1.6rem 2.8rem 6rem;
}
.service-introd li .head-small {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.8rem;
	text-align: center;
	color: #25891E;
	font-size: 1.8rem;
}
.service-introd li .arrow {
	clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
	position: absolute;
	right: -1px;
	bottom: -1px;
	padding: 1.6rem;
	width: 9rem;
	height: 9rem;
	background: url(../img/common/icon_arr_right_wh.svg) no-repeat right 1.6rem bottom 1.6rem #45B03E;
	background-size: 1.3rem;
	text-align: right;
	transition: background-position .3s ease-out;
}

.fancybox-content {
	max-width: 108.8rem;
}
.fancybox-button {
	display: none;
}
.fancybox-content .scrollbar {
	overflow-y: auto;
	padding-right: 0.6rem;
	height: 60vh;
}
	.scrollbar::-webkit-scrollbar {
  		width: 0.6rem; 
	}
	.scrollbar::-webkit-scrollbar-track {
		border-radius: 20px;
	}
	.scrollbar::-webkit-scrollbar-thumb {
		background: #25891E;
		border-radius: 20px;
	}
	.scrollbar::-webkit-scrollbar-thumb:hover {
		background: #45B03E;
	}
.fancybox-service-introd {
	padding: 8rem 9rem 7.5rem;
	background: #EDFAE5;
	border: 1px solid #45B03E;
}
.fancybox-service-introd .head {
	margin-bottom: 4.6rem;
	padding-bottom: 1.2rem;
	background: url(../img/common/icon_dots_gray.png) repeat-x center bottom;
	background-size: auto 0.35rem;
	color: #25891E;
	font-size: 2.5rem;
	font-weight: 700;
}
.fancybox-service-introd .head2 {
	padding: 0.5rem 2rem;
	margin-bottom: 1rem;
	background: #25891E;
	border-radius: 5rem;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
}
.fancybox-service-introd .display {
	display: flex;
	justify-content: space-between;
}
.fancybox-service-introd .display .img {
	width: calc(45% + 0.5rem);
}
.fancybox-service-introd .display .img img {
	width: 100%;
}
.fancybox-service-introd .display .info {
	width: calc(50% + 1rem);
	line-height: 1.875;
	font-weight: 500;
}
.fancybox-service-introd .display .info p + p {
	margin-top: 2rem;
}
.fancybox-service-introd .display .info .foucs {
	color: #25891E;
	font-weight: 700;
}
.support-content {
	margin-top: 3.5rem;
	padding: 3.4rem 4.5rem 4.2rem;
	background: #fff;
}
.support-content .tit {
	margin-bottom: 1.8rem;
	text-align: center;
	color: #25891E;
	font-size: 1.8rem;
	font-weight: 900;
}
.support-content ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 3rem 1rem;
}
.support-content li {
	padding-left: 2.8rem;
	min-width: 33rem;
	background: url(../img/common/icon_point_check.svg)no-repeat left top 0.4rem;
	background-size: 1.8rem;
}
.fancybox-btnctrl {
	display: flex;
	justify-content: center;
	position: relative;
	margin-top: 3.5rem;
	padding-top: 7.2rem;
	background: url(../img/common/icon_dots_gray.png) repeat-x center top;
	background-size: auto 0.35rem;
	text-align: center;
}
.fancybox-btnctrl .btn_gallery {
	cursor: pointer;
	position: absolute;
	top: 2rem;
	background-repeat: no-repeat;
	background-size: 0.8rem;
}
.fancybox-btnctrl .btn_gallery.btn-disabled {
	display: none;
}
.fancybox-btn-prev {
	left: 0;
	padding-left: 2.8rem;
	background-image: url(../img/common/icon_prev.svg);
	background-position: left center;
}
.fancybox-btn-next {
	right: 0;
	padding-right: 2.8rem;
	background-image: url(../img/common/icon_next.svg);
	background-position: right center;
}
.fancybox-btnctrl .close {
	cursor: pointer;
	border-bottom: 1px solid;
	line-height: 1.2;
	color: #25891E;
	font-size: 1.8rem;
	font-weight: 700;
}

.service-reason {
	padding: 5rem 0;
	background: #F3F8F3;
}
.service-reason li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
	background: #fff;
}
.service-reason li .step {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	width: 20rem;
	background: url(../img/service/bg_step.png)no-repeat center;
	background-size: 100%;
	text-align: center;
	letter-spacing: 0;
	line-height: 1;
	color: #45B03E;
	font-size: 6.8rem;
	font-weight: 700;
}
.service-reason li .step:after {
	content: "reason";
	display: block;
	margin-top: -0.8rem;
	font-family: YakuHanJP, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 2.7rem;
}
.service-reason li .info {
	padding: 3.4rem 5.8rem 3.4rem 0;
	width: calc(100% - 20rem);
}
.service-reason li .head-small {
	margin-bottom: 1.2rem;
	padding-bottom: 1.2rem;
	border-bottom: 1.5px dotted #707070;
}

.consultation-process {
	padding: 7rem 0;
}
.consultation-process .head-large {
	margin-bottom: 6rem;
	text-align: center;
}
.consultation-process ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 7.5rem 13rem;
}
.consultation-process li {
	position: relative;
}
.consultation-process li:after {
	content: "";
	position: absolute;
	left: calc(100% + 6rem);
	top: 50%;
	transform: translateY(-50%);
	width: 1.3rem;
	height: 2.7rem;
	background: url(../img/common/icon_arr_right_gre.svg)no-repeat center;
	background-size: 100%;
}
.consultation-process li:last-child:after {
	content: none;
}
.consultation-process .icon {
	margin: 0 auto 2rem;
	max-width: 10rem;
}
.consultation-process li .head-small {
	margin-bottom: 1.2rem;
	text-align: center;
	letter-spacing: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.service-voice {
	padding: 6.4rem 0 7.6rem;
	background: #F3F8F3;
}
.service-voice .display {
	display: flex;
	justify-content: space-between;
}
.service-voice .display .img {
	width: calc(50% - 2rem);
}
.service-voice .display .info {
	width: calc(50% - 1rem);
}
.service-voice .display .head-small {
	margin-bottom: 1.8rem;
	color: #25891E;
}
.service-voice .display .data {
	color: #505050;
	font-size: 1.4rem;
}
.service-voice .display .data .th {
	font-weight: 700;
}
.service-voice .display .introd {
	margin-top: 2rem;
	padding: 2.5rem 3.4rem;
	background: rgba(188,226,165,0.3);
}
.service-voice .display .introd .th {
	display: inline-flex;
	align-items: center;
	padding: 0 1.6rem;
	margin-bottom: 0.3rem;
	height: 2.8rem;
	background: #25891E;
	border-radius: 3rem;
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: 700;
	font-size: 1.5rem;
}
.service-voice .display .introd .before {
	padding-bottom: 2.8rem;
	background: url(../img/common/icon_arr_down_gre.svg)no-repeat center bottom 0.8rem;
	background-size: 2.3rem;
}
.service-voice .comments {
	margin-top: 2.5rem;
	padding: 2.8rem 3.5rem;
	background: rgba(188,226,165,0.3);
}
.service-voice .comments .head-small {
	margin-bottom: 0.3rem;
}

.customer-voice-swiper {
	overflow: hidden;
	position: relative;
}
.pages-swiper-ctrl {
	display: flex;
	justify-content: center;
	position: relative;
	margin-top: 3.8rem;
}
.pages-swiper-ctrl .swiper-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 2.2rem;
	position: static;
	padding: 0 3.5rem;
	width: auto;
	height: 5rem;
	border-top: 1px solid #333333;
	border-bottom: 1px solid #333333;
	font-size: 2.3rem;
}
.pages-swiper-ctrl .swiper-pagination-bullet {
	opacity: 1;
	margin: 0 !important;
	width: auto;
	height: auto;
	background: none;
	color: #848484;
}
.pages-swiper-ctrl .swiper-pagination-bullet-active {
	color: #25891E;
}

.pages-swiper-ctrl .swiper-button-prev,
.pages-swiper-ctrl .swiper-button-next {
	position: static;
	margin: 0 !important;
	width: 4.6rem;
	height: 5rem;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 1.2rem;
	border: 1px solid #333333;
}
.pages-swiper-ctrl .swiper-button-prev {
	background-image: url(../img/common/icon_prev.svg);
	border-radius: 50% 0 0 50%;
}
.pages-swiper-ctrl .swiper-button-next {
	background-image: url(../img/common/icon_next.svg);
	border-radius: 0 50% 50% 0;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.company-location .location-display .access .google:hover {
		text-decoration: none;
	}
	
	.fancybox-btnctrl .close:hover {
		border-bottom-color: transparent;
	}

	.service-introd li a:hover .arrow {
		background-position: right 1rem bottom 1.6rem;
	}
}

/*news
-----------------------------------------------*/
.news-wrap {
	padding: 6rem 0 8rem;	
}
.news-wrap .inner {
	max-width: 83.6rem;
}
.news-wrap .news-tags {
    gap: 1rem;
}
.news-wrap .news-tags a {
	padding: 0.8rem 2.8rem;
	font-size: 1.4rem;
}
.news-wrap .news-list {
    border-top: 0;
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 2.2rem;
	position: relative;
	padding: 0 4.4rem;
	margin: 6rem auto 0;
	max-width: 24.5rem;
	height: 4.8rem;
	border: 1px solid #333333;
	color: #848484;
	font-size: 2.3rem;
}
.wp-pagenavi a, 
.wp-pagenavi span {
	padding: 0;
	margin: 0;
	border: 0;
}
.wp-pagenavi span.current {
	color: #45B03E;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink,
.wp-pagenavi:before,
.wp-pagenavi:after {
	position: absolute;
	top: -1px;
	bottom: -1px;
	width: 4.6rem;
	background: no-repeat center;
	background-size: 1.1rem;
	border: 1px solid #333333;
	font-size: 0;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi:before {
	right: 100%;
	background-image: url(../img/common/icon_prev.svg);
	border-radius: 3rem 0 0 3rem;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi:after {
	left: 100%;
	background-image: url(../img/common/icon_next.svg);
	border-radius: 0 3rem 3rem 0;
}

.wp-pagenavi:before,
.wp-pagenavi:after {
	z-index: 1;
	pointer-events: none;
	opacity: .5;
	content: '';
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	z-index: 2;
}

.wp-pagenavi .pages,
.wp-pagenavi .first,
.wp-pagenavi .last {
	display: none;
}

.detail-style-wrap {
	padding: 6.4rem 0;
}
.detail-style-wrap .title {
	margin-bottom: 4rem;
	letter-spacing: 0.1em;
}
.detail-style-wrap .title .dt {
	display: flex;
	align-items: center;
	gap: 0 1.2rem;
	margin-bottom: 1rem;
}
.detail-style-wrap .title .tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 2.2rem;
	height: 2.8rem;
	background: #45B03E;
	border-radius: 2rem;
	color: #fff;
	font-size: 1.4rem;
}
.detail-style-wrap .title .date {
	color: #3C3636;
}
.detail-style-wrap .title h2 {
	font-size: 2.5rem;
	font-weight: 700;
}
.detail-style-wrap figure {
	margin: 0 auto 4rem;
}
.detail-style-wrap .detail p {
	margin-bottom: 2.4rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}
.detail-style-wrap .detail h2 {
	margin-bottom: 2.4rem;
	padding: 2rem 0;
	border-top: 1px solid;
	border-bottom: 1px solid;
	letter-spacing: 0.12em;
	font-size: 2rem;
	font-weight: 700;
}
.detail-style-wrap p + h2 {
	margin-top: 4rem;
}

.page-links {
	position: relative;
	margin-top: 10rem;
	padding-top: 5.5rem;
	border-top: 1px solid;
}
.page-links .page {
	position: absolute;
	top: 2.4rem;
	font-size: 1.7rem;
	font-weight: 700;
}
.page-links .prev {
	left: 0;
	padding-left: 3rem;
	background: url(../img/common/icon_prev.svg) no-repeat left center;
	background-size: 0.8rem;
}
.page-links .next {
	right: 0;
	padding-right: 3rem;
	background: url(../img/common/icon_next.svg) no-repeat right center;
	background-size: 0.8rem;
}
.btn-link .backtop {
	padding-left: 3.6rem;
	background-image: url(../img/common/icon_arr_left_wh.svg);
	background-position: left 2.2rem center;
}

.entry-wrap {
	padding: 10rem 0;
}
.entry-wrap .title {
	margin-bottom: 8rem;
}
.entry-wrap .sub {
	line-height: 1.6667;
	text-align: center;
	font-size: 1.8rem;
}
.entry-wrap .title .head {
	margin-bottom: 0.8rem;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 700;
}
.entry-wrap .sub .foucs {
	color: #D32922;
	font-weight: 700;
}
.entry-flow {
	display: flex;
	justify-content: center;
	margin-bottom: 7.6rem;
}
.entry-flow li {
	opacity: 0.5;
	position: relative;
	z-index: 2;
	width: 18rem;
	text-align: center;
	font-size: 1.4rem;
}
.entry-flow li + li:before {
	content: "";
	position: absolute;
	right: 70%;
	top: 3.2rem;
	z-index: -1;
	height: 0.35rem;
	width: 60%;
	background: url(../img/common/icon_dots_gre.png) repeat-x;
	background-size: auto 100%;
}
.entry-flow li.on {
	opacity: 1;
}
.entry-flow li .logo {
	margin: 0 auto 1rem;
	max-width: 8rem;
}
.entry-wrap .form > li {
	margin-bottom: 4.5rem;
}
.entry-wrap .form .th {
	display: flex;
	align-items: center;
	gap: 0 0.9rem;
	margin-bottom: 1.5rem;
	font-weight: 700;
}
.entry-wrap .form .td {
	line-height: 1.875;
}
.entry-wrap .form .must {
	display: inline-block;
	padding: 0.1rem 1rem;
	background: #D32922;
	border-radius: 0.5rem;
	letter-spacing: 0.1em;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
}
input::-webkit-input-placeholder, 
textarea::-webkit-input-placeholder { 
	color:#ccc;
} 
input:-moz-placeholder, 
textarea:-moz-placeholder { 
	color:#ccc;
} 
input::-moz-placeholder, 
textarea::-moz-placeholder { 
	color:#ccc;
} 
input:-ms-input-placeholder, 
textarea:-ms-input-placeholder { 
	color:#ccc;
}
.entry-wrap .form select,
.entry-wrap .form input[type="text"],
.entry-wrap .form input[type="email"],
.entry-wrap .form input[type="tel"] {
	padding: 0 2rem;
	width: 100%;
	height: 6.5rem;
	border: 1px solid #D0D0D0;
	border-radius: 5rem;
	color: #333;
	font-size: 1em;
}
.entry-wrap .form select {
	padding-right: 5rem;
	background: url(../img/common/icon_arr_down.svg) no-repeat right 3rem center;
	background-size: 2rem;
	color: #333;
}
.entry-wrap .form textarea {
	resize: none;
	padding: 2.8rem 3rem;
	width: 100%;
	height: 34.3rem;
	border-radius: 3rem;
	border: 1px solid #D0D0D0;
	font-size: 1em;
	color: #333;
}
.entry-wrap .form .note {
	margin-top: 2rem;
}
.entry-wrap .agree {
	margin-top: 5rem;
	text-align: center;
	font-weight: 700;
}
.entry-wrap .agree input[type=checkbox] {
	display: inline-block;
	vertical-align: middle;
	margin: -0.25rem 0.8rem 0 0;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../img/common/icon_checkbox.svg)no-repeat center;
	background-size: 100%;
}
.entry-wrap .agree input[type=checkbox]:checked {
	background-image: url(../img/common/icon_checkbox_checked.svg);
}
.entry-wrap .agree a {
	text-decoration: underline;
	color: #45B03E;
}
.entry-wrap .btn-link {
	margin-top: 1.6rem;
	text-align: center;
}
.entry-wrap .btn-link .wpcf7-spinner {
	display: block;
	margin: 2rem auto 0;
}

.btn-choice-radio .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.btn-choice-radio .wpcf7-list-item {
	margin-left: 0;
}
.btn-choice-radio input {
	display: none;
}
.btn-choice-radio input + .wpcf7-list-item-label {
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 2rem;
	margin: 0;
	min-width: 17rem;
	height: 7rem;
	border: 1px solid #D0D0D0;
	border-radius: 3.5rem;
	color: #989898;
	font-weight: 700;
}
.btn-choice-radio input:checked + .wpcf7-list-item-label {
	background: #45B03E;
	border-color: #45B03E;
	color: #fff;
}
.btn-file {
    display: inline-flex;
	align-items: center;
	gap: 0 2rem;
    position: relative;
}
.btn-file input[type=file] {
    opacity: 0;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 0;
    width: 15rem;
    height: 100%;
}
.btn-file label {
	cursor: pointer;
    display: flex;
    align-items: center;
    padding: 0 1.6rem;
    height: 4rem;
    background: #F5F5F5;
    border-radius: 0.5rem;
    border: 1px solid;
}
.btn-file label:after {
	content: "選択されていません";
	position: absolute;
	left: calc(100% + 2rem);
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
}
.btn-file label.selected:after {
	content: none;
}
.date-column {
	display: flex;
	gap: 2rem;
}
.date-column li {
	display: flex;
	align-items: flex-start;
	gap: 0 2rem;
	padding-top: 1.8rem;
	width: 22rem;
}
.date-column li .wpcf7-form-control-wrap {
	margin-top: -1.8rem;
	width: 100%;
}

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

.thanks-wrap .title .sub {
	line-height: 1.625;
	font-size: 1.6rem;
}

.codedropz-upload-wrapper {
	display: none;
}


/*** hover ***/
@media screen and (min-width: 960px) {
	.wp-pagenavi a:hover {
		color: #45B03E;
	}
}

/* recruit */
.page-apply-link {
	position: fixed;
	right: 3.2rem;
	bottom: 8rem;
	z-index: 9;
}
.page-apply-link a {
	display: block;
	padding: 1.8rem 0.8rem;
	width: 10.8rem;
	border-radius: 2rem;
	background: #45B03E;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
	text-align: center;
}
.page-apply-link img {
	width: 100%;
}

.recruitment-applicate {
	padding: 3rem 0 16rem;
}
.recruitment-applicate .inner {
	max-width: 85rem;
}
.recruitment-applicate .display {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.recruitment-applicate .display .img {
	position: relative;
	z-index: 2;
	width: calc(50% + 0.8rem);
}
.recruitment-applicate .display .img:after {
	content: "";
	position: absolute;
	top: 1.6rem;
	left: 2.1rem;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url(../img/common/teaser_shadow.png);
}
.recruitment-applicate .display .info {
	width: calc(44% + 0.4rem);
}
.recruitment-applicate .display .head {
	line-height: 1.65;
	color: #25891E;
	font-size: 2.3rem;
	font-weight: 700;
}
.recruitment-table {
	margin-top: 6.8rem;
}
.recruitment-table .head-large {
	font-size: 3rem;
}
.recruitment-table table {
	width: 100%;
	letter-spacing: 0.08em;
	line-height: 1.875;
}
.recruitment-table tr {
	border-bottom: 1px solid #707070;
}
.recruitment-table th {
	padding: 2.2rem 1rem 2.2rem 0;
	width: 22rem;
	text-align: left;
	font-weight: 700;
}
.recruitment-table td {
	padding: 2.2rem 0;
}
.recruitment-table .btn-link {
	display: flex;
	justify-content: center;
	gap: 0 4rem;
	margin-top: 7rem;
}
.btn-link .reset {
	background-image: url(../img/common/icon_prev.svg);
	background-color: #D0D0D0;
	color: #333;
}

.recruitment-other {
	padding: 5.8rem 0 8rem;
	background: #F3F8F3;
}
.recruitment-list {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	margin-left: -4rem;
}
.recruitment-list li {
	padding: 0 0 4rem 4rem;
	width: calc(100%/3);
}
.recruitment-list .item {
	padding: 2.4rem;
	background: #fff;
	border: 1px solid #45B03E;
}
.recruitment-list li .img {
	margin-bottom: 1rem;
}
.recruitment-list li .head-small {
	margin-bottom: 1.2rem;
	font-size: 1.8rem;
}
.recruitment-list .info table {
	width: 100%;
	color: #505050;
	font-size: 1.4rem;
}
.recruitment-list .info tr {
	border-bottom: 1px solid #707070;
}
.recruitment-list .info th {
	padding: 1rem 0;
	width: 9rem;
	text-align: left;
	font-weight: 700;
}
.recruitment-list li .btn-link {
	margin-top: 2.3rem;
}
.recruitment-list li .btn-link .btn {
	max-width: 100%;
	height: 5rem;
}
.recruitment-list + .wp-pagenavi {
	margin-top: 1rem;
}

/* recruit.html */
.recruit-wrap {
	position: relative;
}
.recruit-copyright {
	pointer-events: none;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 9;
	height: 100%;
}
.recruit-copyright .head {
	position: sticky;
	left: 0;
	top: 16rem;	
	width: 10.9rem;
}

.recruit-message {
	padding: 10rem 0 8rem;
}
.recruit-message .icon-square05 {
	top: 9rem;
	left: calc(50% + 50rem);
	width: 9rem;
}
.recruit-message .icon-square06 {
	bottom: -3.6rem;
	right: calc(50% + 52rem);
	width: 12.2rem;
}
.recruit-message .display {
	display: flex;
	justify-content: space-between;
}
.recruit-message .display .info {
	width: calc(50% - 4rem);
	line-height: 1.94;
	font-size: 1.8rem;
}
.recruit-message .display .img {
	width: 48.5%;
}
.recruit-message .display .img img {
	width: 100%;
}
.recruit-message .display .head {
	margin-bottom: 2rem;
	line-height: 1.4;
	color: #45B03E;
	font-weight: 700;
	font-size: 3rem;
}
.recruit-message .display .head .big {
	font-size: 4rem;
}
.recruit-message .display .head2 {
	line-height: 1.6667;
	font-weight: 700;
	font-size: 2.1rem;
}
.recruit-message .display p + p {
	margin-top: 2.4rem;
}

.page-anchors {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem 5rem;
}
.page-anchors li a {
	display: flex;
	align-items: center;
	padding: 1rem 2.8rem 1rem 0;
	height: 5.6rem;
	background: url(../img/common/icon_arr_right.svg) no-repeat right 2rem center;
	background-size: 0.8rem;
	border-bottom: 1px solid #CECECE;
	letter-spacing: 0.1em;
	font-weight: 700;
}

.recruit-features {
	padding: 8rem 0;
}
.recruit-features .features li {
	display: flex;
	align-items: center;
	background: #F7F7F7;
	border: 1px solid #505050;
}
.recruit-features .features li + li {
	margin-top: 2.4rem;
}
.recruit-features .features .img {
	width: 31rem;
}
.recruit-features .features .img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.recruit-features .features .info {
	padding: 3.5rem 4.5rem;
	width: calc(100% - 31rem);
}
.recruit-features .features .head-small {
	margin-bottom: 0.6rem;
	font-size: 1.8rem;
}

.recruit-numbers {
	padding: 5rem 0 23rem;
}
.recruit-numbers .numbers-list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -3.8rem;
	gap: 3.8rem 0;
}
.recruit-numbers li {
	padding: 3.6rem 2.4rem;
	margin-left: 3.8rem;
	width: calc(100%/3 - 3.8rem);
	background: #fff;
}
.recruit-numbers li.half {
	padding: 3.6rem 4.5rem;
	width: calc(50% - 3.8rem);
}
.recruit-numbers li.big {
	width: calc(100%/3 * 2 - 3.8rem);
}
.recruit-numbers li.nobg {
	background: transparent;
} 
.recruit-numbers li .icon {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-bottom: 2rem;
	min-height: 10rem;
	text-align: center;
}
.recruit-numbers li .tit {
	margin-bottom: 0.3rem;
	text-align: center;
	color: #25891E;
	font-size: 2rem;
	font-weight: 700;
}
.recruit-numbers li .tit .small {
	font-size: 1.8rem;
}
.recruit-numbers li .data {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: 2rem;
	line-height: 1;
	letter-spacing: 0.08em;
	font-size: 2.6rem;
	font-weight: 700;
}
.recruit-numbers li .data .num {
	margin-bottom: -1rem;
	color: #25891E;
	font-size: 8rem;
}
.recruit-numbers li .data .note {
	margin: 0.2rem 0;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
}
.recruit-numbers li .txt-common {
	margin-top: 2rem;
}
.recruit-numbers li .txt-common .foucs {
	color: #25891E;
	font-weight: 700;
}
.recruit-numbers li .ratio {
	display: flex;
	justify-content: center;
	gap: 0 4.2rem;
	margin-bottom: 1.2rem;
	text-align: center;
	line-height: 1;
}
.recruit-numbers li .ratio .th {
	font-weight: 700;
}
.recruit-numbers li .ratio .td {
	position: relative;
	letter-spacing: 0;
	font-size: 7.9rem;
	font-weight: 700;
}
.recruit-numbers li .ratio .male .td {
	color: #25891E;
}
.recruit-numbers li .ratio .female .td {
	color: #F8AC00;
}
.recruit-numbers li .ratio .female .td:before {
	content: "：";
	position: absolute;
	left: -2.1rem;
	transform: translateX(-50%);
	color: #333;
	font-family: YakuHanJP, "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.recruit-numbers li.big .tit {
	font-size: 3.6rem;
}
.recruit-numbers li.big .data {
	margin-bottom: 3rem;
	font-size: 4.2rem;
}
.recruit-numbers li.big .data .num {
	margin-bottom: -3rem;
	letter-spacing: -0.05em;
	font-size: 20.4rem;
}
.recruit-numbers li.big .data .num2 {
	margin-bottom: -1rem;
	letter-spacing: 0;
	font-size: 10.8rem;
}
.numbers-list .display {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.numbers-list .li-sales {
	padding: 3.6rem 5rem;
}
.numbers-list .li-sales .display .icon {
	width: 21rem;
}
.numbers-list .li-sales .display .info {
	width: calc(100% - 23rem);
}
.numbers-list .li-sales .txt-common,
.numbers-list .li-tax-ratio .txt-common {
	text-align: center;
}
.numbers-list .li-tax-ratio {
	padding: 3.6rem 3.2rem;
}
.numbers-list .li-tax-ratio .tit {
	margin-bottom: -3rem;
	line-height: 0.7;
}
.recruit-numbers .li-tax-ratio .note {
	text-align: right;
	font-size: 1.4rem;
}
.numbers-list .li-tax-ratio .display .icon {
	width: 14.6rem;
}

.recruit-interview {
	padding: 6.6rem 0 9rem;
}
.recruit-interview-item + .recruit-interview-item {
	margin-top: 13rem;
}
.recruit-interview .display {
	display: flex;
	justify-content: space-between;
	color: #505050;
	line-height: 1.8;
}
.recruit-interview .display.reverse {
	flex-direction: row-reverse;
}
.recruit-interview .display .img {
	position: relative;
	z-index: 2;
	width: 40%;
}
.recruit-interview .display .img:after {
	content: "";
	position: absolute;
	left: 3.2rem;
	top: 2rem;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url(../img/common/teaser_shadow.png);
}
.recruit-interview .display .img img {
	width: 100%;
}
.recruit-interview .display .info {
	width: 54.2%;
}
.recruit-interview .head {
	position: relative;
	padding-left: 10rem;
	margin-bottom: 2.8rem;
	line-height: 1.65;
	color: #25891E;
	font-size: 2.3rem;
	font-weight: 700;
}
.recruit-interview .head .step {
	position: absolute;
	left: -1.2rem;
	top: -2.4rem;
	padding: 2.4rem 0 1.2rem 1.2rem;
	width: 9rem;
	background: url(../img/recruit/bg_step.svg)no-repeat center;
	background-size: 100%;
	line-height: 1;
	color: #45B03E;
	font-size: 6.8rem;
}
.recruit-interview .join {
	line-height: 1.6;
	color: #505050;
	font-size: 2rem;
}
.recruit-interview .join .id {
	display: block;
	color: #25891E;
	font-size: 4.6rem;
	font-weight: 700;
}
.recruit-interview .head_quest {
	margin-bottom: 2rem;
	padding: 0.8rem 2.6rem;
	background: #45B03E;
	border-radius: 5rem;
	letter-spacing: 0.1em;
	line-height: 1.55;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
}
.recruit-interview .display2 .img {
	width: 51.8%;
}
.recruit-interview .display2 .info {
	width: 44.75%;
}
.recruit-interview .future-goals {
	margin-top: 7.6rem;
	padding: 3rem 4rem;
	background: #EDFAE5;
	border: 1px solid #45B03E;
}
.recruit-interview .future-goals .tit {
	margin-bottom: 1.2rem;
	text-align: center;
	color: #25891E;
	font-weight: 900;
	font-size:; 1.8rem;
}

.recruit-person-img {
	padding: 5rem 0 10rem;
}
.recruit-person-img .head-large {
	margin-bottom: 8rem;
}
.recruit-person-img ul {
	display: flex;
	gap: 0 2.4rem;
}
.recruit-person-img li {
	position: relative;
	z-index: 2;
	width: 100%;
}
.recruit-person-img li .item {
	transform: rotate(45deg);
	padding-top: 100%;
	border: 1px solid;
}
.recruit-person-img li .tit {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	padding: 2rem 2.5rem;
	width: 100%;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
}
.recruit-person-img li:nth-of-type(even) {
	z-index: 3;
}
.recruit-person-img li .item:before {
	content: ""; 
	position: absolute;
	left: 0.6rem;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}
.recruit-person-img li:nth-of-type(1) .item {
	background: #EDFAE5;
	border-color: #45B03E;
	color: #25891E;
}
.recruit-person-img li:nth-of-type(2) .item {
	border-color: #45B03E;
	color: #25891E;
}
.recruit-person-img li:nth-of-type(2) .item:before {
	background-image: url(../img/recruit/bg_dots_gre.png);
}
.recruit-person-img li:nth-of-type(3) .item {
	background: #FCF2C1;
	border-color: #F8AC00;
	color: #C48800;
}
.recruit-person-img li:nth-of-type(4) .item {
	border-color: #F8AC00;
	color: #C48800;
}
.recruit-person-img li:nth-of-type(4) .item:before {
	background-image: url(../img/recruit/bg_dots_yell.png);
}

.recruit-education-welfare {
	padding: 5rem 0;
}
.recruit-education-welfare .points-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 5.4rem;
}
.recruit-education-welfare .points-list .item {
	padding: 3rem 2rem;
	background: #fff;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.recruit-education-welfare .points-list .head-small {
	margin-bottom: 1.4rem;
	text-align: center;
}
.recruit-education-welfare .points {
	display: flex;
	justify-content: center;
}
.recruit-education-welfare .points li {
	padding-left: 2.4rem;
	margin-bottom: 2.4rem;
	background: url(../img/common/icon_point_check.svg)no-repeat left top 0.4rem;
	background-size: 1.8rem;
}

.recruit-employment-flow {
	padding: 5rem 0;
}
.recruit-employment-flow ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 3rem;
	position: relative;
	z-index: 2;
}
.recruit-employment-flow ul:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	z-index: -1;
	transform: translateY(-50%);
	height: 2.5rem;
	width: 100%;
	background: #45B03E;
}
.recruit-employment-flow li {
	padding: 2.6rem 2.8rem 3rem;
	background: #EDFAE5;
	border: 1px solid #45B03E;
}
.recruit-employment-flow li .icon {
	margin-bottom: 2rem;
	text-align: center;
}
.recruit-employment-flow .head-small {
	margin-bottom: 1rem;
	text-align: center;
	color: #25891E;
}
.recruit-employment-flow .txt-common a {
	text-decoration: underline;
	color: #25891E;
}

.recruit-event {
	padding: 7rem 0 1rem;
}
.recruit-event-swiper {
	overflow: hidden;
	position: relative;
}
.recruit-event-swiper:before,
.recruit-event-swiper:after {
	content: "";
	position: absolute;
	top: 0;
	z-index: 2;
	width: 13rem;
	height: 100%;
}
.recruit-event-swiper:before {
	left: 0;
	background: linear-gradient(90deg, #fff 5rem, transparent);
}
.recruit-event-swiper:after {
	right: 0;
	background: linear-gradient(-90deg, #fff 5rem, transparent);
}
.recruit-event-swiper .swiper-slide {
	width: 75.2rem;
	height: auto;
}
.recruit-event-swiper .swiper-slide .img img {
	object-fit: cover;
	width: 100%;
	height: 49.3rem;
}
.recruit-event-swiper .swiper-slide .tit {
	opacity: 0;
	transition-duration: 0.5s;
	margin-top: 0.6rem;
	font-weight: 700;
}
.recruit-event-swiper .swiper-slide-active .tit {
	opacity: 1;
}
.recruit-event-swiper .swiper-pagination {
	position: static;
	margin: 4rem 0 0;
	font-size: 0;
}
.recruit-event-swiper .swiper-pagination-bullet {
	opacity: 1;
	margin: 0 0.5rem;
	width: 1.1rem;
	height: 1.1rem;
	background: #D0D0D0;
	border-radius: 50%;
}
.recruit-event-swiper .swiper-pagination-bullet-active {
	background: #45B03E;
}
.recruit-event-swiper .swiper-button-prev,
.recruit-event-swiper .swiper-button-next {
	top: 24.6rem;
	width: 2.6rem;
	height: 4.4rem;
	background: url(../img/common/icon_arr_right_gre.svg)no-repeat center;
	background-size: 100%;
}
.recruit-event-swiper .swiper-button-prev {
	left: calc(50% - 42.6rem);
	transform: scaleX(-1);
}
.recruit-event-swiper .swiper-button-next {
	right: calc(50% - 42.6rem);
}

.recruit-recruitment {
	padding: 10rem 0 6.4rem;
}
.recruit-search {
	padding: 5rem;
	margin: 0 auto 3.8rem;
	max-width: 81rem;
	background: #EBF6E4;
	border: 1px solid #45B03E;
}
.recruit-search .search {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.recruit-search .search .th {
	margin: 0.6rem 0;
	width: 14rem;
	font-weight: 700;
}
.recruit-search .search .search-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	width: calc(100% - 15.5rem);
}
.recruit-search .search-tags input {
	display: none;
}
.recruit-search .search-tags input + .btn {
	display: flex;
	align-items: center;
	cursor: pointer;
	padding: 0 3rem;
	height: 3.5rem;
	background: #fff;
	border: 1px solid #45B03E;
	border-radius: 3rem;
	letter-spacing: 0.1em;
	color: #BFBFBF;
	font-weight: 700;
}
.recruit-search .search-tags input:checked + .btn {
	background: #45B03E;
	color: #fff;
}

/*** hover ***/
@media screen and (min-width: 960px) {
	.recruit-search .search .search-tags li a:hover {
		background: #45B03E;
		color: #fff;
	}
	
	.page-anchors li a:hover {
		background-position: right 1.5rem center;
	}
	
	
	.recruit-employment-flow .txt-common a:hover {
		text-decoration: none;
	}
}

/* sitemap */
.sitemap-wrap {
	padding: 7rem 0 10rem;
}
.sitemap-links.foot-links {
	padding: 0;
	background: transparent;
	color: #333;
}
.sitemap-links.foot-links .tit a:before {
	top: 0.9rem;
    background-image: url(../img/common/icon_arr_right.svg);
}

.sitemap-links.foot-links .sub-links a {
	margin-top: .5rem;
}

#four-zero-four #contents {
	background: url(../img/common/bg_404.png)no-repeat center;
	background-size: cover;
}

.error-wrap {
	padding: 6rem 0 17.6rem;
	background: url(../img/top/bg_about.png) no-repeat center;
	background-size: 66rem;
}
.error-wrap .title {
	text-align: center;
}
.error-wrap .title .head {
	line-height: 1;
	color: #45B03E;
	font-size: 12.8rem;
}
.error-wrap .title .head2 {
	margin-bottom: 1rem;
	font-size: 2.5rem;
	font-weight: 700;
}
.error-wrap .title .sub {
	line-height: 1.85;
	font-size: 1.4rem;
}


.terms-txt {
	font-size: 1.5rem;
	line-height: 2;	
	letter-spacing: .08em;
	padding-bottom: 4.2rem;
}

.terms-ttl {
	font-size: 1.7rem;
	font-weight: block;
	letter-spacing: .1em;
	line-height: 1.5;
	margin-bottom: 2rem;
	padding-top: 3.3rem;
	border-top: .1rem solid #707070;
}

.b_link {
	color: #45B03E;
	font-weight: block;
}

.recruit-case {
	padding: 7rem 0;
}

.recruit-case .recruit-case-text {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	color: #25891E;
	letter-spacing: .05em;
	line-height: 1.35;
	margin-bottom: 3.4rem;
}

.recruit-case .recruit-case-box {
	width: 100%;
	background: #F7F7F7;
	border: .1rem solid #505050;
	padding: 2.6rem 4.3rem 4.3rem;
}

.recruit-case .recruit-case-box .recruit-case-box__item + .recruit-case-box__item {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: .1rem solid #707070;
}

.recruit-case .recruit-case-title {
	text-align: center;
	font-size: 2rem;
	line-height: 1.45;
	margin-bottom: 2rem;
	font-weight: bold;
	letter-spacing: .05em;
}

.recruit-case .recruit-case-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.5rem;
}

.recruit-case .recruit-case-list li {
	font-size: 1.7rem;
	line-height: 1.5;
	letter-spacing: .05em;
	font-weight: 500;
}

.recruit-case .recruit-case-list .notes {
	font-size: 1.5rem;
	font-weight: bold;
}

.recruit-slide {
	transform: translateY(-50%);
}

.recruit-slide li {
	overflow: hidden;
	padding-right: 2.9rem;
	width: 43.1rem;
}

.recruit-slide ul:nth-child(odd) li:nth-child(even),
.recruit-slide ul:nth-child(even) li:nth-child(odd) {
	padding-top: 3.2rem;
}



