/*=============================================================
common.css
---------------------------------------------------------------

01. common layout
02. header
03. footer
04. home
05. about
06. guidance
07. facility
08. crosshome-01
07. contact and mail common style
08. contact
09. mail
10. thanks
11. mobile
12. media query
13. helper

===============================================================
01. common layout
=============================================================*/

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    transition: none !important;
}

.pc,
.pc-alt {
	display: inline-block;
}

.sp,
.sp-alt {
	display: none;
}

.central {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
	transform: translateX( -50% ) translateY( -50% );
}

img {
    width: 100%;
}

.mt-plus {
    margin-top: 40px;
}

.mb-plus {
    margin-bottom: 30px;
}

.mb-0 {
    margin-bottom: 0;
}

p.no-padding {
	padding: 0;
}

p {
    margin-bottom: 15px;
}

p:last-of-type,
p.mb-none {
    margin-bottom: 0;
}

p.mb-default {
    margin-bottom: 15px;
}

p.mb-plus {
    margin-bottom: 25px;
}

p.mb-plus-plus {
    margin-bottom: 50px;
}

.bold {
	font-weight: bold;
}

#loading-layer {
    width: 100%;
    height: 100%;
    background: #fff;
    transition: all ease 800ms;
    transition-delay: 100ms;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
}

.loaded #loading-layer {
    opacity: 0;
    visibility: hidden;
}

#contents {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#visual,
#bg {
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    overflow: hidden;
    top: 0;
    left: 0;
    z-index: 1;
}

#visual {
    margin-bottom: 55px;
    position: relative;
}

#visual #icon-scroll {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    text-align: center;
    line-height: 0;
    margin-bottom: 0;
}

#visual #icon-scroll img {
    width: 90px;
}

#bg {
    position: fixed;
}

.mass {
    margin-bottom: 80px;
}

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

.with-top-line {
    padding-top: 60px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.with-top-line::before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 1px;
    background: #B4B4B4;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.with-white-base,
.with-clear-base {
    padding: 40px 0;
    margin-bottom: 0;
    background-color: #fff;
}

.with-white-base {
    background-color: #fff;
}

.with-clear-base {
    background-color: rgba(255,255,255,0.4);
}

.inner {
    width: 80%;
    margin: 0 auto;
}

.inner-divi {
    width: 90%;
    margin: 0 10% 0 0;
}

.tit-01 {
    margin-bottom: 40px;
    font-size: 38px;
    text-align: center;
    letter-spacing: 4px;
}

.tit-02 {
    margin-bottom: 35px;
    font-size: 28px;
    text-align: center;
    letter-spacing: 4px;
}

.tit-03 {
	font-family: "M PLUS 1", sans-serif;
    margin-bottom: 15px;
    font-size: 24px;
    text-align: center;
    letter-spacing: 3px;
	font-weight: 700;
}

.tit-01.mb-plus {
    margin-bottom: 45px;
}

.tit-01.mb-minus {
    margin-bottom: 25px;
}

.tit-01.mb-super-minus {
    margin-bottom: 6px;
}

#visual #visual-tit h1 img {
	width: 80%;
	margin: 0 auto;
	display: block;
}


.single-img,
.three-img {
    margin-bottom: 50px;
    text-align: center;
}

.single-img img {
    width: 58%;
    max-width: 700px;
}

.three-img img {
    display: inline-block;
    width: 33.33333%;
}

.row {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.box-img {
    background-position: center center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
}

.box-divi {
    width: 68%;
}

.list-01 li {
    padding: 20px 0;
    border-bottom: solid 1px rgba( 28,59,149,0.3 );
}

/*
* pages
*/

.pages #visual #visual-tit {
    width: 50%;
    top: 47%;
}

/*
* basic motion
*/

.elem-01,
.elem-02,
.elem-03,
.elem-04,
.elem-05,
.elem-06,
.elem-07,
.elem-08,
.elem-09,
.elem-10,
.elem-11 {
    transition: all ease 800ms;
    transform: translateY( 20px );
    opacity: 0;
}

.elem-01 {
    transition-delay: 200ms;
}

.elem-02 {
    transition-delay: 400ms;
}

.elem-03 {
    transition-delay: 600ms;
}

.elem-04 {
    transition-delay: 800ms;
}

.elem-05 {
    transition-delay: 1200ms;
}

.elem-06 {
    transition-delay: 1400ms;
}

.elem-07 {
    transition-delay: 1600ms;
}

.elem-08 {
    transition-delay: 1800ms;
}

.elem-09 {
    transition-delay: 2000ms;
}

.elem-10 {
    transition-delay: 2200ms;
}

.elem-11 {
    transition-delay: 2400ms;
}


.active .elem-01,
.active .elem-02,
.active .elem-03,
.active .elem-04,
.active .elem-05,
.active .elem-06,
.active .elem-07,
.active .elem-08,
.active .elem-09,
.active .elem-10,
.active .elem-11 {
    transform: translateY( 0 );
    opacity: 0.99999;
}

