@charset 'UTF-8';

.cmshtml * {
margin: 0px;
padding: 0px;
word-break: break-all;
word-wrap: break-word;
line-break:normal;
border: 0;
outline: 0;
box-sizing: border-box;
}
.cmsbody {
position: relative;
max-height: 100%;
margin: 0;
padding: 0;
font-family: 'Roboto',"Noto Sans JP",sans-serif;
font-weight: normal;
font-size: 16px;
line-height: 1.6;
color: #333;
background-color: #fff;
-webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 767px) {
	.cmsbody {
	overflow-x: hidden;
	width: 100%;
	font-size: 15px;
	}
}

.cmshtml table {
border-collapse: collapse;
border-spacing: 0;
}
.cmshtml ol,
.cmshtml ul,
.cmshtml li {
list-style: none;
}
.cmshtml h1,
.cmshtml h2,
.cmshtml h3,
.cmshtml h4,
.cmshtml h5,
.cmshtml h6 {
font-size: inherit;
font-weight: bold;
line-height: 1.4;
}
@media screen and (min-width:768px) {
	.cmshtml h1,
	.cmshtml h2,
	.cmshtml h3 {
	letter-spacing: 1px;
	}
}

.cmshtml a {
text-decoration: none;
color: inherit;
}
.cmshtml a:hover {
text-decoration: none;
}
@media screen and (min-width: 768px) {
	.cmshtml a[href^="tel:"] {
	pointer-events: none;
	}
}

/*-----------------------
 共通設定
-----------------------*/
.cmshtml .body_wrap {
overflow: hidden;
position: relative;
}
.cmshtml .clearfix:after {
content:" ";
display:block;
clear:both;
}
.cmshtml .right {
text-align: right !important;
}
.cmshtml .left {
text-align: left !important;
}
.cmshtml .center {
text-align: center !important;
}
.cmshtml .red {
color: #ff0019 !important;
}
.cmshtml .bg_blue {
background-color: #0966aa !important;
}
.cmshtml .bg_orange {
background-color: #f29000 !important;
}
.cmshtml .body_wrap img {
display: block;
max-width: 100%;
height: auto;
margin-right: auto;
margin-left: auto;
vertical-align: top;
}
@media screen and (max-width: 767px) {
	.cmshtml .body_wrap img {
	width: 100%;
	}
}
@media screen and (min-width:768px) {
	.cmshtml .pc {
	display: block;
	}
	.cmshtml .sp {
	display: none;
	}
}
@media screen and (max-width: 767px) {
	.cmshtml .pc {
	display: none;
	}
	.cmshtml .sp {
	display: block;
	}
}

/*-----------------------
 WC独自class
-----------------------*/
/* ブロックリンク */
.cmshtml .rdhaslink {
position: relative;
}
.cmshtml .rdhaslink > a.rdblocklink {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 50;
}

/*-----------------------
 h1
-----------------------*/
.cmshtml h1 {
display: none;
}

/*-----------------------
 ヘッダー
-----------------------*/
.cmshtml .header {
z-index: 9999;
position: absolute;
width: 100%;
top: 0;
left: 0;
}
.cmshtml .head_wrap {
max-width: 1920px;
margin: auto;
line-height: 1;
}
.cmshtml .head_box1 {
display: flex;
}
.cmshtml .head_box1>div:nth-of-type(1) {
width: 520px;
}
.cmshtml .head_in1 {
position: relative;
padding-top: 15px;
padding-left: 30px;
}
.cmshtml .head_txt {
font-size: 13px;
color: #fff;
}
.cmshtml .logo {
position: absolute;
width: calc(217px);
height: calc(164px);
top: 55px;
left: 30px;
font-size: 0;
background-image: url(../img/top_logo.svg);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .logo a {
display: block;
width: 100%;
height: 100%;
}
.cmshtml .head_box1>div:nth-of-type(2) {
width: calc(100% - 520px);
}
.cmshtml .head_in2 {
}
.cmshtml .head_in2_menu {
display: flex;
align-items: center;
justify-content: flex-end;
}
.cmshtml .head_in2>div {
}
.cmshtml .head_in2_menu_in {
}
.cmshtml .head_tel {
margin-right: 30px;
color: #fff;
}
.cmshtml .head_tel_1 {
margin-bottom: 2px;
font-size: 39px;
font-weight: bold;
letter-spacing: 1px;
}
.cmshtml .head_tel_2 a {
}
.cmshtml .head_tel_2 {
font-size: 13px;
text-align: right;
letter-spacing: 1px;
}
.cmshtml .head_tel a::before {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: calc(37px);
height: calc(37px);
top: -2px;
margin-right: 10px;
background-image: url(../img/ico_tel@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .head_contact {
font-weight: bold;
color: #fff;
background-color: #f29000;
border-radius: 0 0 0 20px;
}
.cmshtml .head_contact a {
display: block;
padding: 27px 35px;
}
.cmshtml .head_contact a::before {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: calc(32px);
height: calc(22px);
top: -2px;
margin-right: 20px;
background-image: url(../img/ico_mail@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .head_box2 {
padding-top: 15px;
}
.cmshtml .nav {
display: flex;
align-items: center;
justify-content: center;
max-width: 1260px;
margin: auto;
padding: 30px 0;
background-color: #fff;
border-radius: 100px;
}
.cmshtml .nav>div {
}
.cmshtml .nav_in {
padding: 0 20px;
font-weight: bold;
border-right: 2px solid #f29000;
}
.cmshtml .nav_top {
display: none;
}
.cmshtml .nav_in:last-of-type {
border-right-width: 0;
}
.cmshtml .spmenu {
display: none;
}
@media screen and (max-width:1700px) {
	.cmshtml .nav {
	max-width: 1150px;
	margin-right: 10px;
	padding: 20px 0;
	border-radius: 10px;
	}
	.cmshtml .nav_in {
	padding: 0 15px;
	}
}
@media screen and (min-width:1401px) {
	/* header固定 */
	.cmshtml .header.is-fixed {
	z-index: 999;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	background-color: #fff;
	box-shadow: 0 0 20px rgba(0,0,0,.2);
	animation-name: is-fixed;
	animation-duration: 0.5s;
	}
	@keyframes is-fixed {
		0% {
		opacity: 0;
		transform: translateY(-50px);
		}
	}
	.cmshtml .header.is-fixed .head_in1 {
	padding-top: 0;
	padding-left: 0;
	}
	.cmshtml .header.is-fixed .head_box1 {
	}
	.cmshtml .header.is-fixed .head_txt {
	display: none;
	}
	.cmshtml .header.is-fixed .logo {
	width: calc(382px * .7);
	height: calc(60px * .7);
	top: 14px;
	left: 10px;
	background-image: url(../img/foot_logo.svg);
	}
	.cmshtml .header.is-fixed .head_box2 {
	padding-top: 0;
	}
	.cmshtml .header.is-fixed .head_tel {
	color: #333;
	}
	.cmshtml .header.is-fixed .head_tel_1 {
	margin-bottom: 0;
	font-size: 26px;
	}
	.cmshtml .header.is-fixed .head_tel a::before {
	width: calc(37px * .7);
	height: calc(37px * .7);
	top: -2px;
	filter: brightness(0) invert(0);
	}
	.cmshtml .header.is-fixed .head_tel_2 {
	display: none;
	}
	.cmshtml .header.is-fixed .head_contact {
	border-radius: 0 0 0 10px;
	}
	.cmshtml .header.is-fixed .head_contact a {
	padding: 9px 35px;
	}
	.cmshtml .header.is-fixed .head_contact a::before {
	width: calc(32px * .7);
	height: calc(22px * .7);
	}
	.cmshtml .header.is-fixed .nav {
	max-width: inherit;
	justify-content: flex-end;
	margin-right: 0;
	padding: 10px 0;
	}
	/* hover */
	.cmshtml .nav_in:hover a {
	color: #e83d04;
	transition: .5s;
	}
}
@media screen and (max-width:1400px) {
	.cmshtml .header {
	position: absolute;
	height: 80px;
	padding-right: 0;
	}
	.cmshtml .head_box1 {
	display: block;
	}
	.cmshtml .head_box1>div:nth-of-type(1) {
	width: 100%;
	}
	.cmshtml .head_in1 {
	padding-top: 0;
	padding-left: 0;
	}
	.cmshtml .head_txt {
	display: none;
	}
	.cmshtml .logo {
	z-index: 1;
	width: calc(217px * .8);
	height: calc(164px * .8);
	top: 10px;
	left: 15px;
	}
	.cmshtml .head_box1>div:nth-of-type(2) {
	width: 100%;
	}
	.cmshtml .head_in2 {
	padding-top: 14px;
	padding-right: 100px;
	}
	.cmshtml .head_tel {
	margin-right: 20px;
	}
	.cmshtml .head_tel_1 {
	font-size: 28px;
	}
	.cmshtml .head_tel a::before {
	width: calc(37px* .6);
	height: calc(37px* .6);
	top: -3px;
	}
	.cmshtml .head_contact {
	border-radius: 6px;
	}
	.cmshtml .head_contact a {
	padding: 15px 20px
	}
	.cmshtml .head_contact a::before {
	width: calc(32px* .8);
	height: calc(22px* .8);
	top: -2px;
	margin-right: 10px;
	}
	.cmshtml .head_box2 {
	display: none;
	}
	/* toggle */
	.cmshtml .toggle {
	z-index: 99999;
	cursor: pointer;
	position: fixed;
	width: 80px;
	height: 80px;
	top: 0;
	right: 0;
	background-color: #f29000;
	border-radius:  0 0 0 10px;
	}
	.cmshtml .toggle::before {
	position: absolute;
	content: "MENU";
	bottom: 10px;
	left: 0;
	right: 0;
	margin: auto;
	font-family: 'arial',sans-serif;
	font-size: 12px;
	text-align: center;
	line-height: 1;
	color: #fff;
	}
	.cmshtml .toggle div {
	position: absolute;
	width: 33px;
	top: 20px;
	right: 0;
	left: 0;
	margin: auto;
	}
	.cmshtml .toggle span {
	display: block;
	position: absolute;
	width: 100%;
	left: 0;
	border-style: solid;
	border-color: #fff;
	border-bottom-width: 3px;
	transition: .35s ease-in-out;
	}
	.cmshtml .toggle span:nth-child(1) {
	top: 0;
	}
	.cmshtml .toggle span:nth-child(2) {
	top: 9px;
	}
	.cmshtml .toggle span:nth-child(3) {
	top: 18px;
	}
	.cmshtml .toggle.active {
	}
	.cmshtml .toggle.active div {
	}
	.cmshtml .toggle.active::before {
	content: "CLOSE";
	}
	.cmshtml .toggle.active span:nth-child(1) {
	top: 10px;
	right: 8px;
	transform: rotate(-45deg);
	}
	.cmshtml .toggle.active span:nth-child(2),
	.cmshtml .toggle.active span:nth-child(3) {
	top: 10px;
	right: 5px;
	transform: rotate(45deg);
	}
	/* spメニュー */
	.cmsbody.active {
	overflow: hidden;
	}
	.cmshtml .spmenu.active {
	z-index: 9999;
	overflow-x: hidden;
	overflow-y: auto;
	display: block;
	position: fixed !important;
	width: 300px;
	height: 100vh;
	top: 0;
	right: 0;
	padding-top: 90px;
	padding-bottom: 100px;
	background-color: #f5f5f5;
	box-shadow: 0 0 100px rgba(0,0,0,0.8);
	animation-name: spmenu;
	animation-duration: .5s;
	}
	@keyframes spmenu {
		0% {
		opacity: 0;
		transform: translateX(50px);
		}
	}
	.cmshtml .spmenu.active .spnav {
	border-top: 1px solid #0966aa;
	}
	.cmshtml .spmenu.active .spnav_in {
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 1px solid #0966aa;
	}
	.cmshtml .spmenu.active .spnav_in a {
	display: block;
	padding: 15px 30px;
	}
	.cmshtml .spmenu.active .sp_tel {
	margin-top: 30px;
	text-align: center;
	line-height: 1;
	}
	.cmshtml .spmenu.active .sp_tel_1 {
	margin-bottom: 5px;
	font-size: 26px;
	font-weight: bold;
	}
	.cmshtml .spmenu.active .sp_tel_1 a {
	}
	.cmshtml .spmenu.active .sp_tel_1 a::before {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: calc(37px * .7);
	height: calc(37px * .7);
	top: -3px;
	margin-right: 10px;
	background-image: url(../img/ico_tel@2x.png);
	background-repeat: no-repeat;
	background-size: contain;
	filter: brightness(1) invert(1);
	}
	.cmshtml .spmenu.active .sp_tel_2 {
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .logo {
	width: calc(217px * .65);
	height: calc(164px * .65);
	}
	.cmshtml .head_tel_1 {
	font-size: 22px;
	}
	.cmshtml .head_tel a::before {
	width: calc(37px * .5);
	height: calc(37px * .5);
	}
	.cmshtml .head_in2 {
	padding-top: 10px;
	padding-right: 90px;
	}
	.cmshtml .head_contact {
	font-size: 15px;
	}
	.cmshtml .head_contact a {
	padding: 12px 15px;
	}
	.cmshtml .head_contact a::before {
	width: calc(32px * .6);
	height: calc(22px * .6);
	}
	.cmshtml .toggle {
	width: 70px;
	height: 70px;
	}
	.cmshtml .toggle div {
	top: 13px;
	}
}
@media screen and (min-width:768px) {
	/* hover */
	.cmshtml .logo:hover {
	opacity: .5;
	transition: .5s;
	}
	.cmshtml .head_contact:hover {
	background-color: #e83d04;
	transition: .5s;
	}
	.cmshtml .toggle:hover {
	background-color: #e83d04;
	transition: .5s;
	}
	.cmshtml .spmenu.active .spnav_in:hover {
	background-color: #8db7d5;
	transition: .5s;
	}
}
/* wc */
#editView .cmshtml .header {
position: static !important;
background-color: #0966aa;
}
#editView .cmshtml .body_wrap.is-fixed .header {
position: static !important;
box-shadow: inherit;
animation-name: unset;
}
#editView .cmshtml .logo {
position: static;
margin-top: 10px;
}
#editView .cmshtml .nav>div:last-of-type .nav_in {
border-right-width: 0;
}
@media screen and (max-width:767px) {
	.cmshtml .header {
	position: static;
	height: 60px;
	background-color: #fff;
	}
	.cmshtml .head_in1 {
	padding-top: 12px;
	padding-left: 10px;
	}
	.cmshtml .logo {
	position: static;
	width: calc(382px* .65);
	height: calc(60px* .65);
	background-image: url(../img/foot_logo.svg);
	}
	.cmshtml .head_box1>div:nth-of-type(2) {
	display: none;
	}
	.cmshtml .toggle {
	width: 45px;
	height: 45px;
	border-radius: 0 0 0 8px;
	}
	.cmshtml .toggle::before {
	display: none;
	}
	.cmshtml .toggle div {
	width: 25px;
	top: 11px;
	right: 0;
	left: 0;
	margin: auto;
	}
	.cmshtml .spmenu.active {
	width: 250px;
	padding: 50px 0 100px 0;
	}
	.cmshtml .spmenu.active .spnav_in a {
	padding: 10px 20px;
	}
	.cmshtml .spmenu.active .sp_tel {
	margin-top: 20px;
	}
	.cmshtml .spmenu.active .sp_tel_1 {
	font-size: 22px;
	}
	.cmshtml .spmenu.active .sp_tel_1 a {
	}
	.cmshtml .spmenu.active .sp_tel_1 a::before {
	width: calc(37px * .5);
	height: calc(37px * .5);
	top: -2px;
	margin-right: 8px;
	}
	.cmshtml .spmenu.active .sp_tel_2 {
	}
}
/* wc */
#editView .cmshtml .spmenu {
display: block;
margin-top: 50px;
margin-left: 50px;
}
#editView .cmshtml .spmenu::before {
display: block;
content: "【スマホメニュー】";
font-weight: bold;
color: #f00;
}

