@charset "utf-8";

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 0px 0 0;
	width: 100%;
	line-height: 1.8;
	color: #3e3a39;
	font-family: 'Zen Kaku Gothic New', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
/*TOMASEIヘッダー*/
#TOMASEI {
width: 100%;
position: relative;
}
#TOMASEI .top-bar{
background: #003576;
padding: 0.7rem;
position: relative;
z-index: 2000;
}
#TOMASEI .top-bar img{
width: 175px;
}
#TOMASEI > ul.sns{list-style: none;position: absolute;top:10px;right: 0.7rem;z-index: 2001;}
#TOMASEI > ul.sns li{margin-left: 0.5rem;}
#TOMASEI > ul.sns li,header#TOMASEI > ul.sns li a{display: inline-block;width: 23px;}
#TOMASEI > ul.sns li img{width: 100%;}
@media screen and (min-width: 768px) {/*768以上*/
#TOMASEI .top-bar{text-align: center;}
#TOMASEI .top-bar img{margin: 0 auto;}
.pc-show{display: block;}
}

#wrapper {
	position: relative;
	overflow: hidden;
}
#wrapper::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background-color: #d9d2c2;
    z-index: -2;
}
#wrapper::after {
	content: "";
	display: block;
	position: absolute;
	top: 780px;
	left: 2.5%;
	margin: 0;
	width: 95%;
	height: calc(100% - 780px);
    background-image: url("../img/cmn/icon_side_1206.png");
    background-position: center top;
    background-repeat: repeat-y;
    background-size: auto;
    z-index: -2;
}
@media screen and (max-width:1290px) {
    #wrapper::after {
        top: 61.6vw;
        height: calc(100% - 61.6vw);
        background-size: 100%;
    }
}
@media screen and (max-width: 767px) {
    #wrapper::after {
        background-image: url("../img/cmn/icon_side_767.png");
        background-position: center top;
        background-repeat: repeat-y;
        background-size: 100%;
    }
}
@media screen and (max-width: 599px) {
    #wrapper::after {
        top: 38vw;
        height: calc(100% - 38vw);
    }
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}