.single-img {
	margin-bottom: 40px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.single-img .box-img {
	padding-top: 50%;
	margin: 0 5%;
}


/*
* .double-img
*/

.double-img {
    margin-bottom: 50px;
}

.double-img .box-img:nth-of-type( 1 ) {
    width: 45%;
    padding-top: 50%;
	margin-left: 5%;
}

.double-img .box-img:nth-of-type( 2 ) {
    width: 50%;
    padding-top: 30%;
    position: absolute;
    top: 20%;
    right: 5%;
    z-index: 1;
}

/*
* .row-divi
*/

.row-divi {
    margin-bottom: 70px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.row-divi:last-of-type {
    margin-bottom: 0px;
}

.row-divi .box-img,
.row-divi .box-text {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.row-divi .box-img {
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
}

.row-divi.img-right .box-img {
    left: 50%;
}

.row-divi.img-left .box-img {
    left: 0;
}

.row-divi.img-right .box-text {
    padding-right: 40px;
}

.row-divi.img-left .box-text {
    margin-left: 50%;
    padding-left: 40px;
}

/*
* row-divi-single-img
*/

.row-divi-single-img {
    margin-bottom: 40px;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

.row-divi-single-img .box-img {
    width: 60%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.row-divi-single-img .box-text {
    width: 35%;
    padding: 15px 0;
    margin-left: 65%;
}

/*
* .btn
*/

.btn {
	position: relative;
	width: 350px;
	height: 145px;
	margin: 0 auto;
	display: block;
	overflow: hidden;
	cursor: pointer;
}

.btn img {
	position: absolute;
	width: 350px;
	height: 145px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	transition: all ease 300ms;
}

.btn:hover img:nth-of-type(2) {
	opacity: 0;
}

.btn-02 {
	width: 350px;
	height: 80px;
	text-align: center;
	margin: 0 auto;
    position: relative;
    display: block;
    background-color: #fff;
	border-radius: 30vh;
	border: 3px solid #36B553;
	transition: all ease 500ms;
    box-sizing: border-box;
}

.btn-02 a {
    display: block;
	font-size: 1.6rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 2.8;
	color: #24A784;
	transition: all ease 500ms;
    cursor: pointer;
}

.btn-02:hover {
	background-color: #24A784;
}

.btn-02:hover a {
	color: #fff;
}


/*=============================================================
02. header
=============================================================*/

#main-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

#main-header h1 {
    width: 300px;
    position: fixed;
    top: 40px;
    left: 20px;
    z-index: 1;
}

/*
* global nav
*/

#main-header #icon-menu,
#main-header #icon-close {
    width: 100px;
    height: 100px;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1;
    cursor: pointer;
}

#main-header #icon-menu {
    background: #24A784;
    transition: all ease 200ms;
}

#main-header #icon-tel {
	width: 100px;
	height: 100px;
	position: fixed;
	top: 10px;
	right: 113px;
	z-index: 1;
    cursor: pointer;
	background: #249CA7;
    transition: all ease 200ms;
}

#main-header #icon-wakuwaku {
    width: 203px;
    position: fixed;
    top: 113px;
    right: 10px;
}

#main-header #icon-menu:hover {
    background: #1c7a95;
}

#main-header #icon-close {
    background: #fff;
}

#main-header #icon-tel a {
	text-decoration: none;
	color: #fff;
	text-align: center;
	display: block;
	line-height: 1.2;
	padding-top: 25px;
}

#main-header #icon-tel:hover {
    background-color: #83b34a;
}

#main-header #nav-wrapper {
    width: 100%;
    height: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    transition: all ease 600ms;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
}

.nav-open #main-header #nav-wrapper {
    opacity: 0.99999;
    visibility: visible;
}

#main-header #nav-wrapper .box-img,
#main-header #nav-wrapper #box-nav {
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#main-header #nav-wrapper .box-img {
    background-image: url( /common/img/shared/nav-bg.jpg?v01 );
    left: 50%;
}

#main-header #nav-wrapper #box-nav .close-layer {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#main-header #nav-wrapper #box-nav .central {
    width: 47%;
    top: 49%;
}

#main-header #nav-wrapper #box-nav ul li,
#main-header #nav-wrapper #box-nav ul li a {
    display: inline-block;;
}

#main-header #nav-wrapper #box-nav ul li a {
    width: 100%;
    padding: 9% 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#main-header #nav-wrapper #box-nav ul li:nth-of-type( 1 ) a {
    padding-top: 0;
}

#main-header #nav-wrapper #box-nav ul li a::before,
#main-header #nav-wrapper #box-nav ul li a::after {
    display: inline-block;
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

#main-header #nav-wrapper #box-nav ul li a::before {
    background: rgba(71,128,87,0.3);
}

#main-header #nav-wrapper #box-nav ul li a::after {
    width: 0;
    background: rgba(71,128,87,0.99999 );
    transition: all ease 300ms;
}

#main-header #nav-wrapper #box-nav ul li a:hover::after {
    width: 100%;
}

/*=============================================================
03. footer
=============================================================*/

#main-footer {
    padding: 50px 0;
    border-top: solid 1px #B4B4B4;
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
}

#main-footer p {
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
}

#main-footer p.ta-c {
	margin-bottom: 10px;
	font-size: 15px;
}

#main-footer p a {
	display: block;
	text-decoration: underline rgba(137,154,142,0.6);
}

/* privacy */

#privacy #visual {
    background-image: url( /common/img/shared/privacy-visual.jpg );
}

#privacy #part-01 p.mb-super-plus,
#privacy #part-01 section {
    margin-bottom: 40px;
}

#privacy #part-01 section:last-of-type {
    margin-bottom: 0;
}

#privacy #part-01 section h1.tit-02 {
    margin-bottom: 2px;
}

#privacy #part-01 section ol {
    list-style-type: none;
}

#privacy #part-01 section ol li {
    margin-left: 1.7em;
    text-indent: -1.7em;
}

/*=============================================================
04. home
=============================================================*/

#home #main-header h1 {
    display: none;
}

#home #loading-layer {
    background: #fff;
}

#home #bg {
    background-image: url( /common/img/home/bg-01.jpg?v01 );
    background-position: center top;
}

#home #visual {
    background-image: url( /common/img/home/visual.jpg?v02 );
}

#home #visual::before,
#home #visual::after {
    display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

#home #visual::after {
    background: #fff;
    transition: all ease 800ms;
    transition-delay: 300ms;
    overflow: hidden;
}

#home.loaded #visual::after {
    height: 0;
}

#home #visual::before {
    background: #fff;
    transition: all ease 800ms;
    transition-delay: 300ms;
}