/*-----------------------
 フッター
-----------------------*/
.cmshtml .footer {
}
.cmshtml .foot_box1 {
padding: 100px 15px;
background-color: #fff;
}
.cmshtml .foot_box1_wrap {
display: flex;
align-items: center;
max-width: 1260px;
margin: auto;
}
.cmshtml .foot_box1_wrap>div:nth-of-type(1) {
width: 450px;
}
.cmshtml .foot_box1_wrap_in1 {
}
.cmshtml .footer_logo {
width: calc(382px);
height: calc(60px);
margin-bottom: 20px;
font-size: 0;
background-image: url(../img/foot_logo.svg);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .footer_logo a {
}
.cmshtml .footer_box2_address {
}
.cmshtml .footer_txt2_tel {
}
.cmshtml .foot_box1_wrap>div:nth-of-type(2) {
width: calc(100% - 350px);
}
.cmshtml .foot_box1_wrap_in2 {
padding-left: 40px;
}
.cmshtml .foot_nav {
display: flex;
flex-wrap: wrap;
margin: 0 -15px;
}
.cmshtml .foot_nav>div {
width: calc(25% - 24px);
margin: 12px;
}
.cmshtml .foot_nav_in {
line-height: 1;
}
.cmshtml .foot_nav_in a {
}
.cmshtml .foot_nav_in a::before {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: calc(8px);
height: calc(13px);
top: -2px;
margin-right: 10px;
background-image: url(../img/foot_nav_ico@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .foot_box3 {
padding: 35px 15px;
text-align: center;
background-color: #f8f3eb;
}
.cmshtml .copyright {
font-size: 14px;
}
.cmshtml .pagetop {
z-index: 999;
position: fixed;
bottom: 0;
right: 0;
width: 92px;
height: 92px;
font-size: 0;
background-color: #f29000;
}
.cmshtml .pagetop div {
height: 100%;
}
.cmshtml .pagetop a {
position: relative;
display: block;
width: 100%;
height: 100%;
}
.cmshtml .pagetop a::before {
position: absolute;
content: "";
width: calc(21px);
height: calc(25px);
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
background-image: url(../img/pagetop@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
@media screen and (min-width:768px) {
	/* hover */
	.cmshtml .footer_logo:hover,
	.cmshtml .foot_nav_in a:hover {
	opacity: .5;
	transition: .5s;
	}
	.cmshtml .pagetop:hover {
	background-color: #e83d04;
	transition: .5s;
	}
}
@media screen and (max-width:1320px) {
	.cmshtml .foot_box1_wrap {
	display: block;
	}
	.cmshtml .foot_box1_wrap>div:nth-of-type(1) {
	width: 100%;
	}
	.cmshtml .foot_box1_wrap_in1 {
	margin-bottom: 40px;
	text-align: center;
	}
	.cmshtml .footer_logo {
	margin-left: auto;
	margin-right: auto;
	}
	.cmshtml .foot_box1_wrap>div:nth-of-type(2) {
	width: 100%;
	padding-left: 0;
	}
	.cmshtml .foot_nav {
	max-width: 767px;
	margin: auto;
	}
	.cmshtml .foot_nav>div {
	width: calc(33.3333% - 24px);
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .foot_box1 {
	padding: 80px 15px;
	}
	.cmshtml .pagetop {
	width: 60px;
	height: 60px;
	}
	.cmshtml .pagetop a::before {
	width: calc(21px * .8);
	height: calc(25px * .8);
	}
}
@media screen and (max-width:767px) {
	.cmshtml .foot_box1 {
	padding: 60px 15px;
	}
	.cmshtml .foot_box1_wrap_in1 {
	margin-bottom: 0;
	}
	.cmshtml .footer_logo {
	width: calc(382px * .65);
	height: calc(60px * .65);
	}
	.cmshtml .foot_box1_wrap_in2 {
	display: none;
	}
	.cmshtml .foot_box3 {
	padding: 25px 5px;
	}
	.cmshtml .copyright {
	font-size: 13px;
	}
	.cmshtml .pagetop {
	width: 45px;
	height: 45px;
	}
	.cmshtml .pagetop a::before {
	width: calc(21px * .7);
	height: calc(25px * .7);
	}
}

/*-----------------------
 TOPページ
-----------------------*/

/* メインビジュアル */
.cmshtml .mainv {
position: relative;
}
.cmshtml .mainv_wrap {
max-width: 1920px;
margin: auto;
}
.cmshtml .mainv_slider {
}
.cmshtml .mainv_slider_in {
}
.cmshtml .mainv_slider_in img {
object-fit: cover !important;
aspect-ratio: 1920 / 825 !important;
width: 100% !important;
height: 100% !important;
}

/*-----------------------
 top共通
-----------------------*/
.cmshtml .top_wrap {
position: relative;
max-width: 1260px;
margin-left: auto;
margin-right: auto;
}
.cmshtml .top_ttl {
font-family: "Zen Maru Gothic",sans-serif;
font-weight: 500;
text-align: center;
letter-spacing: 1px;
}
.cmshtml .top_ttl_1 {
margin-bottom: 24px;
font-size: 50px;
line-height: 1.2;
}
.cmshtml .top_ttl_2 {
max-width: 204px;
margin: auto;
padding: 12px 0;
line-height: 1;
border-style: solid;
border-width: 1px 0;
}
.cmshtml .top_txt {
line-height: 2;
}
.cmshtml .top_more {
position: relative;
width: 320px;
margin: 2em auto 0;
font-weight: bold;
text-align: center;
line-height: 1.2;
color: #fff;
background-color: #f29000;
border-radius: 100px;
}
.cmshtml .top_more div {
height: 100%;
}
.cmshtml .top_more a {
position: relative;
display: block;
width: 100%;
height: 100%;
padding: 22px 45px;
}
.cmshtml .top_more a::after {
position: absolute;
content: "";
width: calc(18px);
height: calc(14px);
top: 50%;
transform: translateY(-50%);
right: 20px;
background-image: url(../img/more_arrow@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
@media screen and (min-width:768px) {
	/* hover */
	.cmshtml .top_more:hover {
	background-color: #e83d04;
	transition: .5s;
	}
}
@media screen and (max-width:1320px) {
}
@media screen and (max-width:1024px) {
	.cmshtml .top_ttl_1 {
	font-size: 30px;
	}
	.cmshtml .top_ttl_2 {
	max-width: 180px;
	}
	.cmshtml .top_txt {
	font-size: inherit;
	line-height: inherit;
	}
	.cmshtml .top_more {
	max-width: 280px;
	}
	.cmshtml .top_more a {
	padding: 20px 40px;
	}
	.cmshtml .top_more a::after {
	width: calc(18px * .8);
	height: calc(14px * .8);
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_ttl {
	}
	.cmshtml .top_ttl_1 {
	font-size: 26px;
	}
	.cmshtml .top_ttl_2 {
	}
	.cmshtml .top_more {
	max-width: 220px;
	}
	.cmshtml .top_more a {
	padding: 15px 30px;
	}
	.cmshtml .top_more a::after {
	width: calc(18px * .6);
	height: calc(14px * .6);
	right: 15px;
	}
}

/* 解決します */
.cmshtml .top_about {
padding: 140px 30px 100px 30px;
}
.cmshtml .top_about_wrap {
max-width: 1480px;
}
.cmshtml .top_about_box {
max-width: 500px;
margin: auto;
text-align: center;
}
.cmshtml .top_about_txt1 {
width: fit-content;
margin: 0 auto 1em;
padding: 15px 20px;
font-weight: bold;
line-height: 1;
letter-spacing: 1px;
color: #fff;
background-color: #0966aa;
border-radius: 0 0 10px 10px;
}
.cmshtml .top_about_txt2 {
margin-bottom: 1em;
font-size: 20px;
font-weight: bold;
line-height: 1.4;
letter-spacing: 1px;
}
.cmshtml .top_about_txt3 {
font-family: "Zen Maru Gothic",sans-serif;
font-size: 50px;
font-weight: 500;
line-height: 1.2;
color: #0966aa;
}
.cmshtml .top_about_txt4 {
margin-top: 1em;
font-size: 20px;
font-weight: bold;
line-height: 1.4;
letter-spacing: 1px;
}
.cmshtml .top_about_more {
}
.cmshtml .top_about_img {
}
.cmshtml .top_about_img_in {
z-index: 1;
position: absolute;
}
.cmshtml .top_about_img_in div {
height: 100%;
}
.cmshtml .top_about_img_in img {
object-fit: cover;
width: 100%;
height: 100%;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.cmshtml .top_about_img1,
.cmshtml .top_about_img3 {
top: -60px;
}
.cmshtml .top_about_img2,
.cmshtml .top_about_img4 {
bottom: -240px;
}
.cmshtml .top_about_img1 {
width: calc(260px);
height: calc(210px);
left: 0;
}
.cmshtml .top_about_img2 {
width: calc(290px);
height: calc(390px);
left: 90px;
}
.cmshtml .top_about_img3 {
width: calc(290px);
height: calc(390px);
right: 0;
}
.cmshtml .top_about_img4 {
width: calc(330px);
height: calc(240px);
right: 90px;
}
@media screen and (max-width:1320px) {
	.cmshtml .top_about_wrap {
	max-width: 1024px;
	}
	.cmshtml .top_about_img1,
	.cmshtml .top_about_img3 {
	top: -60px;
	}
	.cmshtml .top_about_img2,
	.cmshtml .top_about_img4 {
	bottom: -140px;
	}
	.cmshtml .top_about_img1 {
	width: calc(260px * .8);
	height: calc(210px * .8);
	left: -15px;
	}
	.cmshtml .top_about_img2 {
	width: calc(290px * .8);
	height: calc(390px * .8);
	left: 30px;
	}
	.cmshtml .top_about_img3 {
	width: calc(290px * .8);
	height: calc(390px * .8);
	right: -15px;
	}
	.cmshtml .top_about_img4 {
	width: calc(330px * .8);
	height: calc(240px * .8);
	right: 30px;
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .top_about {
	padding: 60px 15px;
	}
	.cmshtml .top_about_wrap {
	max-width: 767px;
	}
	.cmshtml .top_about_txt2 {
	font-size: inherit;
	font-weight: normal;
	}
	.cmshtml .top_about_txt3 {
	font-size: 30px;
	line-height: 1.4;
	}
	.cmshtml .top_about_txt4 {
	font-size: inherit;
	font-weight: normal;
	}
	.cmshtml .top_about_img1,
	.cmshtml .top_about_img3 {
	top: -20px;
	}
	.cmshtml .top_about_img2,
	.cmshtml .top_about_img4 {
	bottom: -140px;
	}
	.cmshtml .top_about_img1 {
	width: calc(260px * .6);
	height: calc(210px * .6);
	left: 0;
	}
	.cmshtml .top_about_img2 {
	width: calc(290px * .6);
	height: calc(390px * .6);
	left: 20px;
	}
	.cmshtml .top_about_img3 {
	width: calc(290px * .6);
	height: calc(390px * .6);
	right: 0;
	}
	.cmshtml .top_about_img4 {
	width: calc(330px * .6);
	height: calc(240px * .6);
	right: 20px;
	}
}
/* wc */
#editView .cmshtml .top_about_img {
position: relative;
display: flex;
height: auto;
margin-top: 30px;
}
#editView .cmshtml .top_about_img .frameBadge {
position: relative !important;
width: auto !important;
height: 100% !important;
}
#editView .cmshtml .top_about_img1,
#editView .cmshtml .top_about_img2,
#editView .cmshtml .top_about_img3,
#editView .cmshtml .top_about_img4,
#editView .cmshtml .top_about_img_in {
position: relative !important;
width: inherit !important;
height: inherit !important;
height: auto !important;
top: inherit !important;
bottom: inherit !important;
left: inherit !important;
right: inherit !important;
}
@media screen and (max-width:767px) {
	.cmshtml .top_about {
	padding: 50px 15px;
	}
	.cmshtml .top_about_wrap {
	max-width: 400px;
	}
	.cmshtml .top_about_txt1 {
	padding: 10px 20px;
	font-weight: normal;
	border-radius: 0;
	}
	.cmshtml .top_about_txt2 {
	max-width: 280px;
	margin-left: auto;
	margin-right: auto;
	}
	.cmshtml .top_about_txt3 {
	font-size: 26px;
	}
	.cmshtml .top_about_box {
	margin-bottom: 40px;
	}
	.top_about_img {
	position: relative;
	height: 360px;
	}
	.cmshtml .top_about_img1,
	.cmshtml .top_about_img3 {
	top: 0;
	}
	.cmshtml .top_about_img2,
	.cmshtml .top_about_img4 {
	bottom: inherit;
	}
	.cmshtml .top_about_img1 {
	width: calc(50% - 6px);
	height: 150px;
	left: 0;
	}
	.cmshtml .top_about_img2 {
	width: calc(50% - 6px);
	height: 200px;
	top: 160px;
	left: 0;
	}
	.cmshtml .top_about_img3 {
	width: calc(50% - 6px);
	height: 200px;
	right: 0;
	}
	.cmshtml .top_about_img4 {
	width: calc(50% - 6px);
	height: 150px;
	top: 210px;
	right: 0;
	}
}

/* 背景1 */
.cmshtml .top_bg01 {
position: relative;
padding: 100px 30px;
}
.cmshtml .top_bg01::before {
z-index: -9;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background: repeating-linear-gradient(-45deg, #d0e2ee, #d0e2ee 7px, #d6e5f0 0, #d6e5f0 14px);
}
/* wc */
#editView .cmshtml .top_bg01 {
background: repeating-linear-gradient(-45deg, #d0e2ee, #d0e2ee 7px, #d6e5f0 0, #d6e5f0 14px);
}
@media screen and (max-width:1320px) {
}
@media screen and (max-width:1024px) {
	.cmshtml .top_bg01 {
	padding: 60px 15px;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_bg01 {
	padding: 50px 15px;
	}
}

/* おまかせください */
.cmshtml .top_feature {
position: relative;
margin-bottom: 60px;
padding: 60px;
background-color: #fff;
border-radius: 30px;
}
.cmshtml .top_feature::before {
position: absolute;
content: "";
width: 24px;
height: 23px;
bottom: -22px;
right: 0;
left: 0;
margin: auto;
background-color: #fff;
clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.cmshtml .top_feature_ttl {
font-family: "Zen Maru Gothic",sans-serif;
font-size: 50px;
font-weight: 500;
text-align: center;
line-height: 1.2;
color: #0966aa;
}
.cmshtml .top_feature_txt {
max-width: 740px;
margin: 2em auto;
}
.cmshtml .top_feature_list {
display: flex;
justify-content: space-between;
max-width: 974px;
margin: auto;
}
.cmshtml .top_feature_list>div {
width: 260px;
height: 260px;
}
.cmshtml .top_feature_in {
margin: 0 20px;
background-color: #0966aa;
border-radius: 100%;
}
.cmshtml .top_feature_in_no {
display: flex;
align-items: center;
justify-content: flex-end;
width: 80px;
height: 80px;
margin-top: 5px;
padding-right: 22px;
font-size: 32px;
font-weight: bold;
line-height: 1;
color: #f29000;
background-color: #fff;
border-radius: 100%;
}
.cmshtml .top_feature_in_img {
width: calc(81px);
height: calc(81px);
margin: -25px auto 0;
}
.cmshtml .top_feature_in_img img {
object-fit: contain;
width: 100%;
height: 100%;
}
.cmshtml .top_feature_in_txt {
margin-top: 15px;
font-size: 20px;
font-weight: bold;
text-align: center;
line-height: 1.4;
color: #fff;
}
@media screen and (max-width:1320px) {
	.cmshtml .top_feature {
	padding: 70px 30px;
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .top_feature {
	max-width: 767px;
	margin-left: auto;
	margin-right: auto;
	padding: 40px 30px;
	}
	.cmshtml .top_feature_ttl {
	font-size: 30px;
	line-height: 1.4;
	}
	.cmshtml .top_feature_list {
	justify-content: center;
	}
	.cmshtml .top_feature_list>div {
	width: 200px;
	height: 200px;
	}
	.cmshtml .top_feature_in {
	margin: 0 6px;
	}
	.cmshtml .top_feature_in_no {
	width: 60px;
	height: 60px;
	margin-top: 0;
	padding-right: 14px;
	font-size: 28px;
	}
	.cmshtml .top_feature_in_img {
	width: calc(81px * .9);
	height: calc(81px * .9);
	}
	.cmshtml .top_feature_in_txt {
	font-size: inherit;
	font-weight: normal;
	}
}
/* wc */
#editView .cmshtml .top_feature_list>div {
height: auto;
}
@media screen and (max-width:767px) {
	.cmshtml .top_feature {
	max-width: 400px;
	margin-bottom: 40px;
	padding: 20px;
	border-radius: 15px;
	}
	.cmshtml .top_feature_ttl {
	font-size: 26px;
	}
	.cmshtml .top_feature_list {
	flex-wrap: wrap;
	justify-content: center;
	margin: -2px;
	}
	.cmshtml .top_feature_list>div {
	width: 140px;
	height: 140px;
	}
	.cmshtml .top_feature_in {
	margin: 2px;
	}
	.cmshtml .top_feature_in_no {
	width: 40px;
	height: 40px;
	margin-left: -5px;
	padding-right: 8px;
	font-size: 20px;
	}
	.cmshtml .top_feature_in_img {
	width: calc(81px * .6);
	height: calc(81px * .6);
	margin-top: -20px;
	}
	.cmshtml .top_feature_in_txt {
	margin-top: 8px;
	font-size: 14px;
	}
}

/* ポイント */
.cmshtml .top_point {
}
.cmshtml .top_point_in {
display: flex;
align-items: center;
margin-bottom: 30px;
padding: 40px;
background-color: #0966aa;
background-image: url(../img/point_bg.png);
background-repeat: no-repeat;
background-position: bottom center;
border: 6px solid #fff;
border-radius: 30px;
}
.cmshtml .top_point_in:nth-of-type(even) {
flex-direction: row-reverse;
}
.cmshtml .top_point_in:last-of-type {
margin-bottom: 0;
}
.cmshtml .top_point_in>div:nth-of-type(1) {
width: calc(100% - 330px);
}
.cmshtml .top_point_in:nth-of-type(odd) .top_point_in_1 {
margin-right: 40px;
}
.cmshtml .top_point_in:nth-of-type(even) .top_point_in_1 {
margin-left: 40px;
}
.cmshtml .top_point_in_1 {
}
.cmshtml .top_point_ttl {
margin-bottom: 20px;
font-size: 29px;
font-weight: bold;
line-height: 1.4;
color: #fff;
}
.cmshtml .top_point_ttl .s1 {
margin-right: 10px;
font-size: 60px;
}
.cmshtml .top_point_list {
display: flex;
margin: 0 -12px;
}
.cmshtml .top_point_list>div {
flex-grow: 1;
width: 100%;
margin: 0 12px;
}
.cmshtml .top_point_list_in {
padding: 20px;
background-color: #fff;
border-radius: 10px;
}
.cmshtml .top_point_list_in_txt1 {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
padding-bottom: 15px;
font-weight: bold;
text-align: center;
color: #0966aa;
border-bottom: 1px solid #0966aa;
}
.cmshtml .top_point_list_in_txt2 {
}
.cmshtml .top_point_more {
margin-left: 0;
}
.cmshtml .top_point_in>div:nth-of-type(2) {
width: 330px;
}
.cmshtml .top_point_in_2 {
}
.cmshtml .top_point_in_2 img {
object-fit: cover;
aspect-ratio: 330 / 560;
width: 100%;
height: 100%;
border-radius: 30px;
}
@media screen and (max-width:1320px) {
	.cmshtml .top_point_in {
	padding: 40px 30px;
	}
	.cmshtml .top_point_list {
	margin: 0 -6px;
	}
	.cmshtml .top_point_list>div {
	margin: 0 6px;
	}
	.cmshtml .top_point_more {
	margin-left: auto;
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .top_point {
	max-width: 767px;
	margin-left: auto;
	margin-right: auto;
	}
	.cmshtml .top_point_in {
	display: block;
	padding: 30px;
	}
	.cmshtml .top_point_in>div:nth-of-type(1) {
	width: 100%;
	}
	.cmshtml .top_point_in_1 {
	margin-bottom: 40px;
	}
	.cmshtml .top_point_in:nth-of-type(odd) .top_point_in_1 {
	margin-right: 0;
	}
	.cmshtml .top_point_in:nth-of-type(even) .top_point_in_1 {
	margin-left: 0;
	}
	.cmshtml .top_point_ttl .s1 {
	margin-right: 10px;
	font-size: 40px;
	}
	.cmshtml .top_point_ttl {
	font-size: 26px;
	}
	.cmshtml .top_point_in>div:nth-of-type(2) {
	width: 100%;
	}
	.cmshtml .top_point_in_2 img {
	aspect-ratio: 16 / 9;
	border-radius: 10px;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_point {
	max-width: 400px;
	}
	.cmshtml .top_point_in {
	margin-bottom: 10px;
	padding: 0;
	background-position: bottom 180px center;
	border-radius: 15px;
	border-width: 3px;
	}
	.cmshtml .top_point_in_1 {
	margin-bottom: 10px;
	padding: 20px;
	}
	.cmshtml .top_point_ttl .s1 {
	margin-right: 10px;
	font-size: 26px;
	}
	.cmshtml .top_point_ttl {
	font-size: 18px;
	}
	.cmshtml .top_point_list {
	display: block;
	margin: 0;
	}
	.cmshtml .top_point_list>div {
	width: 100%;
	margin: 0;
	}
	.cmshtml .top_point_list_in {
	margin-bottom: 10px !important;
	}
	.cmshtml .top_point_list_in:last-of-type {
	margin-bottom: 0 !important;
	}
	.cmshtml .top_point_list_in_txt1 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	}
	.cmshtml .top_point_list_in_txt1 br {
	display: none;
	}
	.cmshtml .top_point_more {
	margin-top: 1em;
	}
	.cmshtml .top_point_in_2 img {
	aspect-ratio: 16 / 9;
	border-radius: 0 0 10px 10px;
	}
}

/* 一般向け工事 */
.cmshtml .top_service {
position: relative;
padding: 100px 30px;
border-top: 5px solid #fff;
}
.cmshtml .top_service::before {
opacity: .2;
z-index: -1;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(../img/service_bg.jpg);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.cmshtml .top_service::after {
z-index: -2;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #f29000;
}
.cmshtml .top_service_ttl {
margin-bottom: 1em;
font-family: "Zen Maru Gothic", sans-serif;
font-size: 52px;
font-weight: 500;
text-align: center;
line-height: 1.4;
letter-spacing: 1px;
color: #fff;
}
.cmshtml .top_service_box {
display: flex;
align-items: center;
max-width: 1260px;
margin-left: auto;
margin-right: auto;
padding: 40px;
background-color: #fffbf1;
border-radius: 20px;
}
.cmshtml .top_service_box>div:nth-of-type(1) {
width: 330px;
}
.cmshtml .top_service_in1 {
}
.cmshtml .top_service_in1 img {
border-radius: 10px;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.cmshtml .top_service_box>div:nth-of-type(2) {
width: calc(100% - 330px);
}
.cmshtml .top_service_in2 {
padding-left: 80px;
}
.cmshtml .top_service_in2_ttl {
margin-bottom: 1.5em;
font-size: 29px;
font-weight: bold;
text-align: center;
line-height: 1.4;
}
.cmshtml .top_service_list {
display: flex;
margin: 0 -12px;
}
.cmshtml .top_service_list>div {
width: calc(50% - 24px);
}
.cmshtml .top_service_list_li {
margin: 0 12px;
padding: 34px 24px 24px 24px;
border-radius: 10px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.cmshtml .top_service_list_li_txt1 {
position: relative;
margin-bottom: 20px;
padding-bottom: 20px;
font-weight: bold;
text-align: center;
color: #f29000;
}
.cmshtml .top_service_list_li_txt1::before {
position: absolute;
content: "";
width: calc(100% - 60px);
height: 1px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
background-color: #f29000;
}
.cmshtml .top_service_list_li_txt2 {
}
.cmshtml .top_service_list_li {
}
.cmshtml .top_service_list_li_txt1 {
}
.cmshtml .top_service_list_li_txt2 {
}
.cmshtml .top_service_more {
margin-left: 0;
background-color: #0966aa;
}
.cmshtml .top_service_more a {
}
@media screen and (max-width:1024px) {
	.cmshtml .top_service {
	padding: 60px 15px;
	}
	.cmshtml .top_service_ttl {
	font-size: 30px;
	}
	.cmshtml .top_service_box {
	flex-wrap: wrap;
	flex-direction: column-reverse;
	padding: 20px;
	}
	.cmshtml .top_service_in2_ttl {
	margin-bottom: 20px;
	font-size: 26px;
	}
	.cmshtml .top_service_box>div:nth-of-type(1) {
	width: 100%;
	}
	.cmshtml .top_service_in1 {
	margin: 30px auto 0;
	}
	.cmshtml .top_service_in1 img {
	object-fit: cover;
	aspect-ratio: 4 / 3;
	width: 330px;
	}
	.cmshtml .top_service_box>div:nth-of-type(2) {
	width: 100%;
	}
	.cmshtml .top_service_in2 {
	max-width: 768px;
	padding-left: 0;
	}
	.cmshtml .top_service_more.rdblock {
	margin-left: auto !important;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_service {
	padding: 50px 15px;
	}
	.cmshtml .top_service_ttl {
	font-size: 22px;
	}
	.cmshtml .top_service_box {
	max-width: 400px;
	margin: auto;
	padding: 20px;
	border-radius: 15px;
	}
	.cmshtml .top_service_in2_ttl {
	font-size: 20px;
	}
	.cmshtml .top_service_list {
	display: block;
	margin: auto;
	}
	.cmshtml .top_service_list>div {
	width: 100%;
	}
	.cmshtml .top_service_list_li {
	margin: 0 0;
	padding: 15px;
	}
	.cmshtml .top_service_list_li + .top_service_list_li {
	margin-top: 20px;
	}
	.cmshtml .top_service_list_li_txt1 {
	margin-bottom: 13px;
	padding-bottom: 13px;
	}
}

/* 5つのこだわり */
.cmshtml .top_commit {
position: relative;
padding: 100px 30px;
}
.cmshtml .top_commit::before {
z-index: -9;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #f5f5f5;
}
.cmshtml .top_commit_wrap {
max-width: 952px;
min-height: 750px;
}
.cmshtml .top_commit_ttl.rdblock {
position: relative;
max-width: 309px;
margin: 0 auto 30px !important;
padding: 40px 10px;
color: #fff;
background-color: #0966aa;
border: 6px solid #fff;
border-radius: 20px;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.cmshtml .top_commit_ttl.rdblock::before {
z-index: -1;
position: absolute;
content: "";
width: 643px;
height: 643px;
top: 60px;
left: 50%;
transform: translateX(-50%);
border: 3px solid #f29000;
border-radius: 100%;
}
.cmshtml .top_commit_ttl.rdblock_1 {
}
.cmshtml .top_commit_ttl.rdblock_2 {
}
.cmshtml .top_commit_mark.rdblock {
width: 133px;
margin: auto !important;
}
.cmshtml .top_commit_mark.rdblock img {
}
.cmshtml .top_commit_box.rdblock {
position: absolute;
width: 309px;
background-color: #fff;
border: 6px solid #fff;
border-radius: 20px;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.cmshtml .top_commit_box_txt {
padding: 20px 10px;
font-size: 20px;
font-weight: bold;
text-align: center;
color: #0966aa;
}
.cmshtml .top_commit_box_no {
position: absolute;
width: 100%;
bottom: 50%;
right: 0;
left: 0;
font-size: 40px;
font-weight: bold;
text-align: center;
line-height: 1;
color: #f29000;
}
.cmshtml .top_commit_box_img {
}
.cmshtml .top_commit_box_img img {
object-fit: cover;
aspect-ratio: 297 / 140;
width: 100%;
height: 100%;
border-radius: 0 0 14px 14px;
}
.cmshtml .top_commit_box1 {
top: 100px;
left: 0;
}
.cmshtml .top_commit_box2 {
top: 100px;
right: 0;
}
.cmshtml .top_commit_box3 {
bottom: 110px;
left: 0;
}
.cmshtml .top_commit_box4 {
bottom: 0;
right: 0;
left: 0;
margin: auto;
}
.cmshtml .top_commit_box5 {
bottom: 110px;
right: 0;
}
@media screen and (max-width:1320px) {
}
@media screen and (max-width:1024px) {
	.cmshtml .top_commit {
	padding: 60px 15px;
	}
	.cmshtml .top_commit_wrap {
	max-width: 767px;
	min-height: 1050px;
	}
	.cmshtml .top_commit_ttl.rdblock::before {
	width: 600px;
	height: 900px;
	top: 60px;
	border-radius: 50px;
	}
	.cmshtml .top_commit_mark.rdblock {
	max-width: 100px;
	}
	.cmshtml .top_commit_box1 {
	top: 250px;
	}
	.cmshtml .top_commit_box2 {
	top: 250px;
	}
	.cmshtml .top_commit_box3 {
	top: 520px;
	bottom: inherit;
	}
	.cmshtml .top_commit_box4 {
	top: 520px;
	bottom: inherit;
	right: 0;
	left: inherit;
	margin: inherit;
	}
	.cmshtml .top_commit_box5 {
	top: 790px;
	bottom: inherit;
	right: 0;
	left: 0;
	margin: auto;
	}
}
/* wc */
#editView .cmshtml .top_commit_box {
position: relative !important;
top: inherit !important;
bottom: inherit !important;
right: 0 !important;
left: 0 !important;
margin: 10px auto;
}
#editView .cmshtml .top_commit_box_no {
position: static;
}
@media screen and (max-width:767px) {
	.cmshtml .top_commit {
	padding: 50px 15px;
	}
	.cmshtml .top_commit_wrap {
	max-width: 767px;
	min-height: 1050px;
	}
	.cmshtml .top_commit_ttl.rdblock {
	max-width: 280px;
	margin-bottom: 0 !important;
	padding: 20px;
	border-width: 3px;
	border-radius: 15px;
	}
	.cmshtml .top_commit_ttl.rdblock::before {
	display: none;
	}
	.cmshtml .top_commit_mark.rdblock {
	z-index: 1;
	position: relative;
	max-width: 70px;
	margin-top: -10px !important;
	margin-bottom: -10px !important;
	}
	.cmshtml .top_commit_box.rdblock {
	position: relative;
	max-width: 280px;
	top: inherit;
	bottom: inherit;
	right: inherit;
	left: inherit;
	margin: 0 auto 10px !important;
	border-width: 3px;
	}
	.cmshtml .top_commit_box:last-of-type {
	margin-bottom: 0;
	}
	.cmshtml .top_commit_box_txt {
	padding: 15px 10px;
	font-size: 18px;
	}
	.cmshtml .top_commit_box_no {
	bottom: 52%;
	font-size: 30px;
	}
}

/* 背景2 */
.cmshtml .top_bg02 {
position: relative;
padding: 100px 30px;
}
.cmshtml .top_bg02::before {
z-index: -9;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(../img/contact_bg.png);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
/* wc */
#editView .cmshtml .top_bg02 {
background-image: url(../img/contact_bg.png);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
@media screen and (max-width:1320px) {
}
@media screen and (max-width:1024px) {
	.cmshtml .top_bg02 {
	padding: 60px 15px;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_bg02 {
	padding: 50px 15px;
	}
}

/* お問い合わせ */
.cmshtml .top_contact {
display: flex;
flex-direction: row-reverse;
align-items: center;
margin-bottom: 40px;
padding: 60px;
border: 3px solid #fff;
border-radius: 20px;
}
.cmshtml .top_contact>div:nth-of-type(1) {
width: calc(100% - 320px);
}
.cmshtml .top_contact_in1 {
padding-left: 70px;
color: #fff;
}
.cmshtml .top_contact .top_ttl {
}
.cmshtml .top_contact .top_ttl_1 {
}
.cmshtml .top_contact .top_ttl_2 {
color: #f29000;
border-color: #fff;
}
.cmshtml .top_contact_txt {
margin-top: 1em;
margin-bottom: 2em;
text-align: center;
}
.cmshtml .top_contact_link {
display: flex;
align-items: center;
justify-content: center;
font-weight: bold;
}
.cmshtml .top_contact_link>div {
width: calc(50% - 12px);
}
.cmshtml .top_contact_link_in {
height: 98px;
background-color: #f29000;
border-radius: 100px;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
.cmshtml .top_contact_link_in:nth-of-type(1) {
margin-right: 12px;
}
.cmshtml .top_contact_link_in:nth-of-type(2) {
margin-left: 12px;
}
.cmshtml .top_contact_tel {
padding-top: 14px;
text-align: center;
}
.cmshtml .top_contact_tel_1 {
font-size: 29px;
}
.cmshtml .top_contact_tel_1::before {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: calc(37px * .85);
height: calc(37px * .85);
top: -2px;
margin-right: 10px;
background-image: url(../img/ico_tel@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .top_contact_tel_1 div {
display: inline-block;
}
.cmshtml .top_contact_tel_2 {
font-size: 14px;
line-height: 1;
}
.cmshtml .top_contact_mail {
font-size: 19px;
}
.cmshtml .top_contact_mail div,
.cmshtml .top_contact_mail p {
height: 100%;
}
.cmshtml .top_contact_mail a {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
.cmshtml .top_contact_mail a::before {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: calc(32px);
height: calc(22px);
top: -2px;
margin-right: 20px;
background-image: url(../img/ico_mail@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .top_contact>div:nth-of-type(2) {
width: 320px;
}
.cmshtml .top_contact_img {
}
.cmshtml .top_contact_img div {
}
.cmshtml .top_contact_img img {
object-fit: cover;
aspect-ratio: 1 / 1;
width: 100%;
height: 100%;
border-radius: 100%;
}
@media screen and (max-width:1320px) {
	.cmshtml .top_contact {
	padding: 40px 30px;
	}
	.cmshtml .top_contact_in1 {
	padding-left: 30px;
	}
	.cmshtml .top_contact_link>div {
	width: calc(50% - 6px);
	}
	cmshtml .top_contact_link_in {
	height: 90px;
	}
	.cmshtml .top_contact_link_in:nth-of-type(1) {
	margin-right: 6px;
	}
	.cmshtml .top_contact_link_in:nth-of-type(2) {
	margin-left: 6px;
	}
	.cmshtml .top_contact_tel {
	padding-top: 16px;
	}
	.cmshtml .top_contact_tel_1 {
	font-size: 26px;
	}
	.cmshtml .top_contact_tel_1::before {
	width: calc(37px* .7);
	height: calc(37px* .7);
	top: -3px;
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .top_contact {
	display: block;
	max-width: 767px;
	margin-right: auto;
	margin-left: auto;
	padding: 30px;
	}
	.cmshtml .top_contact>div:nth-of-type(1) {
	width: 100%;
	}
	.cmshtml .top_contact_in1 {
	padding-left: 0;
	}
	.cmshtml .top_contact_link {
	max-width: 500px;
	margin: 230px auto 0;
	}
	.cmshtml .top_contact_link_in {
	height: 70px;
	}
	.cmshtml .top_contact_link_in:nth-of-type(1) {
	margin-right: 6px;
	}
	.cmshtml .top_contact_link_in:nth-of-type(2) {
	margin-left: 6px;
	}
	.cmshtml .top_contact_tel {
	padding-top: 8px;
	}
	.cmshtml .top_contact_tel_1 {
	font-size: 22px;
	}
	.cmshtml .top_contact_tel_1::before {
	width: calc(37px* .5);
	height: calc(37px* .5);
	top: -2px;
	}
	.cmshtml .top_contact_mail {
	font-size: inherit;
	}
	.cmshtml .top_contact_mail a::before {
	width: calc(32px* .7);
	height: calc(22px* .7);
	top: -1px;
	margin-right: 15px;
	}
	.cmshtml .top_contact>div:nth-of-type(2) {
	width: 100%;
	}
	.cmshtml .top_contact_img {
	position: absolute;
	max-width: 200px;
	top: 220px;
	right: 0;
	left: 0;
	margin: auto;
	margin: auto;
	}
}
@media screen and (min-width:768px) {
	/* hover */
	.cmshtml .top_contact_mail:hover {
	background-color: #e83d04;
	transition: .5s;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_contact {
	max-width: 400px;
	margin-bottom: 30px;
	padding: 20px;
	border-radius: 15px;
	}
	.cmshtml .top_contact_link {
	display: block;
	max-width: 250px;
	margin-top: 220px;
	}
	.cmshtml .top_contact_link>div {
	width: 100%;
	}
	.cmshtml .top_contact_link_in:nth-of-type(1) {
	margin: 0 0 10px 0;
	}
	.cmshtml .top_contact_link_in:nth-of-type(2) {
	margin-left: 0;
	}
	.cmshtml .top_contact_link_in {
	height: 60px;
	}
	.cmshtml .top_contact_tel {
	padding-top: 10px;
	}
	.cmshtml .top_contact_tel_1 {
	margin-bottom: 3px;
	line-height: 1;
	}
	.cmshtml .top_contact_tel_1::before {
	content: "TEL.";
	width: inherit;
	height: inherit;
	top: 0;
	margin-right: 0;
	font-size: 14px;
	background-image: inherit;
	}
	.cmshtml .top_contact_tel_2 {
	font-size: 13px;
	}
	.cmshtml .top_contact_img {
	max-width: 180px;
	top: 200px;
	}
}

/* お知らせ */
.cmshtml .top_news {
display: flex;
align-items: center;
padding: 80px 0;
background-color: #fff;
border-radius: 20px;
}
.cmshtml .top_news>div:nth-of-type(1) {
width: 300px;
}
.cmshtml .top_news_in1 {
padding-left: 30px;
}
.cmshtml .top_news .top_ttl {
}
.cmshtml .top_news .top_ttl_1 {
}
.cmshtml .top_news .top_ttl_2 {
color: #f29000;
border-color: #333;
}
.cmshtml .top_news {
}
.cmshtml .top_news>div:nth-of-type(2) {
width: calc(100% - 300px);
}
.cmshtml .top_news_in2 {
padding: 0 70px;
}
.cmshtml .top_news_box {
position: relative;
overflow-x: hidden;
overflow-y: auto;
max-height: 245px;
}
#editView .cmshtml .top_news_box {
overflow-x: inherit;
overflow-y: inherit;
}
.cmshtml .top_news_box::-webkit-scrollbar {
width: 6px;
}
.cmshtml .top_news_box::-webkit-scrollbar-track {
background-color: #f1f1f1;
}
.cmshtml .top_news_box::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 100px;
}
.cmshtml .top_news_box .rdnewArticle {
padding: 0;
border: 0;
}
.cmshtml .top_news_box .rdnewArticle .rdnewArticle-item {
padding: 17px;
border-width: 0 !important;
border-top: 1px solid #ccc !important;
}
.cmshtml .top_news_box .rdnewArticle .rdnewArticle-item:last-of-type {
border-bottom: 1px solid #ccc !important;
}
.cmshtml .rdnewArticle-thumbnail {
display: none !important;
}
.cmshtml .top_news_box .rdnewArticle .rdnewArticle-contWrap {
display: flex;
}
.cmshtml .top_news_box .rdnewArticle .rdnewArticle-ContDate {
width: 110px;
font-size: inherit !important;
}
.cmshtml .top_news_box .rdnewArticle .rdnewArticle-ContTitle {
width: calc(100% - 110px);
}
.cmshtml .top_news_more {
margin-top: 2em;
text-align: right;
}
.cmshtml .top_news_more a {
}
.cmshtml .top_news_more a::after {
position: relative;
display: inline-block;
vertical-align: middle;
content: "";
width: calc(18px);
height: calc(14px);
top: -2px;
margin-left: 10px;
background-image: url(../img/arrow01@2x.png);
background-repeat: no-repeat;
background-size: contain;
}
@media screen and (max-width:1320px) {
}
@media screen and (max-width:1024px) {
	.cmshtml .top_news {
	display: block;
	max-width: 767px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px;
	}
	.cmshtml .top_news>div:nth-of-type(1) {
	width: 100%;
	}
	.cmshtml .top_news_in1 {
	margin-bottom: 30px;
	padding-left: 0;
	}
	.cmshtml .top_news>div:nth-of-type(2) {
	width: 100%;
	}
	.cmshtml .top_news_in2 {
	padding: 0;
	}
	.cmshtml .top_news_more a::after {
	width: calc(18px * .8);
	height: calc(14px * .8);
	}
}
@media screen and (min-width:768px) {
	/* hover */
	.cmshtml .top_news_box .rdnewArticle .rdnewArticle-ContTitle:hover a:hover,
	.cmshtml .top_news_more a:hover {
	opacity: .5;
	transition: .5s;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .top_news {
	max-width: 400px;
	padding: 20px;
	border-radius: 15px;
	}
	.cmshtml .top_news_in1 {
	}
	.cmshtml .top_news_in2 {
	}
	.cmshtml .top_news_box .rdnewArticle .rdnewArticle-item {
	padding: 10px 5px;
	}
	.cmshtml .top_news_box .rdnewArticle .rdnewArticle-contWrap {
	display: block;
	}
	.cmshtml .top_news_box .rdnewArticle .rdnewArticle-ContDate {
	width: 100%;
	font-size: 14px;
	}
	.cmshtml .top_news_box .rdnewArticle .rdnewArticle-ContTitle {
	width: 100%;
	font-size: 14px;
	}
	.cmshtml .top_news_more a::after {
	width: calc(18px * .6);
	height: calc(14px * .6);
	}
}

/*-----------------------
 下層ページテンプレート
-----------------------*/
/* 下層共通body */
.cmshtml .lowbody_wrap {
}

/* 下層ヘッダー */
.cmshtml .lowbody_wrap .header {
}
@media screen and (max-width:767px) {
	.cmshtml .lowbody_wrap .header {
	}
}

/* 下層フッター */
.cmshtml .lowbody_wrap .footer {
margin-top: 100px;
}
@media screen and (max-width:767px) {
	.cmshtml .lowbody_wrap .footer {
	margin-top: 50px;
	}
}

/* ページタイトル */
.cmshtml .pagettl {
position: relative;
margin-bottom: 100px;
padding-top: 130px;
background-color: #0966aa;
}
.cmshtml .pagettl_wrap {
position: relative;
max-width: 1920px;
height: 100%;
margin: auto;
}
.cmshtml .pagettl_wrap::before {
}
.cmshtml .pagettl_wrap>div:nth-of-type(1) {
}
.cmshtml .pagettl_img {
position: relative;
width: 100%;
height: 200px;
margin-left: auto;
}
.cmshtml .pagettl_img::before {
opacity: .5;
position: absolute;
content: "";
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: #000;
}
.cmshtml .pagettl_img div {
width: 100%;
height: 100%;
}
.cmshtml .pagettl_img img {
object-fit: cover;
object-position: center;
width: 100%;
height: 100% !important;
}
.cmshtml .pagettl_wrap>div:nth-of-type(2) {
}
.cmshtml .pagettl_ttl {
z-index: 1;
position: absolute;
width: calc(100% - 30px);
bottom: 40px;
right: 0;
left: 0;
margin: auto;
font-family: "Zen Maru Gothic",sans-serif;
font-weight: bold;
text-shadow: 0 0 10px #000;
}
.cmshtml .pagettl_ttl_wrap {
position: relative;
text-align: center;
}
.cmshtml .pagettl_ttl_1 {
margin-bottom: 10px;
font-size: 20px;
line-height: 1;
letter-spacing: 1px;
color: #f29000;
}
.cmshtml .pagettl_ttl_2 {
font-size: 34px;
line-height: 1.4;
color: #fff;
}
@media screen and (max-width:1400px) {
	.cmshtml .pagettl {
	padding-top: 73px;
	}
	.cmshtml .pagettl_img {
	height: 150px;
	}
}
@media screen and (max-width:1024px) {
	.cmshtml .pagettl {
	padding-top: 55px;
	}
	.cmshtml .pagettl_ttl_2 {
	font-size: 30px;
	}
}
/* wc */
#editView .cmshtml .pagettl {
padding-top: 0;
}
#editView .cmshtml .pagettl_img {
height: 100%;
}
#editView .cmshtml .pagettl_img div {
height: auto;
}
#editView .cmshtml .pagettl_img::before {
display: none;
}
#editView .cmshtml .pagettl_ttl {
position: static;
transform: inherit;
padding: 10px 0;
}
@media screen and (max-width:767px) {
	.cmshtml .pagettl {
	margin-bottom: 50px;
	padding-top: 0px;
	background-color: #fff;
	}
	.cmshtml .pagettl_img {
	height: 120px;
	}
	.cmshtml .pagettl_ttl {
	top: 50%;
	transform: translateY(-50%);
	bottom: inherit;
	}
	.cmshtml .pagettl_ttl_2 {
	font-size: 24px;
	}
	.cmshtml .pagettl_ttl_1 {
	font-size: 16px;
	}
}

/*-----------------------
 フォーム
-----------------------*/
.cmshtml input,
.cmshtml select,
.cmshtml textarea {
font-family: inherit;
}
.cmshtml input[type="text"],
.cmshtml input[type="password"],
.cmshtml input[type="date"],
.cmshtml input[type="email"],
.cmshtml textarea {
-webkit-appearance: none;
}
.cmshtml input[type="file"] {
-webkit-appearance: none;
background-color: transparent;
}
.cmshtml input[type="text"]:focus,
.cmshtml input[type="password"]:focus,
.cmshtml input[type="date"]:focus,
.cmshtml input[type="email"]:focus,
.cmshtml textarea:focus {
background-color: #faffd7 !important;
border-color: #aaa !important;
box-shadow: inherit !important;
}
.cmshtml input[readonly="readonly"]:focus {
background-color: #fff !important;
}
.cmshtml .rdcontact_btn_area .rdcontact_btn_submit {
cursor: pointer;
font-size: 16px;
padding: 10px 30px !important;
background-color: #f29000 !important;
border-color: #f29000 !important;
border-radius: 4px;
}
.cmshtml .rdcontact_btn_area .rdcontact_btn_submit:hover,
.cmshtml .rdcontact_btn_area .rdcontact_btn_submit:focus {
opacity: .5 !important;
box-shadow: inherit !important;
}
@media screen and (min-width:768px) {
	.cmshtml .contact_item_table {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	}
	.cmshtml .contact_item_title {
	width: 200px;
	padding-right: 20px !important;
	padding-bottom: 10px !important;
	}
	.cmshtml .contact_item_title:not(:first-child) {
	margin-top: 0 !important;
	}
	.cmshtml .contact_item_input {
	width: calc(100% - 200px);
	padding-bottom: 40px;
	}
	.cmshtml .contact_item_input:not(:first-child) {
	/*margin-top: 30px;*/
	padding-bottom: 20px;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .contact_item_table {
	display: block;
	}
	.cmshtml .contact_item_title {
	width: 100%;
	padding-bottom: 10px;
	}
	.cmshtml .contact_item_input {
	width: 100%;
	padding-bottom: 30px;
	}
}

/*-----------------------
 ブログ
-----------------------*/
.cmshtml .blogcol {
display: flex;
max-width: 1260px;
margin: auto;
padding: 0 30px;
}
.cmshtml .blogcol_frame,
.cmshtml .blogcol_main {
width: calc(100% - 350px);
margin-right: 50px;
padding-right: 20px;
padding-left: 20px;
}
.cmshtml .blogcol_side {
width: 300px;
}
@media screen and (max-width:999px) {
	.cmshtml .blogcol {
	display: block;
	}
	.cmshtml .blogcol_frame,
	.cmshtml .blogcol_main {
	width: 100%;
	margin-right: 0;
	margin-bottom: 60px;
	}
	.cmshtml .blogcol_side {
	width: 100%;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .blogcol {
	margin-bottom: 40px;
	padding: 0 15px;
	}
	.cmshtml .blogcol_frame,
	.cmshtml .blogcol_main,
	.cmshtml .blogcol_side {
	padding-right: 5px;
	padding-left: 5px;
	}
}

/* ブログフレーム */
.cmshtml .blog {
padding-bottom: 80px;
}
.cmshtml .blogcol_frame .rdListShort .rdListItem {
background-color: #fff;
border-width: 0;
box-shadow: inherit;
}
.cmshtml .blogcol_frame .rdpublishDate {
margin-bottom: 6px;
font-size: 15px;
color: #888;
}
.cmshtml .blogcol_frame .rdarticleTitle h3 {
font-size: 18px;
border-bottom-width: 2px;
border-color: #0966aa;
}
.cmshtml .blogcol_frame .rdListShort .rdListItem .ItemrdListTagListItem {
background: #eee;
border-color: #eee;
}
.cmshtml .blogcol_frame .rdListShort .rdListItem .ItemrdListTagListItem a {
color: #4c464b;
}
.cmshtml .blogcol_frame .rdListShort .rdListItem .rdListImageItem {
border-width: 0;
background-color: #f1f1f1;
background-image: url(../img/blog_img.jpg);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}
.cmshtml .blogcol_frame .rdListShort .rdListItem .rdListImageItem {
object-fit: cover;
height: 300px;
}
.cmshtml .rdListImageInner a:hover {
opacity: .5;
transition: .5s;
}
.cmshtml .rdListExcerpt  a:hover {
opacity: .5;
transition: .5s;
}
@media screen and (min-width:1000px) {
}
@media screen and (max-width:767px) {
	.cmshtml .blog {
	padding-bottom: 60px;
	}
	.cmshtml .blogcol_frame .rdListShort .rdListItem {
	width: 100%;
	margin: 0 0 20px 0;
	}
	.cmshtml .blogcol_frame .rdListShort .rdListItem .rdListImageItem {
	height: 245px;
	}
}

/* ブログ記事 */
.cmshtml .blogcol_main .rdpublishDate {
margin-bottom: 6px;
font-size: 16px;
color: #888;
}

/* ブログメニュー */
.cmshtml .blogcol_side .rdplanetitle h2 {
padding: 10px 5px;
font-size: 16px;
font-weight: bold;
text-align: center;
background-color: #ddd;
}
.cmshtml .blogcol_side .rdblartlist {
padding: 0;
border: 0;
}
.cmshtml .blogcol_side .rdnewArticle {
padding: 0;
border-width: 0;
}
.cmshtml .blogcol_side .rdBlogSearch .rdBlogSearch-btn,
.cmshtml .blogcol_side .rdCalendar .rdCalendarTable-link {
background-color: #0966aa;
}
.cmshtml .blogcol_side .rdCategorylist .rdCategorylist-link:after {
border-color: transparent transparent transparent #0966aa;
}
.cmshtml .blogcol_side .rdMonthlyArchive .rdMonthlyArchive-item:before {
border-color: #0966aa;
}
.cmshtml .blogcol_side .rdTaglist .rdTaglist-link,
.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:after,
.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:before,
.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:after,
.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:before {
background-color: #ddd;
}
@media (min-width:768px) {
	/* hover */
	.cmshtml .blogcol_side .rdBlogSearch .rdBlogSearch-btn:hover {
	background-color: #5dc1cf;
	}
	.cmshtml .blogcol_side .rdCalendar .rdCalendarTable-link:hover {
	color: #fff;
	background-color: #5dc1cf;
	}
	.cmshtml .blogcol_side .rdMonthlyArchive .rdMonthlyArchive-item:hover:before {
	border-color: #5dc1cf;
	}
	.cmshtml .blogcol_side .rdCategorylist .rdCategorylist-link:hover {
	color: inherit;
	background-color: #c2ecf1;
	}
	.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:hover,
	.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:hover:after,
	.cmshtml .blogcol_side .rdTaglist .rdTaglist-link:hover:before {
	color: inherit;
	background-color: #c2ecf1;
	}
	.cmshtml .blogcol_side .rdnewArticle-item:hover .rdnewArticle-ContTitle,
	.cmshtml .blogcol_side .rdMonthlyArchive a:hover {
	opacity: .5;
	transition: .5s;
	}
	.cmshtml .blogcol_side .rdCategorylist .rdCategorylist-link:hover:after {
	border-color: transparent transparent transparent #4c464b;
	}
}

/*-----------------------
 WC用
-----------------------*/

/* 見出しブロック（ブログ記事共通） */
.cmshtml .lowpage .rdplanetitle h2 {
position: relative;
width: fit-content;
margin-left: auto;
margin-right: auto;
margin-bottom: 2.5em;
padding-top: 40px;
font-size: 32px;
font-family: "Zen Maru Gothic",sans-serif;
font-weight: bold !important;
color: #0966aa;
}
.cmshtml .lowpage .rdplanetitle h2::before {
position: absolute;
content: "";
width: calc(30px);
height: calc(30px);
top: 0;
right: 0;
left: 0;
margin: auto;
background-image: url(../img/h2_ico.png);
background-repeat: no-repeat;
background-size: contain;
}
.cmshtml .blogcol_main .rdplanetitle h2,
.cmshtml .blogcol_main .rdarticleTitle h3 {
position: relative;
margin-bottom: 1em;
padding-bottom: 40px;
font-family: "Zen Maru Gothic",sans-serif;
font-size: 32px;
font-weight: bold !important;
padding-bottom: 10px !important;
text-align: left;
border-bottom-width: 0;
}
.cmshtml .blogcol_main .rdplanetitle h2::before,
.cmshtml .blogcol_main .rdarticleTitle h3::before {
z-index: -1;
position: absolute;
content: "";
width: 100%;
height: 4px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
background-color: #0966aa;
border-top: 1px solid #000;
}
.cmshtml .lowpage .rdplanetitle h3,
.cmshtml .blogcol_main .rdplanetitle h3 {
position: relative;
margin-bottom: 1em;
padding: 15px 25px;
font-family: "Zen Maru Gothic",sans-serif;
font-size: 24px;
font-weight: bold !important;
background-color: #d6e5f0;
border-bottom: 3px solid #0966aa;
}
.cmshtml .lowpage .rdplanetitle h4,
.cmshtml .blogcol_main .rdplanetitle h4 {
overflow: hidden;
position: relative;
display: flex;
align-items: center;
margin-bottom: 1em;
padding-bottom: 8px;
font-family: "Zen Maru Gothic",sans-serif;
font-size: 22px;
font-weight: bold !important;
border-bottom: 5px double #f29000;
}
.cmshtml .lowpage .rdplanetitle h4::before,
.cmshtml .blogcol_main .rdplanetitle h4::before {
}
.cmshtml .lowpage .rdplanetitle h5,
.cmshtml .blogcol_main .rdplanetitle h5 {
display: inline-block;
position: relative;
margin-bottom: 1em;
padding-bottom: 8px;
font-family: "Zen Maru Gothic",sans-serif;
font-size: 20px;
font-weight: bold !important;
border-bottom: 3px dotted #f29000;
}
.cmshtml .lowpage .rdplanetitle h6,
.cmshtml .blogcol_main .rdplanetitle h6 {
position: relative;
margin-bottom: 1em;
padding-left: 25px;
font-family: "Zen Maru Gothic",sans-serif;
font-size: inherit;
font-weight: bold !important;
}
.cmshtml .lowpage .rdplanetitle h6::before,
.cmshtml .blogcol_main .rdplanetitle h6::before {
position: absolute;
vertical-align: middle;
content: "";
width: 15px;
height: 15px;
top: 50%;
transform: translateY(-50%);
left: 3px;
background-color: #f29000;
clip-path: polygon(0 0, 100% 50%, 0 100%, 20% 50%);
}
@media screen and (max-width:1024px) {
	.cmshtml .lowpage .rdplanetitle h2 {
	font-size: 28px;
	}
}
@media screen and (max-width:767px) {
	.cmshtml .lowpage .rdplanetitle h2 {
	margin-bottom: 1.5em;
	padding-top: 25px;
	font-size: 22px;
	}
	.cmshtml .blogcol_main .rdplanetitle h2,
	.cmshtml .blogcol_main .rdarticleTitle h3 {
	font-size: 22px;
	}
	.cmshtml .lowpage .rdplanetitle h2::before,
	.cmshtml .lowpage .rdplanetitle h2::after {
	width: calc(30px * .6);
	height: calc(30px * .6);
	}
	.cmshtml .lowpage .rdplanetitle h3,
	.cmshtml .blogcol_main .rdplanetitle h3 {
	padding: 10px 15px;
	font-size: 19px;
	}
	.cmshtml .lowpage .rdplanetitle h3, .cmshtml .blogcol_main .rdplanetitle h3 {
	background-size: 1000px auto;
	}
	.cmshtml .lowpage .rdplanetitle h4,
	.cmshtml .blogcol_main .rdplanetitle h4 {
	font-size: 17px;
	border-bottom-width: 4px;
	}
	.cmshtml .lowpage .rdplanetitle h5,
	.cmshtml .blogcol_main .rdplanetitle h5 {
	font-size: 16px;
	border-bottom-width: 2px;
	}
	.cmshtml .lowpage .rdplanetitle h6,
	.cmshtml .blogcol_main .rdplanetitle h6 {
	padding-left: 20px;
	}
	.cmshtml .lowpage .rdplanetitle h6::before,
	.cmshtml .blogcol_main .rdplanetitle h6::before {
	width: 12px;
	height: 12px;
	}
}

/* アンカー */
.cmshtml {
scroll-padding-top: 70px;
}
@media screen and (max-width: 767px) {
	.cmshtml {
	scroll-padding-top: 30px;
	}
}

/*-----------------------
装飾指定クラス
-----------------------*/
/* box01 */
.cmshtml .box01 {
}
@media screen and (max-width: 767px) {
	.cmshtml .box01 {
	max-width: 100% !important;
	padding: 0 3%;
	}
}

/* リンクボタン */
.cmshtml .link01,
.cmshtml .link02 {
}
.cmshtml .link01 a,
.cmshtml .link02 a {
position: relative;
padding: 15px 30px;
font-weight: bold;
line-height: 1.4;
color: #fff;
background-color: #f29000;
border: 2px solid #f29000;
border-radius: 100px;
}
.cmshtml .link01 a {
display: inline-block;
}
.cmshtml .link02 a {
display: block;
}
.cmshtml .link01 a::after,
.cmshtml .link02 a::after {
content: "";
width: 7px;
height: 7px;
border-style: solid;
border-color: #fff;
border-width: 2px 2px 0 0;
transform: rotate(45deg);
}
.cmshtml .link01 a::after {
position: relative;
display: inline-block;
margin-left: 20px;
}
.cmshtml .link02 a::after {
position: absolute;
top: 22px;
right: 20px;
}
@media screen and (min-width: 768px) {
	/* hover */
	.cmshtml .link01 a:hover,
	.cmshtml .link02 a:hover {
	color: #f29000;
	background-color: #fff;
	transition: .5s;
	}
	.cmshtml .link01 a:hover::after,
	.cmshtml .link02 a:hover::after {
	border-color: #f29000;
	transition: .5s;
	}
}
@media screen and (max-width: 767px) {
	.cmshtml .link01 a,
	.cmshtml .link02 a {
	padding: 12px 20px;
	font-size: 15px;
	letter-spacing: 1px;
	background-size: 7px auto;
	}
	.cmshtml .link01 a::after,
	.cmshtml .link02 a::after {
	width: 5px;
	height: 5px;
	}
	.cmshtml .link01 a::after {
	top: -2px;
	margin-left: 20px;
	}
	.cmshtml .link02 a::after {
	right: 20px;
	}
}

/* table */
.cmshtml .tbl01 {
}
.cmshtml .tbl01 table {
width: 100%;
}
.cmshtml .tbl01 th,
.cmshtml .tbl01 td {
padding: 10px !important;
border: 1px solid #000 !important;
}
.cmshtml .tbl01 th {
background-color: #f1f1f1 !important;
}
.cmshtml .tbl01 td {
background-color: #fff;
}

/* flex50 */
@media screen and (max-width: 767px) {
	.cmshtml .flex50 {
	flex: 0 1 50% !important;
	}
}

/*-----------------------
 FAQ
-----------------------*/
.hanyou_faq {
max-width: 100% !important;
margin: auto;
background-color: #fff;
border: 1px solid #000;
}
.hanyou_faq_q {
cursor: pointer;
position: relative;
padding: 25px 30px 20px 70px;
font-weight: bold;
}
.hanyou_faq_q::before,
.hanyou_faq_a::before {
position: absolute;
width: 30px;
height: 30px;
left: 20px;
font-size: 18px;
font-weight: normal;
text-align: center;
line-height: 30px;
border: 2px solid #0966aa;
border-radius: 50%;
}
.hanyou_faq_q::before {
content: "Q";
top: 20px;
color: #fff;
background-color: #0966aa;
}
.hanyou_faq_a::before {
content: "A";
top: 17px;
color: #0966aa;
}
.hanyou_faq_q::after {
position: absolute;
content: "";
width: 10px;
height: 10px;
top: 25px;
right: 15px;
border-style: solid;
border-color: #0966aa;
border-width: 0 4px 4px 0;
transform: rotate(45deg);
}
.hanyou_faq_q.open::after {
border-width: 4px 0 0 4px;
}
.hanyou_faq_a {
position: relative;
padding: 20px 30px 20px 70px;
animation-name: opacity_slow;
animation-duration: 1s;
}
@keyframes opacity_slow {
	0% {
	opacity: 0;
	}
}
.hanyou_faq_img_a {
}
.hanyou_faq_img_a::after {
content:"";
display:block;
clear:both;
}
.hanyou_faq_a_txt {
}
.hanyou_faq_a_img {
float: right;
max-width: 330px;
margin-left: 30px;
}
@media screen and (min-width:768px) {
	/* hover */
	.hanyou_faq_q:hover {
	opacity: 0.5;
	transition: all .5s;
	}
}
@media screen and (max-width:767px) {
	.hanyou_faq {
	}
	.hanyou_faq + .hanyou_faq {
	margin-top: -20px;
	}
	.hanyou_faq_q {
	padding: 17px 30px 15px 50px;
	}
	.hanyou_faq_q::before,
	.hanyou_faq_a::before {
	width: 24px;
	height: 24px;
	top: 14px;
	left: 10px;
	font-size: 16px;
	line-height: 26px;
	}
	.hanyou_faq_q::after {
	width: 8px;
	height: 8px;
	top: 22px;
	right: 10px;
	border-width: 0 3px 3px 0;
	}
	.hanyou_faq_q.open::after {
	border-width: 3px 0 0 3px;
	}
	.hanyou_faq_a {
	padding: 5px 30px 15px 50px;
	}
	.hanyou_faq_a_txt {
	}
	.hanyou_faq_a_img {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	}
}