@media screen and (min-width: 960px) {
    a[href^="tel:"] {
        display: inline-block;
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

#link01, #link02, #link03, #link04, #link05 {
    margin-top: -160px;
    padding-top: 160px;
}
@media screen and (max-width:959px) {
    #link01, #link02, #link03, #link04, #link05 {
        margin-top: -80px;
        padding-top: 80px;
    }
}
@media screen and (max-width:599px) {
    body {
        padding: 60px 0 0;
    }
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	line-height: 1;
	z-index: 1010;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite {
    background-color: rgba(26,134,90,1);
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0 30px 0px 30px;
	width: 100%;
	max-width: 1300px;
    height: 120px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .hd-inr {
    height: 100px;
}
.hd-logo {
	margin: 40px 0 0 0;
	width: 219px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .hd-logo {
	margin: 0px 0 0 0;
}
.hd-logo img {
}
.hd-info {
	width: calc(100% - 219px);
    vertical-align: top;
}
.hd-menu {
	margin: 0;
	padding: 0px 0 0;
}
.hd-contact {
}
.hd-insta {
    position: absolute;
    width: 81px;
    top: 135px;
    right: 45px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .hd-insta {
    top: 16px;
    right: 30px;
}
.hd-insta img {
}
@media screen and (max-width: 959px) {
body{
padding-top: 0;
}
header {
	top: 50px;
  }
.hd-inr {
        padding: 0px 15px 0px 15px;
        height: 60px;
	}
    header.bgwhite .hd-inr {
        height: 60px;
    }
    .hd-logo {
        margin: 0px 0 0 0;
        width: 160px;
    }
    header.bgwhite .hd-logo {
        margin: 0px 0 0 0;
    }
    .hd-info {
        width: calc(100% - 160px);
		padding: 0 55px 0 0;
		align-items: center;
    }
    .hd-contact {
        height: 52px;
    }
	.hd-menu {
		margin: 0;
		padding: 0;
	}
    .hd-insta {
        top: 4px;
        right: 70px;
    }
    header.bgwhite .hd-insta {
        top: 4px;
        right: 70px;
    }
    .hd-insta img {
        height: 52px;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .hd-inr {
        padding: 0px 15px 0px 10px;
	}
	.hd-logo {
        width: 160px;
        margin-top: -10px;
	}
	.hd-info {
		width: calc(100% - 160px);
		padding: 0 45px 0 0;
	}
    .hd-insta {
        right: 60px;
    }
    header.bgwhite .hd-insta {
        right: 60px;
    }
}
@media screen and (max-width: 320px) {
}

/*	フッター
---------------------------------*/
footer {
}
footer .ft-info {
    position: relative;
}
footer .ft-info::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 660px;
    background: #038151 url("../img/cmn/bg_footer.png") no-repeat center bottom;
    background-size: auto 730px;
    z-index: -1;
}
footer .contents-inr {
	padding-top: 210px;
	padding-bottom: 70px;
}
.ft-left {
    width: 36%;
}
.ft-left .ft-logo-left {
}
.ft-left .ft-logo-right {
    padding-top: 18px;
    padding-left: 18px;
}
.ft-left .ft-logo-right .ft-address {
    margin-top: 10px;
	font-size: 14px;
    letter-spacing: 1px;
    font-weight: 400;
    line-height: 1.6;
    font-family: "Noto Sans JP", sans-serif;
    color: #ffffff;
}
.ft-right {
    margin-top: 18px;
    width: 64%;
}
.ft-nav {
}
.ft-nav > ul {
	margin: 0;
    font-size: 0;
}
.ft-nav > ul > li {
    display: inline-block;
    vertical-align: top;
	width: 155px;
	margin: 0px 15px 0 0px;
}
.ft-nav > ul > li:last-of-type {
	width: 210px;
	margin: 0px 15px 0 0px;
}
.ft-nav > ul > li .btn {
	position: relative;
	width: 155px;
	height: 40px;
    margin-bottom: 10px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.ft-nav > ul > li .btn::before {
	content: "";
	display: block;
	position: absolute;
	top: -2px;
	left: -2px;
	margin: 0;
	width: 104%;
	height: 116%;
    background: #231815;
    border-radius: 30px;
    z-index: -1;
}
.ft-nav > ul > li .btn a {
    display: block;
	width: 100%;
	height: 100%;
	padding: 9px 5px 0 0;
	text-align: center;
	font-size: 14px;
    line-height: 1.6;
    letter-spacing: 3px;
	font-weight: 900;
    color: #000000;
    background: #ffffff url("../img/cmn/icon_arw01.png") no-repeat 90% center;
    background-size: auto;
    border-radius: 20px;
}
.ft-nav > ul > li p {
    margin-top: 19px;
    margin-left: 25px;
	font-size: 10px;
    letter-spacing: 1px;
	font-weight: 700;
    color: #ffffff;
}
.ft-nav > ul > li p.line {
    margin-top: 0px;
    margin-left: 25px;
	font-size: 10px;
    letter-spacing: 1px;
	font-weight: 700;
    color: #ffffff;
    position: relative;
}
.ft-nav > ul > li p.line::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: -12px;
	margin: 0;
	width: 1px;
	height: 100%;
    background: #93c6b0;
    z-index: -1;
}
.ft-copyright {
    color: #848585;
    background: #1d3223;
	padding: 7px 5px 11px 5px;
	font-size: 12px;
    letter-spacing: 1px;
    font-weight: 400;
    line-height: 1.6;
    text-align: center;
}
@media screen and (max-width:1279px) {
    footer .contents-inr {
        padding-bottom: 50px;
    }
    .ft-left {
        width: 40%;
    }
    .ft-left .ft-logo-right {
        padding-left: 10px;
    }
    .ft-left .ft-logo-right .ft-address {
        font-size: 13px;
    }
    .ft-right {
        width: 60%;
    }
    .ft-nav > ul > li {
        width: 126px;
        margin: 0px 10px 20px 0px;
    }
    .ft-nav > ul > li:last-of-type {
        width: 190px;
        margin: 0px 10px 20px 0px;
    }
    .ft-nav > ul > li .btn {
        width: 126px;
    }
    .ft-nav > ul > li .btn a {
        letter-spacing: 1px;
        background: #ffffff url("../img/cmn/icon_arw01.png") no-repeat 93% center;
        background-size: auto;
    }
    .ft-nav > ul > li p {
        letter-spacing: 0px;
    }
    .ft-nav > ul > li p.line {
        letter-spacing: 0px;
    }
}
@media screen and (max-width: 959px) {
    footer .ft-info::before {
        height: 600px;
        background-size: auto 100%;
    }
    .ft-left {
        width: 330px;
    }
    .ft-right {
        display: none;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .btn-pagetop img {
        width: 30px;
        height: auto;
    }
    footer .ft-info::before {
        height: 400px;
    }
    footer .contents-inr {
        padding-top: 100px;
        padding-bottom: 30px;
    }
    .ft-left {
        width: 240px;
    }
    .ft-left .ft-logo-left {
        width: 30%;
    }
    .ft-left .ft-logo-right {
        width: 70%;
        padding-top: 0px;
        padding-left: 10px;
    }
    .ft-left .ft-logo-right .ft-address {
        margin-top: 5px;
        font-size: 12px;
        letter-spacing: 0px;
    }
    .ft-copyright {
        padding: 5px 5px 5px 5px;
        font-size: 10px;
        letter-spacing: 0px;
    }
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 40px 0px 0 0px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
header.bgwhite .pc-nav > ul {
	margin: 0px 110px 0 0px;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0px 0px 0 15px;
	padding: 0 0px 0px 0px;
	width: 155px;
	height: 40px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li::before {
	content: "";
	display: block;
	position: absolute;
	top: -2px;
	left: -2px;
	margin: 0;
	width: 104%;
	height: 116%;
    background: #231815;
    border-radius: 30px;
    z-index: -1;
}
.pc-nav > ul > ul li.first {
	margin: 0;
	padding: 0;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0 5px 0 0;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 14px;
    letter-spacing: 3px;
	font-weight: 900;
    color: #000000;
    background: #ffffff url("../img/cmn/icon_arw01.png") no-repeat 90% center;
    background-size: auto;
    border-radius: 20px;
}
.pc-nav > ul > li > a span {
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
}
.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: calc(50% + 0px);
	transform: translateX(-50%);
	padding: 15px 10px 15px 12px;
	width: 160px;
	max-height: 0;
	background: rgba(255,255,255,0.7);
	text-align: center;
	z-index: 100;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	padding: 8px 0px 8px 0px;
	text-align: left;
	font-size: 14px;
    letter-spacing: 1px;
	font-weight: 500;
}
.pc-nav > ul > li.parent div li:last-child a {
    border-bottom: none;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}
@media screen and (max-width:1279px) {
    header.bgwhite .pc-nav > ul {
        margin: 0px 100px 0 0px;
    }
    .pc-nav > ul > li {
        margin: 0px 0px 0 12px;
        width: 126px;
    }
    .pc-nav > ul > li > a {
        letter-spacing: 0px;
        background: #ffffff url("../img/cmn/icon_arw01.png") no-repeat 93% center;
        background-size: auto;
    }
}
@media screen and (max-width: 959px) {
	.pc-nav {
		display: none;
	}
	.pconly-nav {
		display: none;
	}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width: 959px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: 100%;
		background: rgba(35,24,21,0.9);
		font-size: 1.8rem;
		font-weight: 500;
		z-index: 1000;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 30px 0;
		overflow: hidden;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}
	header nav.sp-nav > ul > li.parent {
		margin: 25px 0;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 10px 0 0;
		font-size: 0.875em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
		content: "";
	}
	header nav.sp-nav ul li strong,
	header nav.sp-nav ul li br {
		display: none;
	}
	header nav.sp-nav ul li span span,
	header nav.sp-nav ul li br {
		display: none;
	}
	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 15px;
		top: 10px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: #231815;
        border-radius: 10px;
		cursor: pointer;
		z-index: 1002;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:2px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}
@media screen and (max-width:599px) {
	header nav.sp-nav {
		font-size: 18px;
	}
	header .navToggle {
		right: 10px;
	}
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	padding: 0 0 0 0;
	width: 100%;
}
.main-img-otr::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 550px;
    background: url("../img/cmn/bg_header.png") no-repeat center top;
    background-size: auto 100%;
    z-index: 12;
}
.main-img-inr {
	position: relative;
	margin: 0 auto 0 auto;
	width: 100%;
	max-width: 1300px;
    z-index: 10;
}
.main-img {
	position: relative;
	width: 100%;
	height: 801px;
	background: no-repeat center center / auto 100%;
}
.main-img.img01 {
	background-image: url("../img/top/img_main01.jpg");
}
.main-img.img02 {
	background-image: url("../img/top/img_main02.jpg");
}
.main-img.img03 {
	background-image: url("../img/top/img_main03.jpg");
}
.main-img.img04 {
	background-image: url("../img/top/img_main04.jpg");
}
.main-img.img05 {
	background-image: url("../img/top/img_main05.jpg");
}
.main-img.img06 {
	background-image: url("../img/top/img_main06.jpg");
}
.main-img.img07 {
	background-image: url("../img/top/img_main07.jpg");
}
.main-img.img08 {
	background-image: url("../img/top/img_main08.jpg");
}
.main-img.img09 {
	background-image: url("../img/top/img_main09.jpg");
}
.main-img.img10 {
	background-image: url("../img/top/img_main10.jpg");
}
.main-img-cap {
	position: absolute;
    top: 30%;
    left: 15%;
    width: 70%;
	text-align: center;
	z-index: 1001;
}
.main-img-cap img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.main-img-chara {
	position: absolute;
    right: 50px;
    bottom: -66px;
    width: 22%;
	text-align: right;
	z-index: 1001;
}
.main-img-chara img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.main-img-otr .bx-controls {
    display: none;

	position: absolute;
	bottom: 30px;
	left: 0;
    width: 95%;
    text-align: center;
	z-index: 1001;
}
.bx-pager-item {
	display: inline-block;
	margin: 0 10px;
}
.bx-pager-item a {
	display: block;
	width: 10px;
	height: 10px;
	background: #ffffff;
	border-radius: 50%;
	text-indent: -9999px;
	text-align: left;
}
.bx-pager-item a.active {
	background: #73c368;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
    .main-img-otr::before {
        height: 43vw;
    }
    .main-img {
        height: 63vw;
    }
    .main-img-cap {
        top: 30%;
        left: 20%;
        width: 60%;
    }
    .main-img-chara {
        right: 10px;
        bottom: -30px;
    }
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
.main-img-otr::before {
top: 0;
background: url("../img/cmn/bg_header-599.png") no-repeat center top;
background-size: auto 100%;
}
    .main-img {
        height: 83vw;
        background: no-repeat center bottom / auto 130%;
    }
    .main-img-cap {
        top: 25%;
        left: 7%;
        width: 86%;
    }
    .main-img-chara {
        display: none;
    }
}
/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 80px;
	padding-right: 80px;
	max-width: 1210px;
}
.contents-inr.full {
	max-width: 100%;
	padding-left: 0px;
	padding-right: 0px;
}
.contents-inr.large {
	max-width: 1260px;
    padding-left: 30px;
    padding-right: 30px;
}
@media screen and (max-width: 599px) {
    .contents-inr {
        padding-left: 40px;
        padding-right: 40px;
    }
    .contents-inr.large {
        padding-left: 15px;
        padding-right: 15px;
    }
}
/*	汎用タイトル
---------------------------------*/
.ttl-cmn01 {
    display: inline-block;
    text-align: center;
	font-weight: 400;
	font-size: 48px;
	line-height: 1.2;
	letter-spacing: 0px;
    color: #120a0a;
    font-family: "Lilita One", sans-serif;
}
.ttl-cmn01 span {
    display: block;
	font-weight: 900;
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 3px;
    font-family: "Zen Maru Gothic", serif;
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .ttl-cmn01 {
        font-size: 33px;
    }
    .ttl-cmn01 span {
        font-size: 14px;
        letter-spacing: 2px;
    }
}
/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
    text-align: right;
}
.btn-cmn01 a {
    display: inline-block;
    width: 186px;
    height: 40px;
    background: #038151 url("../img/cmn/icon_arw02.png") no-repeat 88% center;
    background-size: auto;
    text-align: center;
    border-radius: 20px;
}
.btn-cmn01 a span {
    display: inline-block;
	margin-top: 7px;
	padding: 0px 5px 0px 0px;
	font-size: 16px;
    line-height: 1.6;
	letter-spacing: 3px;
	font-weight: 400;
    color: #ffffff;
    font-family: "Lilita One", sans-serif;
}
.btn-cmn02 {
    text-align: center;
}
.btn-cmn02 a {
    display: inline-block;
    width: 210px;
    height: 40px;
    background: #1b865a url("../img/cmn/icon_arw03.png") no-repeat 91% center;
    background-size: auto;
    text-align: center;
    border-radius: 20px;
}
.btn-cmn02 a span {
    display: inline-block;
	margin-top: 7px;
	padding: 0px 15px 0px 0px;
	font-size: 16px;
    line-height: 1.6;
	letter-spacing: 1px;
	font-weight: 500;
    color: #ffffff;
	font-family: 'Zen Kaku Gothic New', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .btn-cmn01 a {
        width: 140px;
        height: 36px;
        background: #1b865a url("../img/cmn/icon_arw02.png") no-repeat 90% center;
        background-size: auto;
    }
    .btn-cmn01 a span {
        margin-top: 6px;
        padding: 0px 6px 0px 0px;
        font-size: 14px;
    }
    .btn-cmn02 a {
        width: 180px;
        height: 36px;
        background: #1b865a url("../img/cmn/icon_arw03.png") no-repeat 93% center;
        background-size: auto;
    }
    .btn-cmn02 a span {
        font-size: 14px;
    }
}
/*	トップページ
---------------------------------*/
/* NEWS */
.top-news {
    padding-top: 60px;
    padding-bottom: 70px;
}
.top-news .contents-inr {
}
.top-news .img-icon {
    position: absolute;
    top: -32px;
    left: 9.5%;
}
.top-news .top-news__list {
    position: relative;
    margin-left: 7%;
    margin-right: 7%;
    background: #ffffff;
    border-radius: 20px;
    padding: 6px 10px 4px 120px;
}
.top-news .top-news__list ul {
}
.top-news .top-news__list ul li {
	font-size: 0;
	margin: 0;
	padding: 0;
}
.top-news .top-news__list ul li:last-child {
}
.top-news .top-news__list ul li .date {
    border-left: #9c9c9c 1px solid;
    padding-left: 10px;
    width: 150px;
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.6;
    font-weight: 500;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.top-news .top-news__list ul li .title {
    width: calc(100% - 150px);
	display: inline-block;
	vertical-align: top;
	font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.6;
    font-weight: 500;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.top-news .top-news__list ul li .title a {
	text-decoration:none;
}
.top-news .top-news__list ul li .title a:hover {
	text-decoration:underline;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .top-news .img-icon {
        left: 6%;
    }
    .top-news .top-news__list {
        margin-left: 2%;
        margin-right: 2%;
    }
}
@media screen and (max-width: 767px) {
    .top-news .top-news__list ul li .date {
        width: 100%;
        display: block;
    }
    .top-news .top-news__list ul li .title {
        padding-left: 10px;
        width: 100%;
        display: block;
    }
}
@media screen and (max-width: 599px) {
    .top-news {
        padding-top: 30px;
        padding-bottom: 20px;
    }
    .top-news .img-icon {
        top: -20px;
        left: 5%;
        width: 50px;
        height: auto;
    }
    .top-news .top-news__list {
        margin-left: 4%;
        margin-right: 4%;
        padding: 10px 10px 10px 12px;
    }
    .top-news .top-news__list ul li .date {
        border-left: none;
        padding-left: 0px;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .top-news .top-news__list ul li .title {
        padding-left: 0px;
        font-size: 14px;
        letter-spacing: 1px;
    }
}
/* 私たちについて */
.top-aboutus {
    position: relative;
}
.top-aboutus::before {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	left: 36%;
	margin: 0;
	width: 64%;
	height: calc(100% - 30px);
    background-image: url("../img/cmn/icon_top.png"), url("../img/top/bg_white01.png");
    background-position: left top, left bottom;
    background-repeat: repeat-x, no-repeat;
    background-size: auto, 100% 100%;
    border-top: #3c7f54 18px solid;
    z-index: -1;
}
.top-aboutus .contents-inr {
}
.top-aboutus .title-box {
    width: 30%;
    min-height: 1023px;
    float: left;
    text-align: left;
    padding-bottom: 60px;
    position: relative;
}
.top-aboutus .title-box::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	right: -245px;
	margin: 0;
	width: 803px;
	height: 603px;
    background-image: url("../img/top/img_top_aboutus02.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
.top-aboutus .title-box .ttl-cmn01 {
    margin-left: 15%;
    margin-bottom: 90px;
}
.top-aboutus .title-box h4 {
    margin-left: 13%;
    writing-mode: vertical-rl;
    line-height: 6.8;
}
.top-aboutus .title-box h4 span {
    display: inline-block;
    background-color: #ffffff;
	font-size: 30px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 5px;
    padding: 10px 5px 10px 5px;
    font-family: "Noto Sans JP", sans-serif;
}
.top-aboutus .title-box .main-img-chara {
display: none;
}
.top-aboutus .text-box {
    padding-top: 140px;
    width: 70%;
    min-height: 1023px;
    padding-left: 10%;
    padding-right: 28%;
    padding-bottom: 60px;
    position: relative;
    float: right;
}
.top-aboutus .text-box::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 220px;
	margin: 0;
	width: 570px;
	height: 983px;
    background-image: url("../img/top/img_top_aboutus03.png");
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
.top-aboutus .text-box p {
	font-size: 17px;
    letter-spacing: 1px;
    line-height: 1.9;
    font-weight: 700;
}
.top-aboutus .text-box .btn-cmn01 {
    margin-top: 70px;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
    .top-aboutus .title-box::before {
        right: -50%;
        width: 190%;
    }
    .top-aboutus .text-box {
        padding-left: 10%;
        padding-right: 22%;
        padding-bottom: 60px;
        position: relative;
        float: right;
    }
    .top-aboutus .text-box::before {
        left: 32%;
        width: 88%;
    }
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
    .top-aboutus .contents-inr {
        padding-left: 60px;
        padding-right: 60px;
    }
    .top-aboutus::before {
        left: 40%;
        width: 60%;
    }
    .top-aboutus .title-box {
        width: 40%;
    }
    .top-aboutus .title-box .ttl-cmn01 {
        margin-left: 1%;
        margin-bottom: 90px;
    }
    .top-aboutus .title-box h4 {
        margin-left: 3%;
        line-height: 6;
    }
    .top-aboutus .title-box h4 span {
        font-size: 24px;
    }
    .top-aboutus .text-box {
        padding-top: 100px;
        width: 60%;
        padding-left: 4%;
        padding-right: 0%;
    }
    .top-aboutus .text-box .btn-cmn01 {
        margin-top: 30px;
    }
}
@media screen and (max-width: 599px) {
    .top-aboutus::before {
        top: 210px;
        left: 10%;
        width: 90%;
        height: calc(100% - 350px);
        background-image: url("../img/cmn/icon_top.png"), url("../img/top/bg_white01.png");
        background-position: left top, left bottom;
        background-repeat: repeat-x, no-repeat;
        background-size: 50px, 100% 100%;
        border-top: #3c7f54 10px solid;
    }
    .top-aboutus .contents-inr {
        padding-left: 40px;
        padding-right: 40px;
    }
    .top-aboutus .title-box {
        width: 100%;
        float: none;
        min-height: auto;
        padding-bottom: 60px;
    }
    .top-aboutus .title-box::before {
        bottom: -570px;
        right: auto;
        left: -14%;
        width: 115%;
    background-image: url("../img/top/img_top_aboutus02_sp.png");
    background-position: right bottom ;
    }
    .top-aboutus .title-box .ttl-cmn01 {
        margin-left: 0;
        margin-bottom: 10px;
    }
    .top-aboutus .title-box h4 {
        margin-left: 0;
        line-height: 4;
        writing-mode: horizontal-tb;
    }
    .top-aboutus .title-box h4 span {
        letter-spacing: 2px;
        font-size: 17px;
        padding: 2px 5px 5px 5px;
    }
.top-aboutus .title-box .main-img-chara {
display: block;
position: absolute;
top: 0;
right: -12px;
width: 30%;
}
   .top-aboutus .text-box {
        padding-top: 0px;
        width: 100%;
        float: none;
        padding-left: 5%;
        padding-right: 0%;
        min-height: auto;
        padding-bottom: 400px;
    }
    .top-aboutus .text-box::before {
        left: auto;
        right: -10%;
        width: 80%;
    background: none;

    }
    .top-aboutus .text-box p {
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8;
        font-weight: 700;
    }
    .top-aboutus .text-box .btn-cmn01 {
        margin-top: 30px;
    }
}
@media screen and (max-width: 320px) {
    .top-aboutus .title-box::before {
        width: 200px;
    }
    .top-aboutus .text-box::before {
        right: -20%;
    }
}

/* 事業内容 */
.top-service {
    padding-top: 150px;
    padding-bottom: 45px;
    position: relative;
}
.top-service::before {
	content: "";
	display: block;
	position: absolute;
	top: 170px;
	right: 32%;
	margin: 0;
	width: 68%;
	height: calc(100% - 170px);
    background-image: url("../img/cmn/icon_top.png"), url("../img/top/bg_white02.png");
    background-position: right top, right bottom;
    background-repeat: repeat-x, no-repeat;
    background-size: auto, 100% 100%;
    border-top: #3c7f54 18px solid;
    z-index: -1;
}
.top-service::after {
	content: "";
	display: block;
	position: absolute;
	top: 123px;
	right: 29.5%;
	margin: 0;
	width: 149px;
	height: 129px;
    background-image: url("../img/top/img_top_service03.png");
    background-position: right top;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
.top-service .contents-inr {
	padding-left: 50px;
	padding-right: 50px;
}
.top-service .title-box {
    width: 32%;
    float: right;
    text-align: left;
    padding-bottom: 60px;
}
.top-service .title-box .ttl-cmn01 {
    margin-left: 35%;
    margin-bottom: 40px;
}
.top-service .title-box h4 {
    margin-left: 40%;
    writing-mode: vertical-rl;
    line-height: 6.8;
}
.top-service .title-box h4 span {
    display: inline-block;
    background-color: #ffffff;
	font-size: 30px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 5px;
    padding: 10px 5px 10px 5px;
    font-family: "Noto Sans JP", sans-serif;
}
.top-service .title-box .btn-cmn01 {
    text-align: left;
    margin-top: 30px;
    margin-left: 33%;
}
.top-service .text-box {
    padding-top: 110px;
    width: 68%;
    padding-bottom: 60px;
    float: left;
}
.top-service .text-box p {
    text-align: center;
}
.top-service .top-service__list {
	margin: 0 auto;
	padding-right: 60px;
	max-width: 1310px;
    position: relative;
}
.top-service .top-service__list::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 100%;
	right: 9%;
	margin: 0;
	width: 238px;
	height: 259px;
    background-image: url("../img/top/img_top_service04.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}
.top-service .top-service__list li {
	margin: 0 5px 0px 0;
	width: 54.19%;
}
.top-service .top-service__list li:last-of-type {
	margin: 0 0px 0px 0;
	width: calc(45.81% - 5px);
}
.top-service .top-service__list li img {
    display: inline-block;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
    .top-service .title-box {
        padding-bottom: 300px;
    }
}
@media screen and (max-width: 959px) {
    .top-service .title-box .ttl-cmn01 {
        margin-left: 20%;
    }
    .top-service .title-box h4 {
        margin-left: 32%;
        line-height: 6;
    }
    .top-service .title-box h4 span {
        font-size: 24px;
    }
    .top-service .title-box .btn-cmn01 {
        margin-left: 20%;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .top-service {
        padding-top: 50px;
        padding-bottom: 45px;
        margin-top: 50px;
    }
    .top-service::before {
        top: 200px;
        right: 15%;
        width: 85%;
        height: calc(100% - 100px);
        background-image: url("../img/cmn/icon_top.png"), url("../img/top/bg_white02.png");
        background-position: right top, right bottom;
        background-repeat: repeat-x, no-repeat;
        background-size: 50px, 100% 100%;
        border-top: #3c7f54 10px solid;
    }
    .top-service::after {
        top: 80px;
        right: 11%;
        width: 60px;
    }
    .top-service::after {
      top: 170px;
    }
    .top-service .contents-inr {
        padding-left: 0px;
        padding-right: 0px;
    }
    .top-service .title-box {
        width: 100%;
        float: none;
        padding-left: 40px;
        padding-bottom: 30px;
        margin-top:-100px;
    }
    .top-service .title-box .ttl-cmn01 {
        margin-left: 0%;
        margin-bottom: 10px;
    }
    .top-service .title-box h4 {
        margin-left: 0;
        line-height: 4;
        writing-mode: horizontal-tb;
    }
    .top-service .title-box h4 span {
        letter-spacing: 2px;
        font-size: 17px;
        padding: 2px 5px 5px 5px;
    }
    .top-service .title-box .btn-cmn01 {
        margin-top: 20px;
        margin-left: 0;
    }
    .top-service .text-box {
        padding-right: 55px;
        padding-top: 60px;
        width: 100%;
        padding-bottom: 60px;
        float: none;
    }
    .top-service .top-service__list {
        padding-right: 15px;
    }
    .top-service .top-service__list::before {
        right: 0%;
        width: 100px;
    }
}
@media screen and (max-width: 375px) {
    .top-service::before {
        top: 100px;
    }
   .top-service::after {
      top: 70px;
    }
   .top-service .title-box {
        margin-top:-200px;
    }
}

/* CONTACT */
.cmn-contact {
    padding-top: 90px;
    padding-bottom: 0px;
    position: relative;
}
.cmn-contact::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #038151;
    z-index: -1;
}
.cmn-contact .contents-inr {
}
.cmn-contact .cmn-contact__list {
    padding-left: 8%;
}
.cmn-contact .cmn-contact__list li {
	width: 260px;
}
.cmn-contact .cmn-contact__list li:last-of-type {
    padding-left: 60px;
	width: calc(100% - 260px);
    position: relative;
}
.cmn-contact .cmn-contact__list li:last-of-type::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	margin: 0;
	width: 1px;
	height: 100%;
    background: #78a682;
}
.cmn-contact .ttl-cmn01 {
    text-align: left;
    color: #ffffff;
}
.cmn-contact .ttl-cmn01 span {
    color: #ffffff;
    padding-left: 8px;
}
.cmn-contact p {
	font-size: 17px;
    line-height: 1.8;
	letter-spacing: 1px;
    font-weight: 500;
    color: #ffffff;
}
.cmn-contact .btn-cmn01 {
    margin-top: 30px;
}
.cmn-contact .btn-cmn01 span {
    font-size: 16px;
    font-weight: 500;
	font-family: 'Zen Kaku Gothic New', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .cmn-contact .cmn-contact__list {
        padding-left: 0;
    }
    .cmn-contact .cmn-contact__list li {
        width: 100%;
    }
    .cmn-contact .cmn-contact__list li:last-of-type {
        padding-left: 0;
        width: 100%;
    }
    .cmn-contact .cmn-contact__list li:last-of-type::before {
        display: none;
    }
    .cmn-contact .ttl-cmn01 {
        margin-bottom: 30px;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .cmn-contact {
        padding-top: 60px;
    }
    .cmn-contact .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
    .cmn-contact .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .cmn-contact p {
        font-size: 14px;
    }
    .cmn-contact .btn-cmn01 {
        margin-top: 20px;
    }
    .cmn-contact .btn-cmn01 span {
        font-size: 14px;
        letter-spacing: 1px;
    }
}

/*	コンテンツページ共通
---------------------------------*/
.page-header {
	position: relative;
	padding: 0 0 0 0;
	width: 100%;
}
.page-header::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 550px;
    background: url("../img/cmn/bg_header.png") no-repeat center top;
    background-size: auto 100%;
    z-index: 12;
}
.page-header .contents-inr {
	margin: 0 auto 0 auto;
	width: 100%;
	max-width: 1300px;
	height: 801px;
	background: no-repeat center center / auto 100%;
    z-index: 10;
}
.page-header.page-header-aboutus .contents-inr {
	background-image: url("../img/aboutus/page-header.jpg");
}
.page-header.page-header-service .contents-inr {
	background-image: url("../img/service/page-header.jpg");
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
    .page-header::before {
        height: 43vw;
    }
    .page-header .contents-inr {
        height: 63vw;
        background: no-repeat center center / cover;
    }
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-header::before {
        top: -30px;
    }
    .page-header .contents-inr {
        height: 40vw;
    }
}

/*	会社概要
---------------------------------*/
.page-message {
    position: relative;
}
.page-message::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background-image: url("../img/aboutus/img_aboutus_message02.jpg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: auto 100%;
    z-index: -1;
}
.page-message .contents-inr {
    padding-top: 120px;
    padding-bottom: 470px;
    text-align: center;
}
.page-message .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: -210px;
	left: 2%;
	margin: 0;
	width: 86%;
	height: 506px;
    background-image: url("../img/aboutus/img_aboutus_message01.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 12;
}
.page-message .ttl-cmn01 {
    margin-bottom: 45px;
}
.page-message p {
    width: 55%;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: 0px;
    line-height: 2;
    font-weight: 700;
	font-size: 17px;
    text-align: left;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-message .contents-inr {
        padding-bottom: 520px;
    }
    .page-message::before {
        margin-left: 10%;
        width: 80%;
    }
    .page-message p {
        width: 75%;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-message .contents-inr {
        padding-top: 60px;
        padding-bottom: 560px;
    }
    .page-message .contents-inr::before {
        top: -90px;
        left: 2%;
        width: 90%;
    }
    .page-message .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .page-message p {
        width: 88%;
        line-height: 1.8;
        font-size: 15px;
    }
}
.page-policy {
    padding-top: 130px;
    padding-bottom: 100px;
    position: relative;
}
.page-policy::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background-color: #ffffff;
    z-index: -1;
}
.page-policy::after {
	content: "";
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
	margin: 0;
	width: 100%;
	height: calc(100% + 20px);
    background-image: url("../img/aboutus/sv_bg_aboutus_policy.png"), url("../img/aboutus/sv_bg_aboutus_policy_bottom.png");
    background-position: center top, center bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 100px, 100% 100px;
    z-index: -1;
}
.page-policy .contents-inr {
	max-width: 1040px;
}
.page-policy .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: 110px;
	right: 3%;
	margin: 0;
	width: 334px;
	height: 195px;
    background-image: url("../img/aboutus/img_aboutus_policy01.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-policy .ttl-cmn01 {
    margin-bottom: 45px;
    text-align: left;
}
.page-policy .ttl-cmn01 span {
    padding-left: 8px;
}
.page-policy .page-policy__list {
    margin-bottom: 50px;
}
.page-policy .page-policy__list li {
	width: 200px;
}
.page-policy .page-policy__list li:last-of-type {
	width: calc(100% - 200px);
}
.page-policy .page-policy__list li .no {
	font-size: 144px;
    letter-spacing: 1px;
    line-height: 1;
    font-weight: 700;
    color: #3c8054;
    font-family: "Averia Serif Libre", serif;
}
.page-policy .page-policy__list li h3 {
    margin-top: 15px;
    margin-bottom: 5px;
	font-size: 30px;
    letter-spacing: 9px;
    line-height: 1.4;
    font-weight: 700;
    color: #231815;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-policy .page-policy__list li p {
	font-size: 17px;
    letter-spacing: 0.5px;
    line-height: 1.8;
    font-weight: 700;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-policy .contents-inr::before {
        top: 50px;
        right: 2%;
        width: 260px;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-policy {
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .page-policy .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
    .page-policy .contents-inr::before {
        top: 80px;
        right: 2%;
        width: 120px;
    }
    .page-policy .ttl-cmn01 {
        margin-bottom: 30px;
    }
    .page-policy .page-policy__list {
        margin-bottom: 30px;
    }
    .page-policy .page-policy__list li {
        width: 50px;
    }
    .page-policy .page-policy__list li:last-of-type {
        width: calc(100% - 50px);
    }
    .page-policy .page-policy__list li .no {
        font-size: 36px;
    }
    .page-policy .page-policy__list li h3 {
        margin-top: 5px;
        margin-bottom: 5px;
        font-size: 22px;
        letter-spacing: 3px;
    }
    .page-policy .page-policy__list li p {
        font-size: 15px;
    }
}
.page-corporate {
    padding-top: 100px;
    padding-bottom: 100px;
}
.page-corporate .contents-inr {
	max-width: 1040px;
}
.page-corporate .ttl-cmn01 {
    margin-bottom: 45px;
    text-align: left;
}
.page-corporate .ttl-cmn01 span {
    padding-left: 8px;
}
.page-corporate h3 {
    padding:0px 0px 20px 260px;
	font-size: 24px;
    letter-spacing: 4px;
    line-height: 1.4;
    font-weight: 700;
    color: #231815;
    border-bottom: #666666 1px solid;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-corporate table
{
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.page-corporate table th
{
    width: 230px;
    vertical-align:top;
    padding:30px 60px 30px 40px;
    font-size:17px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 600;
    color: #231815;
    text-align:justify;
    text-align-last: justify;
    border-bottom: #666666 1px solid;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-corporate table td
{
    vertical-align:top;
    padding:30px 30px 30px 30px;
    font-size:17px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 600;
    color: #231815;
    border-bottom: #666666 1px solid;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-corporate table td.td02
{
    width: 120px;
    padding:30px 0px 30px 30px;
    vertical-align: middle;
}
.page-corporate table tr:last-of-type th
{
    border-bottom: none;
}
.page-corporate table tr:last-of-type td
{
    border-bottom: none;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-corporate h3 {
        padding:0px 0px 20px 180px;
        font-size: 22px;
        letter-spacing: 3px;
    }
    .page-corporate table th
    {
        width: 150px;
        padding:30px 20px 30px 20px;
        font-size:16px;
    }
    .page-corporate table td
    {
        padding:30px 30px 30px 30px;
        font-size:16px;
    }
    .page-corporate table td.td02
    {
        width: 110px;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-corporate {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .page-corporate .ttl-cmn01 {
        margin-bottom: 30px;
    }
    .page-corporate h3 {
        padding:0px 0px 20px 0px;
        font-size: 18px;
    }
    .page-corporate table th
    {
        width: 80px;
        padding:20px 0px 20px 0px;
        font-size:13px;
        letter-spacing: 0;
        text-align: left;
        text-align-last: left;
    }
    .page-corporate table td
    {
        padding:20px 0px 20px 0px;
        font-size:13px;
        letter-spacing: 0;
    }
    .page-corporate table td.td02
    {
        padding:20px 0px 20px 0px;
        width: 66px;
        font-size:12px;
        letter-spacing: 0;
    }
}
.page-history {
    padding-top: 110px;
    padding-bottom: 110px;
    position: relative;
}
.page-history::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background-color: #ffffff;
    z-index: -1;
}
.page-history::after {
	content: "";
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
	margin: 0;
	width: 100%;
	height: calc(100% + 20px);
    background-image: url("../img/aboutus/sv_bg_aboutus_history.png"), url("../img/aboutus/sv_bg_aboutus_history_bottom.png");
    background-position: center top, center bottom;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 100px, 100% 100px;
    z-index: -1;
}
.page-history .contents-inr {
	max-width: 1040px;
}
.page-history .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: -55px;
	right: 2%;
	margin: 0;
	width: 414px;
	height: 243px;
    background-image: url("../img/aboutus/img_aboutus_history01.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-history .ttl-cmn01 {
    margin-bottom: 30px;
    text-align: left;
}
.page-history .ttl-cmn01 span {
    padding-left: 8px;
}
.page-history table
{
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
    border-top: #666666 1px solid;
}
.page-history table th
{
    width: 230px;
    vertical-align:top;
    padding:30px 60px 30px 40px;
    font-size:17px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 600;
    color: #231815;
    border-bottom: #666666 1px solid;
    font-family: "IBM Plex Sans JP", sans-serif;
    text-align: left;
}
.page-history table td
{
    vertical-align:top;
    padding:30px 30px 30px 30px;
    font-size:17px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 600;
    color: #231815;
    border-bottom: #666666 1px solid;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-history table td.td02
{
    width: 120px;
    padding:30px 0px 30px 30px;
    vertical-align: middle;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-history .contents-inr::before {
        top: -60px;
        width: 300px;
    }
    .page-history table th
    {
        width: 150px;
        padding:30px 20px 30px 20px;
        font-size:16px;
    }
    .page-history table td
    {
        padding:30px 30px 30px 30px;
        font-size:16px;
    }
    .page-history table td.td02
    {
        width: 110px;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-history {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .page-history .contents-inr::before {
        top: -30px;
        width: 180px;
    }
    .page-history .ttl-cmn01 {
        margin-bottom: 30px;
    }
    .page-history table th
    {
        width: 90px;
        padding:20px 0px 20px 0px;
        font-size:13px;
        letter-spacing: 0;
    }
    .page-history table td
    {
        padding:20px 0px 20px 0px;
        font-size:13px;
        letter-spacing: 0;
    }
    .page-history table td.td02
    {
        padding:20px 0px 20px 0px;
        width: 66px;
        font-size:12px;
        letter-spacing: 0;
    }
}
.page-access {
    padding-top: 110px;
    padding-bottom: 210px;
}
.page-access .contents-inr {
	max-width: 1180px;
}
.page-access .ttl-cmn01 {
    margin-bottom: 30px;
    text-align: left;
}
.page-access .ttl-cmn01 span {
    padding-left: 8px;
}
.page-access .page-access__list {
}
.page-access .page-access__list li {
	width: calc((100% - 20px) / 2);
    margin: 0 20px 0 0;
    padding-bottom: 30px;
    background: #ffffff;
}
.page-access .page-access__list li:last-of-type {
    margin: 0 0px 0 0;
}
.page-access .page-access__list li h3 {
    margin-bottom: 20px;
    padding: 12px 30px 10px 20px;
	font-size: 19px;
    letter-spacing: 3px;
    line-height: 1.6;
    font-weight: 600;
    color: #ffffff;
    background: #413c3a;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-access .page-access__list li p {
    min-height: 105px;
    padding: 0px 30px 15px 30px;
	font-size: 17px;
    letter-spacing: 3px;
    line-height: 1.8;
    font-weight: 600;
    color: #231815;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-access .page-access__list li iframe {
    width: calc(100% - 60px);
    height: 330px;
    margin-left: 30px;
    margin-right: 30px;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-access .page-access__list li {
        width: 100%;
        margin: 0 0px 30px 0;
    }
    .page-access .page-access__list li:last-of-type {
        margin: 0 0px 0 0;
    }
    .page-access .page-access__list li p {
        min-height: auto;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-access {
        padding-top: 50px;
        padding-bottom: 80px;
    }
    .page-access .ttl-cmn01 {
        margin-bottom: 20px;
    }
    .page-access .page-access__list li {
        padding-bottom: 15px;
    }
    .page-access .page-access__list li h3 {
        margin-bottom: 15px;
        padding: 5px 10px 5px 10px;
        font-size: 17px;
        letter-spacing: 3px;
    }
    .page-access .page-access__list li p {
        padding: 0px 15px 10px 15px;
        font-size: 14px;
        letter-spacing: 1px;
        line-height: 1.8;
    }
    .page-access .page-access__list li iframe {
        width: calc(100% - 30px);
        height: 300px;
        margin-left: 15px;
        margin-right: 15px;
    }
}

/*	事業案内
---------------------------------*/
.page-service01 {
}
.page-service01 .contents-inr {
    padding-top: 170px;
    padding-bottom: 120px;
	max-width: 1040px;
}
.page-service01 .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: -330px;
	right: -70px;
	margin: 0;
	width: 100%;
	height: 481px;
    background-image: url("../img/service/img_service_service01.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 12;
}
.page-service01 .title-box {
    width: 50%;
    padding-left: 12%;
    float: left;
    text-align: left;
}
.page-service01 .title-box .ttl-cmn01 {
    margin-bottom: 10px;
    text-align: left;
}
.page-service01 .title-box .ttl-cmn01 span {
    padding-left: 8px;
}
.page-service01 .title-box img {
}
.page-service01 .text-box {
    padding-top: 40px;
    width: 50%;
    float: right;
}
.page-service01 .text-box p {
	font-size: 19px;
    letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 600;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-service01 .title-box {
        padding-left: 0%;
    }
}
@media screen and (max-width: 767px) {
    .page-service01 .contents-inr {
        padding-top: 100px;
    }
    .page-service01 .contents-inr::before {
        top: -230px;
    }
}
@media screen and (max-width: 599px) {
    .page-service01 .contents-inr {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .page-service01 .contents-inr::before {
        top: -130px;
        right: 0px;
        margin: 0 0 0 5%;
        width: 90%;
        height: 200px;
        background-image: url("../img/service/img_service_service01.png");
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
    }
    .page-service01 .title-box {
        width: 100%;
        padding-left: 0%;
        float: none;
    }
    .page-service01 .title-box .ttl-cmn01 {
        margin-bottom: 0px;
    }
    .page-service01 .title-box img {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .page-service01 .text-box {
        padding-top: 20px;
        width: 100%;
        float: none;
    }
    .page-service01 .text-box p {
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8;
    }
}
.page-service02 {
}
.page-service02 .contents-inr {
    padding-bottom: 150px;
	max-width: 1040px;
}
.page-service02 h3 {
    margin-bottom: 10px;
    padding: 20px 10px 16px 70px;
    background: #038151;
    border-radius: 40px;
    position: relative;
}
.page-service02 h3 img {
    max-width: 70%;
}
.page-service02 h3::before {
	content: "";
	display: block;
	position: absolute;
	top: -150px;
	right: -63px;
	margin: 0;
	width: 270px;
	height: 402px;
    background-image: url("../img/service/img_service_service04.png");
    background-position: center  center;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-service02 h4 {
    margin-bottom: 15px;
    padding: 0px 30px 0px 30px;
}
.page-service02 .p01 {
    padding: 15px 160px 0px 30px;
	font-size: 17px;
    letter-spacing: 1px;
    line-height: 1.9;
    font-weight: 500;
}
.page-service02 .p02 {
    padding: 0px 30px 0px 30px;
	font-size: 17px;
    letter-spacing: 1px;
    line-height: 1.9;
    font-weight: 500;
}
.page-service02 .img-box01 {
    padding: 0px 0px 60px 0px;
    position: relative;
}
.page-service02 .img-box01 img {
    position: absolute;
    top: -30px;
    right: 40px;
}
.page-service02 .img-box02 {
    text-align: center;
    padding: 20px 10px 0px 0px;
}
.page-service02 .btn-cmn02 {
    margin-top: 30px;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-service02 h3 {
        padding: 20px 10px 16px 50px;
    }
    .page-service02 h3::before {
        width: 200px;
    }
}
@media screen and (max-width: 767px) {
    .page-service02 .img-box01 img {
        top: 0px;
        right: 0px;
    }
}
@media screen and (max-width: 599px) {
    .page-service02 .contents-inr {
        padding-bottom: 50px;
    }
    .page-service02 h3 {
        padding: 14px 10px 10px 15px;
    }
    .page-service02 h3::before {
        top: -200px;
        right: -40px;
        width: 100px;
    }
    .page-service02 h4 {
        width: 90%;
        margin-bottom: 15px;
        padding: 0px 0px 0px 0px;
    }
    .page-service02 .p01 {
        padding: 10px 0px 0px 0px;
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8;
    }
    .page-service02 .p02 {
        padding: 0px 0px 0px 0px;
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8;
    }
    .page-service02 .img-box01 {
        margin-bottom: 200px;
        padding: 0px 0px 0px 0px;
    }
    .page-service02 .img-box01 img {
        top: calc(100% + 10px);
        right: 0px;
    }
    .page-service02 .img-box02 {
        padding: 20px 0px 0px 0px;
    }
    .page-service02 .btn-cmn02 {
        margin-top: 30px;
    }
}
.page-service03 {
}
.page-service03 .contents-inr {
    padding-bottom: 110px;
	max-width: 1060px;
}
.page-service03 .no {
    margin-bottom: -20px;
	font-size: 90px;
    letter-spacing: 1px;
    line-height: 1;
    font-weight: 700;
    color: #3c8054;
    font-family: "Averia Serif Libre", serif;
}
.page-service03 .page-service03-box {
    margin-bottom: 20px;
    background: #ffffff;
    border-top: #1b865a 19px solid;
    position: relative;
}
.page-service03 .page-service03-box h3 {
    padding: 20px 20px 14px 50px;
	font-size: 30px;
    letter-spacing: 8px;
    line-height: 1.2;
    font-weight: 700;
    color: #231815;
    background: #f0f3d3;
    font-family: "IBM Plex Sans JP", sans-serif;
}
.page-service03 .page-service03-box p {
    padding: 25px 41% 25px 50px;
	font-size: 17px;
    letter-spacing: 1px;
    line-height: 1.8;
    font-weight: 700;
}
.page-service03 .page-service03-box img {
    position: absolute;
    bottom: -40px;
    right: -40px;
    max-width: 45%;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-service03 .contents-inr {
        padding-bottom: 60px;
    }
    .page-service03 .no {
        margin-bottom: -12px;
        font-size: 60px;
    }
    .page-service03 .page-service03-box {
        border-top: #1b865a 10px solid;
    }
    .page-service03 .page-service03-box h3 {
        padding: 10px 10px 6px 15px;
        font-size: 20px;
        letter-spacing: 3px;
        line-height: 1.2;
        font-weight: 700;
        color: #231815;
        background: #f0f3d3;
        font-family: "IBM Plex Sans JP", sans-serif;
    }
    .page-service03 .page-service03-box p {
        padding: 5px 15px 15px 15px;
        font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8;
        font-weight: 700;
    }
    .page-service03 .page-service03-box img {
        display: block;
        margin: 15px auto 0 auto;
        position: static;
        max-width: 90%;
    }
}
.page-gallery {
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
    text-align: center;
}
.page-gallery::before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background-color: #ffffff;
    z-index: -1;
}
.page-gallery::after {
	content: "";
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
	margin: 0;
	width: 100%;
	height: calc(100% + 20px);
    background-image: url("../img/service/sv_bg_service_gallery.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% 100px;
    z-index: -1;
}
.page-gallery .contents-inr {
	max-width: 1040px;
}
.page-gallery .contents-inr::before {
	content: "";
	display: block;
	position: absolute;
	top: -10px;
	left: 16%;
	margin: 0;
	width: 193px;
	height: 265px;
    background-image: url("../img/service/img_service_gallery01.png");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
}
.page-gallery .ttl-cmn01 {
    margin-bottom: 60px;
}
.page-gallery .page-gallery__list {
}
.page-gallery .page-gallery__list li {
	width: calc((100% - 60px) / 3);
    margin: 0 30px 25px 0;
}
.page-gallery .page-gallery__list li:nth-of-type(3n) {
    margin: 0 0px 25px 0;
}
.page-gallery .page-gallery__list li:last-of-type {
    margin: 0 0px 25px 0;
}
.page-gallery .page-gallery__list li p {
    text-align: left;
    padding: 5px 0px 0px 0px;
	font-size: 17px;
    letter-spacing: 1px;
    line-height: 1.6;
    font-weight: 700;
    color: #231815;
    font-family: "IBM Plex Sans JP", sans-serif;
}
@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
    .page-gallery .contents-inr::before {
        top: -70px;
        left: 10%;
        width: 120px;
    }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
    .page-gallery .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
    .page-gallery .contents-inr::before {
        top: -10px;
        width: 80px;
    }
    .page-gallery {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    .page-gallery .ttl-cmn01 {
        margin-bottom: 30px;
    }
    .page-gallery .page-gallery__list li {
        width: calc((100% - 15px) / 2);
        margin: 0 15px 20px 0;
    }
    .page-gallery .page-gallery__list li:nth-of-type(3n) {
        margin: 0 15px 20px 0;
    }
    .page-gallery .page-gallery__list li:nth-of-type(2n) {
        margin: 0 0px 20px 0;
    }
    .page-gallery .page-gallery__list li:last-of-type {
        margin: 0 0px 20px 0;
    }
    .page-gallery .page-gallery__list li p {
        font-size: 15px;
    }
}