#home.loaded #visual::before {
    opacity: 0;
    visibility: hidden;
}

#home #visual #box-logo {
    position: absolute;
    top: 40%;
    left: 10%;
    width: 50%;
    max-width: 1000px;
    z-index: 1;
	opacity: 0;
	transition: all ease 1500ms;
	transition-delay: 800ms;

}

#home.loaded #visual #box-logo {
	opacity: 0.99999;
}

#home #part-about .double-img .box-img:nth-of-type( 1 ) {
    background-image: url( /common/img/home/img-01.jpg?v01 );
    background-position: right bottom;
}

#home #part-about .double-img .box-img:nth-of-type( 2 ) {
    background-image: url( /common/img/home/img-02.jpg?v01 );
}

#home #part-info .single-img .box-img {
    background-image: url( /common/img/home/img-03.jpg );  
}

#home #part-contact {
	padding-top: 40px;
}

#home #part-contact aside a img {
	width: 60vw;
}

#home #part-contact aside a img {
	transition: all ease 300ms;
}

#home #part-contact aside a:hover img {
	transform: translateY(-10px);
}

/*=============================================================
05. about
=============================================================*/

#about #bg {
    background-image: url( /common/img/about/bg-01.jpg?v01 );
    background-position: center top;
}

#about #visual {
    background-image: url( /common/img/about/visual.jpg?v01 );
    background-position: center bottom;
}

#about #part-crosshome .index-mark p::before {
	content: "●";
	padding-right: 0.5em;
}

#about #part-crosshome .index-mark p {
	text-indent: -1.5em;
  	padding-left: 1em;
}

#about #part-feature ul{
	display: flex;
}

#about #part-feature ul li {
	width: 50%;
	padding: 0 55px;
	box-sizing: border-box;
}
#about #part-feature ul li .tit-03 {
	line-height: 1.5em;
}

#about #part-feature ul li img {
	width: 60%;
	margin: 0 auto;
	display: block;
}

#about #part-kigyou dl {
    padding-top: 20px;
    border-top: solid 1px rgba( 28,59,149,0.3 )
}

#about #part-kigyou dl dt {
    font-size: 24px;
}

#about #part-kigyou dl dd {
    padding-bottom: 20px;
    border-bottom: solid 1px rgba( 28,59,149,0.3 );
    margin-bottom: 20px;
}

#about #part-kigyou .inner .row-divi:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/about/img-02.jpg?v01 );
}

#about #part-kigyou .inner .row-divi:nth-of-type( 2 ) .box-img {
    background-image: url( /common/img/about/img-03.jpg?v01 );
}

#about #part-map section {
    display: inline-block;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#about #part-map section:nth-of-type( 1 ) {
    padding-right: 20px;
}

#about #part-map section:nth-of-type( 2 ) {
    padding-left: 20px;
}

#about #part-map section .tit-02 {
    margin-bottom: 0;
}

#about #part-map section #map-01,
#about #part-map section #map-02 {
    width: 100%;
    height: 560px;
}

/*=============================================================
06. guidance
=============================================================*/

#guidance #bg {
    background-image: url( /common/img/guidance/bg-01.jpg?v01 );
}

#guidance #visual {
    background-image: url( /common/img/guidance/visual.jpg?v01 );
}

#guidance #part-02 ol {
    width: 80%;
    margin: 0 auto;
    list-style: none;
}

#guidance #part-02 ol li {
    margin-bottom: 15px;
}

#guidance #part-02 ol li {
    height: 180px;
    display: flex;
    color: #fff;
    background: #24A784;
    font-size: 28px;
    font-family: "M PLUS 1", sans-serif;
    font-weight: bolder;
    overflow: hidden;
    margin-bottom: 30px;
}

#guidance #part-02 ol li .box-img {
    width: 35%;
    background-position: center center;
    background-size: cover;
}

#guidance #part-02 ol li:nth-of-type(1) .box-img {
    background-image: url(/common/img/guidance/img-01.jpg);
}

#guidance #part-02 ol li:nth-of-type(2) .box-img {
    background-image: url(/common/img/guidance/img-02.jpg);
}

#guidance #part-02 ol li:nth-of-type(3) .box-img {
    background-image: url(/common/img/guidance/img-03.jpg);
}

#guidance #part-02 ol li:nth-of-type(4) .box-img {
    background-image: url(/common/img/guidance/img-04.jpg);
}

#guidance #part-02 ol li:nth-of-type(5) .box-img {
    background-image: url(/common/img/guidance/img-05.jpg);
}

#guidance #part-02 ol li:nth-of-type(6) .box-img {
    background-image: url(/common/img/guidance/img-06.jpg);
}

#guidance #part-02 ol li:nth-of-type(7) .box-img {
    background-image: url(/common/img/guidance/img-07.jpg);
}

#guidance #part-02 ol li:nth-of-type(8) .box-img {
    background-image: url(/common/img/guidance/img-08.jpg);
}

#guidance #part-02 ol li:nth-of-type(9) .box-img {
    background-image: url(/common/img/guidance/img-09.jpg);
}

#guidance #part-02 ol li:nth-of-type(10) .box-img {
    background-image: url(/common/img/guidance/img-10.jpg);
}

#guidance #part-02 ol li .right {
    width: 65%;
    padding: 20px 20px;
}

#guidance #part-02 ol li:nth-of-type(6) .right,
#guidance #part-02 ol li:nth-of-type(7) .right,
#guidance #part-02 ol li:nth-of-type(8) .right {
    padding: 50px 20px;
}

#guidance #part-02 ol li .right .tit-02 {
    text-align: left;
    margin-bottom: 10px;
    border-bottom: #fff solid 2px;
    display: inline-block;
}

#guidance #part-02 ol li .right .tit-02 .mini {
    font-size: 17px;
    font-style: italic;
    margin-right: 15px;
}

#guidance #part-02 ol li .right .cap {
    font-size: 18px;
}

#guidance #part-03 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#guidance #part-03 ul li {
    width: 250px;
    height: 50px;
    font-size: 17px;
    background-color: #fff;
    border: #178069 solid 1px;
    text-align: center;
    display: block;
    line-height: 3;
    margin: 0 5px 8px 5px;
}

#guidance #part-04 .row-divi .box-img {
    background-image: url(/common/img/guidance/img-left.jpg);
}

#guidance #part-04 .elem-02 dl dt.tit-02 {
    text-align: left;
    margin-bottom: 10px;
}

#guidance #part-04 .elem-02 dl dd {
    font-size: 28px;
    border-bottom: 1px #cecece solid;
    display: block;
    margin-bottom: 25px;
    line-height: 1.3;
    padding-bottom: 5px;
}

#guidance #part-04 .mini {
    font-size: 17px;
}


/*=============================================================
07. facility
=============================================================*/

#facility #bg {
    background-image: url( /common/img/facility/bg-01.jpg?v01 );
}

#facility #visual {
    background-image: url( /common/img/facility/visual.jpg?v01 );
}

.crosshome-info ul.colomn-03 {
    text-align: center;
    margin-bottom: 40px;
	display: flex;
    flex-wrap: wrap;
    min-width: 800px;

}

.crosshome-info  ul.colomn-03 li {
    width: 33.3%;
	padding: 0 10px;
    margin-bottom: 20px;
	box-sizing: border-box;
}

.crosshome-info  ul.colomn-03 li section {
	background-color: rgba(255,255,255,0.4);
}
.crosshome-info  ul.colomn-03 li a {
	text-decoration: none;
}

.crosshome-info  ul.colomn-03 li .tit-02 {
    margin-bottom: 0;
}

.crosshome-info  ul.colomn-03 li .box-img {
    padding-top: 100%;
    margin-bottom: 10px;
	transition: all ease 500ms
}

.crosshome-info  ul.colomn-03 li:hover .box-img {
	opacity: 0.5;
}

/* home-info template */

.crosshome-info  ul.colomn-03 li:nth-of-type( 1 ) .box-img {
    background-image: url( /common/img/home/img-home01.jpg );
}

.crosshome-info  ul.colomn-03 li:nth-of-type( 2 ) .box-img {
    background-image: url( /common/img/home/img-home02.jpg?v01 );
}

.crosshome-info  ul.colomn-03 li:nth-of-type( 3 ) .box-img {
    background-image: url( /common/img/home/img-home03.jpg );
}

.crosshome-info  ul.colomn-03 li:nth-of-type( 4 ) .box-img {
    background-image: url( /common/img/home/img-home04.jpg?v02 );
}

.crosshome-info  ul.colomn-03 li:nth-of-type( 5 ) .box-img {
    background-image: url( /common/img/home/img-home05.jpg?v02 );
}

.crosshome-info  ul.colomn-03 li:nth-of-type( 6 ) .box-img {
    background-image: url( /common/img/home/img-home06.jpg?v02 );
}

.crosshome-info  ul.colomn-03 li p {
	padding-bottom: 20px;
}

.crosshome-info  ul.colomn-03 li p.no-padding {
    font-size: 16px;
	padding: 0;
	margin: 0 0 8px;
	line-height: 1.4;
}

.crosshome-info  ul.colomn-03 li p .vacancy-info {
	font-size: 13px;
	padding: 5px 20px;
	background-color: #7A7A7A;
	color: #fff;
}

.crosshome-info  ul.colomn-03 li p .vacancy-info.empty {
	background-color: #24A784;
}

/*=============================================================
08. crosshome
=============================================================*/

.pages #bg {
    background-image: url( /common/img/shared/bg-01.jpg );
}

#crosshome-01 #visual {
    background-image: url( /common/img/crosshome-01/visual.jpg?v01 );
}

#crosshome-02 #visual {
    background-image: url( /common/img/crosshome-02/visual.jpg?v01 );
}

#crosshome-03 #visual {
    background-image: url( /common/img/crosshome-03/visual.jpg );
}

#crosshome-04 #visual {
    background-image: url( /common/img/crosshome-04/visual.jpg?v02 );
}

#crosshome-05 #visual {
    background-image: url( /common/img/crosshome-05/visual.jpg?v02 );
}

#crosshome-06 #visual {
    background-image: url( /common/img/crosshome-06/visual.jpg?v01 );
}

#crosshome-01 #part-guid .row-divi.img-right .box-img {
    background-image: url(/common/img/home/img-home01.jpg?v01);
}

#crosshome-02 #part-guid .row-divi.img-right .box-img {
    background-image: url(/common/img/home/img-home02.jpg?v01);
}

#crosshome-03 #part-guid .row-divi.img-right .box-img {
    background-image: url(/common/img/home/img-home03.jpg);
}

#crosshome-04 #part-guid .row-divi.img-right .box-img {
    background-image: url(/common/img/home/img-home04.jpg?v02);
}

#crosshome-05 #part-guid .row-divi.img-right .box-img {
    background-image: url(/common/img/home/img-home05.jpg?v02);
}

#crosshome-06 #part-guid .row-divi.img-right .box-img {
    background-image: url(/common/img/home/img-home06.jpg?v02);
}

.pages #part-price .row-divi.img-left .box-img {
    background-image: url(/common/img/shared/img-01.jpg);
}

.pages .tit-01.mb-plus {
    margin-bottom: 30px;
}

.pages #part-guid .elem-03 dl,
.pages #part-price .elem-03 dl {
    border-bottom: 1px #cecece solid;
}

.pages #part-guid .elem-03 dl dt,
.pages #part-price .elem-03 dl dt {
    display: block;
    border-top: 1px #cecece solid;
    padding: 10px 0;
}

.pages #part-guid .elem-03 dl dt.tit-02,
.pages #part-price .elem-03 dl dt.tit-02{
    text-align: left;
    margin: 0;
    font-size: 22px;
    color: #187c4d;
    font-weight: bold;
}

.pages #part-guid .elem-03 dl dd,
.pages #part-price .elem-03 dl dd {
    font-size: 20px;
    display: block;
    line-height: 1.3;
    padding-bottom: 10px;
}

.pages #part-guid .mini,
.pages #part-price .mini {
    font-size: 17px;
}

.pages #part-guid .info-area {
    background-color: rgba(255, 255, 255, 0.6);
    padding: 15px;
    font-size: 16px;
    box-sizing: border-box;
}

.pages #part-access p {
    margin-bottom: 5px;
}

.pages #part-access p.mb-plus {
    margin-bottom: 20px;
}

.pages #part-access .map {
    width: 100%;
    height: 480px;
    margin-bottom: 20px;
}

#crosshome-02 #part-price .cap {
    margin-bottom: 3px;
}

/*=============================================================
07. #contact and #mail common style
=============================================================*/

.form-btns-wrapper {
    display: inline-block;
    width: 100%;
    text-align: center;
}

.form-btn {
    width: 30%;
    padding: 18px 0;
    border: solid 1px #24A784;
    margin: 0 5px;
    background: none;
    border-radius: 500px;
    cursor: pointer;
    color: #24A784;
    font-size: 18px;
    transition: all ease 350ms;
}

.form-btn:hover {
    background: #24A784;
    color: #fff;
}

/*=============================================================
08. contact
=============================================================*/

#contact #bg {
    background-image: url( /common/img/contact/bg-01.jpg?v01 );
}

#contact #visual {
    background-image: url( /common/img/contact/visual.jpg?v01 );
}

#contact table.formTable {
	width:100%;
	margin:0 auto 50px;
}

#contact table.formTable tr {
    border-bottom: solid 1px rgba( 28,59,149,0.3 );
}

#contact table.formTable tr:nth-of-type( 1 ) {
    border-top: solid 1px rgba( 28,59,149,0.3 );
}

#contact table.formTable td,
#contact table.formTable th {
	padding: 30px;
}

#contact table.formTable th {
	width: 10em;
	font-weight:normal;
	text-align:left;
}

#contact .formTable input[type="text"],
#contact .formTable textarea {
    padding: 10px;
    font-size: 17px;
    border: solid 1px #ddd;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'M PLUS Rounded 1c', sans-serif;
}

#contact .formTable input[type="text"] {
    width: 50%;
}

#contact .formTable textarea {
    width: 100%;
    font-weight: normal;
    line-height: 1.6;
    letter-spacing: 2px;
}

/*=============================================================
09. mail
=============================================================*/

#mail #bg {
    background-image: url( /common/img/contact/bg-01.jpg?v01 );
}

#mail #contents {
    padding-top: 140px;
}

#mail .inner {
    text-align: center;
}

#mail #main-footer {
    border-top: none;
}

#mail #formWrap {
	margin:0 auto;
}

#mail table.formTable {
	width: 100%;
	margin: 0 auto 50px;
	border-collapse: collapse;
}

#mail table.formTable td,
#mail table.formTable th {
	border: 1px solid rgba( 28,59,149,1 );
	padding: 20px;
	text-align:left;
}

#mail table.formTable th {
	width:30%;
	font-weight:normal;
}

#mail .box-errm {
    margin-bottom: 30px;
}

#mail p.bb,
#mail p.error_messe{
	padding: 20px 0;
    border-bottom: solid 1px #1c3b95;
    margin-bottom: 0;
}

#mail p.mb-plus {
    margin-bottom: 25px;
}

/*=============================================================
10. thanks
=============================================================*/

#thanks #bg {
    background-image: url( /common/img/thanks/bg-01.jpg?v01 );
    background-position: left center;
}

#thanks #wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
}

#thanks #main-footer {
    width: 100%;
    padding: 60px 0;
    border-top: none;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    z-index: 1;
}

#thanks #thanks-msg {
    width: 50%;
    max-width: 640px;
    box-shadow: 0 0 10px rgba( 0,0,0,0.07 );
    -webkit-border-radius: 10px;
    border-radius: 10px;
    overflow: hidden;
}

#thanks #thanks-msg .tit-01 {
    padding: 30px 0;
    margin-bottom: 0;
    background: rgba( 255,255,255,1 );
    -webkit-border-radius: 10px 10px 0 0;
    border-radius: 10px 10px 0 0;
    line-height: 1.2;
}

#thanks #thanks-msg .box-text {
    padding: 25px 30px 30px 30px;
    background: rgba( 255,255,255,0.7 );
    -webkit-border-radius: 0 0 10px 10px;
    border-radius: 0 0 10px 10px;
}

#thanks #thanks-msg .btn-02 {
    display: block;
	font-size: 1.6rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 2.8;
	color: #24A784;
	transition: all ease 500ms;
    cursor: pointer;
}

#thanks #thanks-msg .btn-02:hover {
	background-color: #24A784;
}

#thanks #thanks-msg .btn-02:hover {
	color: #fff;
}

/*=============================================================
11. wakuwaku-work
=============================================================*/

#wakuwaku-work #bg {
    background-image: url( /common/img/wakuwaku-work/bg-01.jpg );
}

#wakuwaku-work #visual {
    background-image: url( /common/img/wakuwaku-work/visual.jpg );
}

#wakuwaku-work #visual #visual-tit h1 img {
    width: 100%;
}

#wakuwaku-work .tit-01 {
    background-image: linear-gradient(90deg,
    rgba(187, 255, 239, 0.1),
    rgba(236, 237, 203, 0.5) 34%,
    rgba(248, 227, 183, 0.5) 72%,
    rgba(255, 155, 252, 0.1) 97%);
}

#wakuwaku-work #part-01 h1.tit-01 {
    margin-bottom: 0;
}

#wakuwaku-work #part-01 .single-img {
    margin-bottom: 30px;
}

#wakuwaku-work #part-01 .single-img .box-img {
    background-image: url(/common/img/wakuwaku-work/img-01.png);
    margin: 0 10%;
}

#wakuwaku-work #part-01 a {
    width: 230px;
    display: block;
    margin: 0 auto;
}

#wakuwaku-work #part-02 .row-divi .box-img {
    background-image: url(/common/img/wakuwaku-work/img-02.jpg?v01);
}

#wakuwaku-work #part-02 .box-text {
    padding: 20px 0 20px 30px;
    box-sizing: border-box;
}


#wakuwaku-work #part-02 .tit-02 {
    margin-bottom: 20px;
}

#wakuwaku-work #part-02 .tit-03 {
    color: #187c4d;
}

#wakuwaku-work #part-02 .cap-text {
    font-size: clamp(1rem, 2vw, 1.2rem);
    font-family: "M PLUS",sans-serif;
    line-height: 1.3;
    margin-bottom: 20px;
}

#wakuwaku-work #part-02 .cap-text p {
    text-indent: -1.1em;
    padding-left: 1em;
}

#wakuwaku-work #part-02 .cap-text p::before {
    content: '■';
}

#wakuwaku-work .elem-03 {
    width: 80%;
    margin: 0 auto;
}

#wakuwaku-work .container {
    background-color: rgba( 255,255,255,0.5);
    padding: 2%;
}

#wakuwaku-work table {
    width: 100%;
}

#wakuwaku-work table th,
#wakuwaku-work table td {
    border-bottom: 1px solid #B4B4B4;
    text-align: left;
    font-size: 17px;
    padding: 15px 0;
    box-sizing: border-box;
}

#wakuwaku-work table tr:last-of-type th,
#wakuwaku-work table tr:last-of-type td {
    border: none;
}

#wakuwaku-work table th {
    width: 250px;
    color: #178069;
}

#wakuwaku-work table td {
    width: 50%px;
}

#wakuwaku-work #part-03 .container {
    background: none;
    overflow: hidden;
    margin-bottom: 30px;
}

#wakuwaku-work #part-03 .container .left {
    width: 55%;
    float: left;
}

#wakuwaku-work #part-03 .container .right {
    width: 45%;
    float: right;
    padding: 50px 10px 0;
    box-sizing: border-box;
}

#wakuwaku-work #part-03 table tr {
    border-bottom: 1px #e2e2e2 solid;
}

#wakuwaku-work #part-03 table tr:nth-child(odd) {
    background-color: rgba(226, 240, 238, 0.5);
}

#wakuwaku-work #part-03 table tr:nth-child(even) {
    background-color: rgba(241, 241, 241, 0.5);
}

#wakuwaku-work #part-03 table th.step {
    width: 10%;
    text-align: center;
    background-color: #ff9b10;
    color: #fff;
    padding: 5px;
}

#wakuwaku-work #part-03 table th,
#wakuwaku-work #part-03 table td {
    border: none;
}

#wakuwaku-work #part-03 table th.tit {
    width: 20%;
}

#wakuwaku-work #part-03 table th {
    text-align: center;
    font-size: clamp(14px, 2vw, 19px);
    font-family: "M PLUS",sans-serif;
    font-weight: bolder;
    vertical-align: middle;
    padding: 15px;
}

#wakuwaku-work #part-03 table td {
    font-size: clamp(13px, 2vw, 17px);
    font-weight: bold;
    padding: 10px;
}

#wakuwaku-work #part-03 .green {
    color: #1c7a95;
    font-weight: bolder;
}

#wakuwaku-work #part-work .single-img img {
    width: 100%;
    max-width: none;
}

#wakuwaku-work #part-04 .tit-03 {
    margin-bottom: 0;
}

#wakuwaku-work #part-04 h3 {
    margin-bottom: 20px;
}

#wakuwaku-work #part-04 .box-text {
    padding: 50px 0;
    box-sizing: border-box;
    background-color: #fff;
}

#wakuwaku-work #part-04 .box-text P {
    margin-bottom: 5px;
}

#wakuwaku-work #part-04 .box-text a {
    text-decoration: none;
}

.mini {
    font-size: 15px;
}

#wakuwaku-work #part-04 #map.elem-03 {
    width: 100%;
    margin: 0;
}

#wakuwaku-work #part-04 #map iframe {
    width: 100%;
    height: 500px;
}

/*=============================================================
12. mobile
=============================================================*/

.mobile #main-header #icon-menu,
.moble .btn-02,
.mobile .form-btn {
    transition: none;
}

.mobile #main-header #icon-menu:hover {
    background: #24A784;
}

.mobile #main-header #nav-wrapper #box-nav ul li a::after {
    display: none;
}

.mobile .btn-01:hover::before {
    animation: none;
}

.mobile .form-btn:hover,
.mobile .btn-02:hover {
    background: none;
    color: #24A784;
}

/*=============================================================
12. media query
=============================================================*/

@media screen and (max-width: 1360px) {

    #main-header #nav-wrapper #box-nav .central {
        width: 51%;
    }

}

@media screen and (max-width: 1024px) and (orientation: portrait) {

    .pages #visual #visual-tit {
        width: 68%;
    }

    .inner-divi {
        width: 80%;
        margin: 0 auto;
    }

    .row-divi-single-img {
        margin-bottom: 15px;
    }

    .row-divi-single-img .box-img {
        width: 100%;
        height: auto;
        padding-top: 100%;
        margin-bottom: 40px;
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }

    .row-divi-single-img .box-text {
        width: 100%;
        padding: 0;
        margin-left: 0;
    }

    #main-header #nav-wrapper .box-img,
    #main-header #nav-wrapper #box-nav {
        width: 100%;
        height: 50%;
    }

    #main-header #nav-wrapper .box-img {
        left: 0;
        background-position: center bottom;
    }

    #main-header #nav-wrapper #box-nav {
        top: 50%;
    }

    #main-header #nav-wrapper #box-nav .central {
        width: 38%;
    }

    #home #visual {
        background-image: url( /common/img/home/visual-portrait.jpg );
    }

    #home #visual #box-logo {
        width: 57%;
    }

    #home #part-business .row-divi .tit-02 {
        font-size: 20px;
    }

    #about #part-map section {
        width: 100%;
    }

    #about #part-map section:nth-of-type( 1 ) {
        padding-right: 0;
        margin-bottom: 40px;
    }

    #about #part-map section:nth-of-type( 2 ) {
        padding-left: 0;
    }

}

@media screen and (max-width: 1200px) {

    #thanks #thanks-msg {
        width: 54%;
    }

}

@media screen and (max-width: 1024px) {

    #about #part-crosshome .single-img img {
        width: 100%;
        max-width: initial;
    }

}

@media screen and (max-width: 1023px) {

    .box-divi {
        width: 100%;
    }

    .double-img .box-img:nth-of-type( 2 ) {
        padding-top: 40%;
        top: 0;
    }

    #wakuwaku-work #part-03 .container .left,
    #wakuwaku-work #part-03 .container .right {
        float: none;
        width: 100%;
    }

    #wakuwaku-work #part-03 .container .right {
        padding: 0;
    }

    #thanks #thanks-msg {
        width: 70%;
    }

    #mail table.formTable th {
        width: 10em;
    }

}

@media screen and (max-width: 800px) {

	.pc {
		display: none;
    }

	.sp {
		display: inline-block;
    }

    .form-btn {
        width: 40%;
    }

    .crosshome-info  ul.colomn-03 {
        display: block;
        min-width: auto;
    }

    .crosshome-info  ul.colomn-03 li {
        width: 100%;
        margin-bottom: 20px;
    }


    #contact table.formTable td,
    #contact table.formTable th {
        padding: 30px 0;
    }

    #contact .formTable input[type="text"] {
        width: 100%;
    }
    
    #wakuwaku-work #part-02 .box-text {
        padding: 20px 0;
    }

    #wakuwaku-work #part-work .single-img img {
        width: 70%;
    }
}

@media screen and (max-width: 700px) {

	.pc-alt {
		display: none;
    }

	.sp-alt {
		display: inline-block;
    }

    body {
        font-size: 17px;
    }

    .mass {
        margin-bottom: 60px;
    }

    .with-top-line {
        padding-top: 40px;
    }

    .with-top-line.img-white-base {
        padding-bottom: 45px;
    }

    #visual {
        margin-bottom: 35px;
    }

    #visual #icon-scroll img {
        width: 74px;
    }

    .tit-01 {
        margin-bottom: 30px;
        font-size: 31px;
        line-height: 1.4;
    }

    .tit-01.mb-plus {
        margin-bottom: 30px;
    }

    .tit-01.mb-super-minus {
        margin-bottom: 3px;
    }

    .tit-02 {
        margin-bottom: 15px;
        font-size: 21px;
    }

    .single-img,
    .three-img {
        margin-bottom: 40px;
    }

    .three-img img {
        width: 100%;
    }

    .single-img img {
        width: 100%;
        max-width: initial;
    }

    .btn-02 {
        width: 300px;
        height: 60px;
    }

    .btn-02 a {
        line-height: 2.2;
        font-size: 1.5rem;
    }

    .double-img {
        margin-bottom: 30px;
    }

    .double-img .box-img:nth-of-type( 1 ),
    .double-img .box-img:nth-of-type( 2 ) {
        width: 50%;
        padding-top: 50%;
    }

    .double-img .box-img:nth-of-type( 2 ) {
        position: relative;
    }

    .row-divi {
        margin-bottom: 40px;
    }

    .row-divi .box-img,
    .row-divi .box-text {
        width: 100%;
    }

    .row-divi .box-img {
        height: auto;
        padding-top: 100%;
        position: relative;
        top: 0;
        left: 0;
        z-index: 1;
    }

    .row-divi.img-right .box-img {
        left: 0;
    }

    .row-divi.img-right .box-text {
        padding-right: 0;
    }

    .row-divi.img-left .box-text {
        padding-left: 0;
        margin-left: 0;
    }

    .pages #visual #visual-tit {
        width: 84%;
        top: 50%;
    }

    #main-header h1 {
        width: 230px;
        top: 30px;
        left: 10px;
    }

    #main-header #icon-menu,
    #main-header #icon-close,
    #main-header #icon-tel {
        width: 80px;
        height: 80px;
    }

    #main-header #icon-tel {
        right: 93px;
    }

    #main-header #icon-tel a {
        line-height: 1.4;
        padding-top: 18px;
    }

    #main-header #icon-wakuwaku {
        width: 163px;
        top: 93px;
    }

    #main-header #nav-wrapper .box-img {
        height: 40%;
    }

    #main-header #nav-wrapper #box-nav {
        height: 60%;
        top: 40%
    }

    #main-header #nav-wrapper #box-nav .central {
        width: 58%;
    }

    #main-header #nav-wrapper #box-nav ul li a {
        width: 100%;
        padding: 7% 10% 9%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #main-header #nav-wrapper #box-nav ul li a img {
        vertical-align: middle;
    }

    #main-footer {
        padding: 40px 0;
    }

    #main-footer p {
        font-size: 14px;
    }

    #home #visual #box-logo {
        width: 80%;
        top: 42%;
        left: 10%;
    }

    #home #part-about {
        margin-bottom: 45px;
    }

    #home #part-about .double-img .box-img:nth-of-type( 1 ) {
        background-position: center center;
        width: 100%;
        margin-left: 0;
    }

    #home #part-about .double-img .box-img:nth-of-type( 2 ) {
        width: 100%;
        right: 0;
    }

    #home #part-info ul li {
        padding-bottom: 40px;
        margin-bottom: 35px;
    }

    #home #part-contact {
        padding-top: 0;
    }

    #home #part-contact aside a img {
        width: 100%;
    }

    #about #part-feature ul {
        display: block;
    }

    #about #part-feature ul li {
        width: 100%;
        padding: 0;
        margin-bottom: 30px;
    }

    #about #part-feature ul li img {
        width: 90%;
    }

    #about #part-feature ul li .tit-03 {
        font-size: 22px;
    }

    #about #part-feature.mass {
        margin-bottom: 0;
    }

    #about #part-kigyou.with-top-line::before {
        width: 0;
    } 

    #about #part-kigyou .box-text p.bold {
        font-size: 20px;
        margin: 10px 0;
    }

    #guidance #visual {
        background-position: right center;
    }

    #guidance #part-02 ol {
        width: 100%;
    }

    #guidance #part-02 ol li {
        display: block;
        height: auto;
    }

    #guidance #part-02 ol li .box-img {
        width: 100%;
        height: 170px;
    }

    #guidance #part-02 ol li .right {
        width: auto;
        padding: 8px 15px 10px;
    }
    
    #guidance #part-02 ol li .right .tit-02 {
        display: block;
    }

    #guidance #part-02 ol li .right .cap {
        font-size: 17px;
    }

    #guidance #part-03.mass,
    #guidance #part-04.mass {
        margin: 0;
    }

    #guidance #part-04 .row-divi .box-img {
        margin-bottom: 20px;
    }

    #guidance #part-04  p.ta-c.mb-plus {
        text-align: left;
    }

    #wakuwaku-work #visual #visual-tit {
        width: 93%;
    }

    #wakuwaku-work #part-01 h1.tit-01 {
        font-size: 29px;
        margin-bottom: 10px;
    }

    #wakuwaku-work .elem-03 {
        width: 100%;
    }

    #wakuwaku-work table th,
    #wakuwaku-work table td {
        width: 100%;
        display: block;
    }

    #wakuwaku-work table th {
        border-bottom: none;
        padding: 10px 0 0 10px;
    }

    #wakuwaku-work table td {
        padding: 5px 0 10px 20px;
    }

    #wakuwaku-work #part-03 table th.step {
        width: 25%;
    }

    #wakuwaku-work #part-03 table th.tit {
        width: 100%;
        font-size: 20px;
        padding: 10px 15px;
    }



    .form-btn {
        width: 100%;
        margin: 0;
    }

    .form-btn:last-of-type {
        margin-top: 10px;
    }

    #contact table.formTable tr:last-of-type {
        border-bottom: none;
    }

    #contact table.formTable tr:last-of-type td {
        padding-bottom: 0;
    }

    #contact table.formTable th,
    #contact table.formTable td {
        display: block;
        width: 100%;
    }

    #contact table.formTable th {
        padding: 20px 0 5px 0;
    }

    #contact table.formTable td {
        padding: 0 0 25px 0;
    }

    #mail #contents {
        padding-top: 96px;
    }

    #mail .inner {
        text-align: left;
    }

    #mail .tit-01.mb-super-minus {
        margin-bottom: 18px;
    }

    #mail table.formTable {
        margin-bottom: 45px;
    }

    #mail table.formTable th,
    #mail table.formTable td {
        display: block;
        width: 100%;
        padding: 17px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    #mail table.formTable th {
        border-bottom:0;
    }

    #mail table.formTable tr {
        display: block;
        margin-bottom: 18px;
    }

    #mail table.formTable tr:last-of-type {
        margin-bottom: 0;
    }

    #mail input[type="submit"],
    #mail input[type="reset"],
    #mail input[type="button"] {
        display:block;
        width:100%;
    }

    #thanks #thanks-msg {
        width: 93%;
    }

    #thanks #thanks-msg .box-text {
        padding: 18px 25px 25px 25px;
    }

    #thanks #thanks-msg .tit-01 {
        padding: 20px 0;
        font-size: 24px;
    }

    #thanks #thanks-msg p {
        font-size: 16px;
    }

    #thanks #main-footer {
        padding: 20px 0;
    }

}

@media screen and (max-width: 400px) {
    #main-header h1 {
        width: 200px;
    }

}

@media screen and (max-width: 374px) {


    #thanks #thanks-msg .tit-01 {
        padding: 16px 0;
        font-size: 20px;
    }

    #thanks #thanks-msg p {
        font-size: 14px;
        letter-spacing: 1px;
    }

    #thanks #thanks-msg .btn-02 {
        padding: 10px 0;
    }

    #thanks #main-footer p {
        font-size: 13px;
    }

    #thanks #main-footer {
        padding: 13px 0;
    }

}

@media screen and (max-width: 359px) {

    .tit-01 {
        font-size: 27px;
    }

    #main-header h1 {
        width: 200px;
        left: 18px;
    }

    #main-header #icon-menu,
    #main-header #icon-close {
        width: 70px;
        height: 70px;
    }

}

/*=============================================================
13. helper
=============================================================*/

.ta-r {
    text-align: right;
}

.center {
    text-align: center;
}

.clr {
	clear: both;
}

/*
* clear fix
*/

.cf:before,
.cf:after {
	content:"";
	display: block;
	height: 0;
	overflow: hidden;
}

.cf:after {
	clear: both;
}
