@charset "utf-8";
/* *************************************
// スタイル
************************************* */

:root {
    --main-color: #1E88E5;
	--bg-color: #66AEED;

	--sub-color1: #EADBC8;
	--sub-color2: #E57B1E;

	--purple-color1: #2F39D3;
	--purple-color2: #A33D84;


	--text-color: #412308;

    --main-gd: linear-gradient(to bottom, var(--main-color) 0%, #BEDDF7 100%);
	--purple-gd: linear-gradient(to top, var(--purple-color2) 0%, #f5ebf2 100%);

	--filter-blue: invert(40%) sepia(92%) saturate(892%) hue-rotate(178deg) brightness(96%) contrast(87%);
	--filter-white: invert(100%) sepia(0%) saturate(7465%) hue-rotate(187deg) brightness(115%) contrast(100%);
	--filter-brown: invert(14%) sepia(13%) saturate(3813%) hue-rotate(353deg) brightness(94%) contrast(96%);
}

body {
	color: var(--text-color);
	font-weight: 500;
}

@media (max-width: 1279px) {

	#container {
		padding-top: 80px;
	}
}


.title01 {
    position: relative;
    z-index: 0;
	line-height: 1.5;
}
.title01.center {
    text-align: center;
}
.title01 .en {
    font-size: 20px;
    line-height: 1;
    position: relative;
    z-index: -1;
    margin-left: 5px;
    font-weight: bold;
    color: var(--main-color);
	letter-spacing: 1px;
}
.title01 .jp {
    font-size: 35px;
    font-weight: bold;
	letter-spacing: 2px;
}

@media (max-width: 767px) {
	.title01 .jp {
		font-size: 25px;
	}
	.title01 .en {
		font-size: 16px;
	}

}


.title02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0 15px;
    margin-bottom: 40px;
}
.title02.center {
    justify-content: center;
}
.title02.left {
    justify-content: flex-start;
}

.title02 .jp {
    font-size: 35px;
    font-weight: bold;
    letter-spacing: 2px;
}
.title02 .en {
    font-size: 20px;
    font-weight: bold;
    color: var(--main-color);
}

.title02.white .jp,
.title02.white .en {
    color: #fff;
}

@media (max-width: 767px) {
	.title02 .jp {
		font-size: 25px;
	}

}


.title03 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0 20px;
    margin-bottom: 50px;
    position: relative;
}
.title03 .jp {
    font-size: 30px;
    font-weight: bold;
}
.title03 .en {
    font-size: 20px;
    display: none;
}

.title03:before {
    bottom: -18px;
    content: "";
    display: inline-block;
    height: 5px;
    left: 50%;
    margin: 0 0 0 -20px;
    position: absolute;
    width: 40px;
    background: var(--main-color);
}

.title03.white {
	color: #fff;
}
.title03.white:before {
    background: #fff;
}

@media (max-width: 767px) {

    .title03 .jp {
        font-size: 24px;
    }
}



.title06 {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	margin: 30px 0;
}


.btn001 > a {
	display: flex;
	gap: 0 10px;
}

.btn001 > a:after {
	display: inline;
	content: "→";
	transition: all 0.3s;
}
.btn001 > a:hover:after {
	transform: translateX(5px);
}



.hl002 {
	padding: 80px 5vw;
	z-index: 0;
	overflow: hidden;
	background: #fff;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0 20px;
	position: relative;
	z-index: 0;
	background-image: url(../images/common/h1.webp);
	background-size: cover;
	background-position: center;
}
.hl002 .en {
	color: #fff;
	font-size: 20px;
	letter-spacing: 2px;
	position: relative;
	z-index: 1;
}
.hl002 h1 {
	color: #fff;
	font-size: min(40px, 4vw);
	font-weight: bold;
	position: relative;
	z-index: 1;
}
.hl002:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: var(--main-color);
    z-index: 0;
    opacity: 0.5;
}
.hl002 > img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    filter: blur(5px);
}

.hl002 h1 > span {
	margin: 0 0.3em;
}

@media (max-width: 767px) {
	.hl002 {
	    padding: 40px 5vw;
	}
	.hl002 h1 {
		font-size: 25px;
	}
	.hl002 h1 > span {
		display: block;
		text-align: center;
	}
}


section {
	padding: 80px 0;
}

@media (max-width: 767px) {
	section {
		padding: 50px 0;
	}

}

.fukidashi01 {
    text-align: center;
    font-weight: bold;
    font-size: 25px;
    display: table;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
    position: relative;
    padding: 0 1em;
    line-height: 1;
}
.fukidashi01:before {
    content: "";
    display: block;
    width: 2px;
	height: 110%;
    background: #000;
    position: absolute;
    left: 0;
    top:0;
    transform: rotate(-20deg);
}
.fukidashi01:after {
    content: "";
    display: block;
    width: 2px;
	height: 110%;
    background: #000;
    position: absolute;
    right: 0;
    top:0;
    transform: rotate(20deg);
}

@media (max-width: 767px) {
    .fukidashi01 {
        font-size: 20px;
    }
}

.fukidashi02 {
	background: var(--main-color);
	padding: 5px 30px;
	min-width: 220px;
	font-size: 25px;
	font-weight: bold;
	color: #fff;
	display: table;
	position: relative;
	z-index: 0;
	border-radius: 100vmax;
	margin: 0 auto 50px;
	text-align: center;
}
.fukidashi02:after {
    content: "";
    display: block;
    width: 20px;
    height: 15px;
    background: var(--main-color);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
}

ul.slash {
	display: flex; 
	flex-wrap: wrap;
}
ul.slash.center {
	justify-content: center;
}
ul.slash > li:not(:last-child):after {
	content: "/";	
	display: inline;
	margin: 0 0.8em;
	color: #ccc;
}



/* *************************************
// ローディング
************************************* */
/* HTML: <div class="loader"></div> */
.loader {
  width: 35px;
  aspect-ratio: 1;
  background: linear-gradient(#ec4773 0 0) bottom/100% 0% no-repeat #ccc;
  -webkit-mask: 
    radial-gradient(circle at 60% 65%, #000 62%, #0000 65%) top left, 
    radial-gradient(circle at 40% 65%, #000 62%, #0000 65%) top right, 
    linear-gradient(to bottom left, #000 42%,#0000 43%) bottom left , 
    linear-gradient(to bottom right,#000 42%,#0000 43%) bottom right;
  -webkit-mask-size: 50% 50%;
  -webkit-mask-repeat: no-repeat;
  animation: l19 2s infinite linear;
}
@keyframes l19 {
    90%,100% {background-size:100% 100%}
}

#loader-bg.l001:after {
	content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: var(--sub-color1);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.2;
}

#loader-bg.l001 .content {
	display: flex;
	gap: 0 20px;
	align-items: center;
}
#loader-bg.l001 .content img {
	width: 100px;
	height: auto;
}

/*********************
 ヘッダー
*********************/

.header {
	width: 100%;
	position: absolute;
	top: 0;
    left: 0;
    z-index: 999;
    box-shadow: 0px 1px 3px rgba(0,0,0,.5);
}
.h001.header {
    height: 80px;
}

header.h001.header #inner-header {
	display: flex;
	align-items: stretch;
    justify-content: space-between;
    height: 80px;
	padding: 0 15px;
}

.h001.header .logo {
	height: 80px;
	display: flex;
	padding: 0 calc(var(--default-space) / 2);
}

.header .header_box {
	display: flex;
	justify-content: flex-end;
}

.header .header_box > * {
	margin-left: 10px;
}

.h001.header .menu {
	top: 10px;
	right: 10px;
}
.h001.header .menu:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 100vmax;
	background: var(--main-gd);
	position:absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.h001.header label.buMenu .icon-bar {
	background: #fff;
}
.h001.header .menu .menu_text {
	color: #fff;
}


@media (max-width: 1279px) {

	.header #inner-header {
		flex-wrap: wrap;
		padding: 0 0 0 15px;
	}

	.header .header_box {
	    flex-wrap: wrap;
	    width: 100%;
	    justify-content: flex-end;
	}
	.header .header_box > nav {
		width: 100%;
		order: 1;
		margin: 0;
	}
	.header .header_box > a.tel_box,
	.header .header_box > a.contact_box {
		height: 60px;
	}
	.header .nav {
		display: flex;
		justify-content: center;
	}
	.header .menu + nav .nav {
		flex-direction: column;
	}

	.header .nav > li {
		border-bottom: none;
	}
	.header .nav li a {
	    padding: 0.75em;
		
		display: flex;
		justify-content: center;
		align-items: baseline;
	}
	.header .nav li a > span {
		margin: 0 10px;
	}
}


@media (max-width: 767px) {

	.header,
	#inner-header {
		height: 60px;
		padding: 0;
	}
	
	.header {
	    position: fixed;
	    transition: .2s linear;
	    -moz-transition: .2s linear;
	    -webkit-transition: .2s linear;
	    -o-transition: .2s linear;
	    -ms-transition: .2s linear;
	}
	
	header.h001.header #inner-header {
	    padding: 0 80px 0 0;
	}
	.header .header_box > * {
		margin: 0;
	}
		
}



.header .logo a {
	width: 100%;
	height: 100%;
	display: flex;
    align-items: center;
    justify-content: flex-start;
	gap: 0 10px;
}

.header .logo img {
	width: auto;
	height: 50px;
	display: block;
}



a.tel_box {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--text-color);
}

a.tel_box img {
    width: auto;
    margin-right: 5px;
    height: 1em;
	filter: var(--filter-blue);
}
a.tel_box .text {
	display: flex;
	flex-direction: column;
	align-items: center;
}

a.tel_box .number {
    font-size: 25px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

a.tel_box .time {
	display: block;
    font-size: 12px;
    text-align: center;
    width: 100%;
    margin-top: 4px;
    white-space: nowrap;
}



@media (max-width: 767px) {

	.header a.tel_box {
		display: none;
	}

}

.h001.header a.contact_box {
	transition: 0.2s linear;
    -moz-transition: 0.2s linear;
    -webkit-transition: 0.2s linear;
    -o-transition: 0.2s linear;
    -ms-transition: 0.2s linear;
	color: #fff;
	align-self: center;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    position: relative;
    white-space: nowrap;
	font-size: 16px;
	border-radius: 100vmax;
    padding: 10px 30px;
	margin: 0 auto;
	gap: 0 0.5em;
	max-width: 350px;
}
.h001.header a.contact_box .text {
	letter-spacing: 1px;
}
.h001.header a.contact_box img {
	height: 1.2em;
	width: auto;
	margin: 0;
}

.h001.header a.contact_box:hover {
	color: #fff;
	opacity: 0.8;
}




.header .menu {
	display: none;
}

.h001.header .menu_box {
	gap: 0 20px;
}

.h001.header .menu_box nav {
	height: 100%;
}

.h001.header .menu_box nav ul {
	height: 100%;
}
.h001.header .menu_box nav > ul > li {
	position: relative;
	overflow: hidden;
}
.h001.header .menu_box nav > ul > li:after {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: var(--main-gd);
	transition: all 0.2s;
}
.h001.header .menu_box nav > ul > li:hover:after {
	transform: translate(-50%, -50%);
}


.h001.header .menu_box nav ul li a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 100%;
	position: relative;
}

.h001.header .menu_box nav ul li a:hover {
	color: var(--main-color);
}

.h001.header .menu_box nav ul li.other a:hover {
	color: var(--purple-color2);
}

.header .nav > li a {
	text-align: center;
	font-weight: bold;
}
.header .nav > li a > span {
	font-size: 80%;
	display: block;
	color: var(--purple-color2);
}

.header .nav li.mobile_only {
	display: none;
}

.h001.header .menu_box nav > ul > li.other {
	margin-top: 20px;
}

@media (max-width: 1279px) {
	.h001.header .menu_box {
		display: block;
		padding: 100px 5%;
	    overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		left: 0;
		transition: all 0.5s;
	}
	.h001.header .menu.open + .menu_box {
		opacity: 1;
		visibility: visible;
	}

	.h001.header .menu_box nav {
		margin-bottom: 15px;
		display: grid;
		place-content: center;
	}
	.h001.header .menu_box nav ul {
		border-bottom: none;
		display: block;
	}
	.h001.header .menu_box nav > ul > li {
		border: none;
	}
	.h001.header .menu_box nav > ul > li.sp_only {
		display: block;
	}

	.h001.header .menu_box nav > ul > li:after {
		display: none;
	}
	.h001.header .menu_box nav ul li a {
		font-size: 20px;
	}

	.h001.header .menu_box nav ul li a span {
		display: block;
		width: 100%;
	}

}



/* *************************************
// フッター
************************************* */

.footer {
    background: var(--text-color);
}

.footer #inner-footer  {
	display: flex;
	justify-content: space-between;
	padding-top: 50px;
 	padding-bottom: 50px;
    padding-left: 5%;
    padding-right: 5%;
}

.footer #inner-footer > * {
	margin-right: 15px;
}



.footer .logo {
	padding: 0;
	margin-bottom: 30px;
	width: 300px;
}

.footer .logo a {
	text-decoration: none!important;
}

.footer .logo .text {
	color: #fff;
	flex-direction: column;
	white-space: nowrap;
}

.footer a.tel_box {
    background: #fff;
    display: inline-block;
    padding: 10px 30px;
    border-radius: 10px;
}

.footer .address > span {
	margin-right: 0;
	display: block;
}

.footer .relation {
	margin-top: 40px;
	display: table;
}
.footer .relation a {
	color: #fff;
	display: flex;
	gap: 10px;
	align-items: center;

}
.footer .relation a:before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.8em;
	background: #fff;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.footer a:hover {
	text-decoration: underline;
}


.footer #inner-footer > nav {
	display: flex;
    gap: 40px;
}

.footer .footer-links {
	margin-right: 15px;
}

.footer.f001 ul.nav {
    width: auto;
}

.footer ul.nav > li {
	padding: 5px 10px;
	float: none;
}


.footer .nav li a {
	display: inline;
	padding: 0;
	color: #fff;
}

.footer .nav li ul.sub-menu,
.footer .nav li ul.children {
	position: static;
    visibility: visible;
    border: none;
    background: transparent;
    margin: 0;
}

.footer .nav li ul.sub-menu li, 
.footer .nav li ul.children li {
	padding: 5px 10px;
	float: none;
}

.footer .nav li ul.sub-menu li a,
.footer .nav li ul.children li a {
	border: none;
	width: auto;
	white-space: nowrap;
    display: inline;
}

.footer .nav li ul.sub-menu a:before,
.footer .nav li ul.children a:before {
	content: "-";
	margin-right: 0.5em;
	display: inline;
}

.footer .sns_box {
	margin-bottom: 20px;
}

.footer .sns_box img {
	width: 40px;
	margin: 0 5px;
}
.sns_box a {
	text-decoration: none;
}


.footer .bnr_box {
	display: flex;
	flex-wrap: wrap;
	
}
.footer .bnr_box > .bnr {
	width: 150px;
	margin-right: 20px;
}


.footer .copyright {
	margin: 0;
	padding: 5px;
	text-align: center;
	background: #fff;
	color: #000;
}

@media (max-width: 1199px) {

	.footer #inner-footer {
		flex-wrap: wrap;
		justify-content: center;
	}
	.footer #inner-footer > * {
		margin: 0;
	}
	
	.footer .company_info {
		text-align: center;
		margin: 0 0 20px;
	}
	
	.footer .logo {
	    margin-right: auto;
	    margin-left: auto;
	}
	.footer #inner-footer > nav {
		display: none;
	}
	
	.footer .img_box {
		display: flex;
		margin: 0;
	}
	.footer .img_box > div {
		margin: 0 10px;
	
	}
	.footer .relation {
		margin-inline: auto;
	}
}
@media (max-width: 767px) {

	.footer {
		text-align: center;
	}
	.footer #inner-footer {
		padding: 30px 5% 20px;
	}

	.footer #inner-footer {
	    flex-direction: column;
    	align-items: center;
	}
	
	.footer #inner-footer > * {
		margin-right: 0;
		margin-bottom: 15px;
	}
	
	.footer .img_box > div {
		width: 100%;
		margin-bottom: 15px;
	}
	
	.footer #inner-footer > .img_box {
		flex-wrap: wrap;
		margin-bottom: 0;
	}
	.footer .bnr_box {
		flex-direction: column;
		align-items: center;
	}
	.footer .bnr_box > .bnr {
		margin: 0 0 10px;
	}
	
	.footer .copyright {
		font-size: 12px;
	}
}


/*********************
ページ下お問い合わせ
*********************/
#bottom_contact {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
	z-index: 10;
}

#bottom_contact > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display:block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

#bottom_contact:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1;
}

#bottom_contact > .inner {
	position: relative;
    z-index: 2;
    color: #fff;
}

#bottom_contact .title02 img {
	filter: var(--filter-white);
    height: 35px;
    width: auto;
    align-self: baseline;
}


#bottom_contact .text_center {
	line-height: 1.8;
	margin-bottom: 40px;
}

#bottom_contact .two_in_one {
}

#bottom_contact .two_in_one > div {
	display: flex;
	justify-content: center;
	width: auto;
	margin: 0 30px 15px;
	background: #fff;
	border-radius: 10px;
	min-height: 80px;
}

#bottom_contact  a.tel_box {
    display: inline-block;
    padding: 10px 30px;
    border-radius: 10px;
	width: 350px;
}
#bottom_contact a.tel_box > .text {
	justify-content: center;
	height: 100%;
}

#bottom_contact a.tel_box .number {
	font-size: 35px;
}
#bottom_contact a.tel_box .time {
	font-size: 16px;
}

#bottom_contact  a.contact_box {
	height: 100%;
	width: 350px;
	font-size: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	background: var(--main-color);
	color: #fff;
	font-weight: bold;
	gap: 0 15px;
	border-radius: 10px;
	min-height: 80px;
}

#bottom_contact a.contact_box img {
	height: 30px;
	width: auto;
}

@media (max-width: 767px) {

	#bottom_contact h2 {
		font-size: 25px;
	}

}

/*********************
問い合わせ
*********************/

#contact_contents p {
	text-align: center;
	margin-bottom: 30px;
}

#contact_contents .btn001 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px 0;
}


/*********************
プラポリ
*********************/

#policy_content h2 {
	margin-bottom: 80px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

#policy_content ol {
	margin-bottom: 1rem;
	list-style: decimal;
	margin-left: 1.5em;
}
#policy_content ol > li {
	margin-bottom: 30px;
}

#policy_content ol.lower-roman {
    list-style: lower-roman;
}
#policy_content ol.lower-roman > li {
	margin-bottom: 10px;
}

@media (max-width: 1029px) {

	#policy_content h2 br.sp_only {
		display: block;
	}

}

@media (max-width: 767px) {

	#policy_content h2 {
		font-size: 22px;
	}

}


/* *************************************
// トップページ
************************************* */
.mv001 {
	height: auto;
	background: #fff;
}

.mv001 .mv001_slider,
.mv001 .mv001_slider .slick-list,
.mv001 .mv001_slider .slick-track {
	height: auto;
}
.mv001 .mv001_slider .slick-slide {
	object-fit: cover;
	width: 100%;
	height: calc(100vh - 80px);
	min-height: 400px;
	max-height: 1080px;
}

.mv001 .mv001_slider::after {
	display: none;
}

.mv001 .slick-dots {
	bottom: -30px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding: 0 20px;
}
.mv001 .slick-dots li button:before {
	content: "";
	background: #000;
	border-radius: 100vmax;
	width: 15px;
	height: 15px;
}
.mv001 .slick-dots li.slick-active button:before {
	background: 
}

.scroll_down {
  position:absolute;
  bottom: 30px;
  left: 5%;
  z-index: 5;
}

.scroll_down > .text {
    position: absolute;
    left: 10px;
    bottom: 35px;
    color: var(--text-color);
    font-size: 12px;
    writing-mode: vertical-lr;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.scroll_down:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -5px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background:var(--text-color);
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
  0%{bottom:100px;}
  100%{bottom:0px;}
}

@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}

.scroll_down:after{
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  width:1px;
  height: 100px;
  background:var(--text-color);
}

@media (max-width: 1279px) {
	.mv001 .mv001_slider .slick-slide {
		height: auto;
		aspect-ratio:  3 / 2;
		object-fit: cover;
	}
}

@media (max-width: 767px) {
	.scroll_down {
		display: none;
	}

}



/* 会社概要 */
#top_about {
	position: relative;
	z-index: 0;
	overflow: hidden;
}

#top_about:after {
	content: "";
	width: 40vw;
	height: auto;
	display: block;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--sub-color1);
	position: absolute;
    top: 70%;
    left: 15%;
	transform: translate(-50%, -50%);
	z-index: -1;
	opacity: 0.2;
}

#top_about .title02 img {
	height: 50px;
	width: auto;
	display: block;
	filter: var(--filter-brown);
	opacity: 0.5;
    align-self: center;
}

#top_about .btn001 > a {
    margin-left: 0;;
}

@media (max-width: 1029px) {

	#top_about .image01 {
		width: 90%;
		margin:auto;
	}
}

@media (max-width: 767px) {

	#top_about .title02 {
		display: grid;
		grid-template-columns: 30px 1fr;
		grid-template-rows: auto auto;
		line-height: 1.3;
	}
	#top_about .title02 > img {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
		width: 100%;
		object-fit: contain;
	}
	#top_about .title02 > .jp {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}
	#top_about .title02 > .en {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}

	#top_about .image01 {
		width: 100%;
	}

	#top_about .btn001 > a {
		margin-left: auto;
	}

}

#top_service {
    position: relative;
    z-index: 0;
    padding: 80px 0;
}

#top_service:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--main-gd);
    position: absolute;
    z-index: -1;
}

#top_service .title02 img.deco01 {
    width: auto;
    height: 50px;
	filter: var(--filter-white);
	opacity: 0.5;
}
#top_service .title02 img.deco02 {
    width: auto;
    height: 40px;
	filter: var(--filter-white);
    align-self: center;
	opacity: 0.5;
}

.service_list {
    display: grid;
    grid-template-columns: 100%;
    gap: 40px 0;
}

.service_list > .item {
    width: 100%;
    padding: 40px;
    background: #fff;
    display: grid;
    grid-template-columns: 50% 1fr;
    gap: 40px;
	align-items: center;
	border-radius: 20px;
}
.service_list > .item > div {
    width: 100%;
}

.service_list > .item .title {
    display: flex;
    align-items: baseline;
    gap: 0 20px;
    margin-bottom: 20px;
    font-size: 25px;
    font-weight: bold;
}
.service_list > .item .title .num {
    font-size: 60px;
    line-height: 1;
    font-weight: bold;
    color: var(--main-color);
}

.service_list > .item .btn001 {
    margin-bottom: 0;
}
.service_list > .item .btn001 > a {
}
.service_list > .item .image > img {
    width: 100%;
    display: block;
    background: #ccc;
}

@media (max-width: 1029px) {

	.service_list > .item .title {
		flex-wrap: wrap;
	}
	.service_list > .item .title h3 {
		width: 100%;	
	}
}

@media (max-width: 767px) {

	.service_list > .item {
		grid-template-columns: 100%;
		padding: 20px;
	}
	.service_list > .item .title {
		justify-content: center;
	}
	.service_list > .item .title h3 {
		text-align: center;
	}
	.service_list > .item .btn001 {
		margin-top: 1em;
	}

}

.image01 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 60px;
    align-items: center;
}
.image01 > div {
    width: 100%;
}

.image01 > .image > img {
    width: 100%;
}

@media (max-width: 1029px) {

	.image01 {
		grid-template-columns: 100%;
	}

}


/*レトリューション*/
#top_retolution {
	margin-top: 50px;
	position: relative;
	z-index: 0;
    background: #d493c0;
}
#top_retolution:after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.2;
	background-size: cover;
	background-image: url(../images/retolution/h1.webp);
}


#top_retolution .item {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
	width: 90%;
	margin-inline: auto;
	align-items: flex-end;

}
#top_retolution .item > .text {
	width: 50%;
	padding: 40px 30px;
	padding-right: calc(5% + 30px);
	background: #fff;
}
#top_retolution .item > .text h2 {
	font-size: 25px;
    font-weight: bold;
	line-height: 1.5;
	margin-bottom: 15px;
}
#top_retolution .item > .text h2 span {	
	display: block;
}
#top_retolution .item > .text h2 span:first-child {
	font-size: 20px;
	color: var(--purple-color2);
}
#top_retolution .item > .image {
	width: 55%;
	margin-left: -5%;
	margin-bottom: 50px;
}

#top_retolution .item > .image > img {
	width: 100%;
	display: block;
}

#top_retolution .item > .text .btn001 {
	margin-bottom: 0;
}
#top_retolution .item > .text .btn001 > a {
	background: var(--purple-color2);
}

@media (max-width: 1029px) {
	#top_retolution .item > .text {
		width: 100%;
		text-align: center;
		padding: 30px;
	}
	#top_retolution .item > .image {
		width: 100%;
		margin-left: 0;
		margin-bottom: 0;
	}
}

@media (max-width: 767px) {
	#top_retolution .item > .text {
		padding: 30px 20px;
	}
	#top_retolution .item > .text h2 {
		font-size: 22px;
	}
	#top_retolution .item > .text .detail {
		text-align: left;
	}
}


/*********************
会社概要
*********************/
#company_message .title01 {
	margin-bottom: 50px;
}
#company_message .two_in_one {
	display: grid;
	grid-template-columns: 1fr 170px;
	gap: 15px 60px;
	align-items: center;
}
#company_message .two_in_one > div {
	width: 100%;
}
#company_message .sign {
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 1em;
	font-weight: bold;
}
#company_message .sign > span:nth-child(2) {
	font-size: 120%;
}
#company_message .box {
	position: relative;
	z-index: 0;
	padding: 40px;
}
#company_message .box:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: var(--main-gd);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.1;
	border-radius: 20px;
}
#company_message .box h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	letter-spacing: 1px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}
#company_message .box h3:before {
	content: "";
    height: 40px;
    width: 30px;
    display: block;
	background-image: url(../images/deco/deco04.svg);
	background-size: contain;
	background-repeat: no-repeat;
    filter: var(--filter-brown);
    opacity: 0.5;
    align-self: center;
}
#company_message .box p:last-child {
	margin-bottom: 0;
}


#company_motto .title01 {
	margin-bottom: 50px;
}
#company_motto .box {
	padding: 40px;
	border: 1px solid var(--main-color);
	display: grid;
	place-content: center;
}

ul.motto_list {
	display: grid;
	grid-template-columns: 100%;
	gap: 20px 0;
	font-size: 18px;
	font-weight: bold;
}



#company_profile {
	position: relative;
	z-index: 0;
}
#company_profile:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--main-gd);
    position: absolute;
    z-index: -1;
}

#company_profile .title01 {
	margin-bottom: 50px;
}
#company_profile .title01 .jp,
#company_profile .title01 .en {
	color: #fff;
}

#company_profile .box {
	background: #fff;
	padding: 40px;
	border-radius: 20px;
}

#company_profile table tr th {
	font-weight: bold;
}

#company_profile table tr th,
#company_profile table tr td {
	padding: 20px;
}


#company_access .title01 {
	margin-bottom: 50px;
}

#company_access h3 {
	display: grid;
	grid-template-columns: 100%;
	text-align: center;
	place-content: center;
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 15px;
}

#company_access h3 span {
	padding: 20px;
	margin: 0 auto 10px;
	display: block;
	position: relative;
	z-index: 0;
}
#company_access h3 span:after {
    content: "";
    width: auto;
    height: 100%;
	aspect-ratio: 1;
    display: block;
    background: var(--main-gd);
    position: absolute;
    top: 50%;
    left: 50%;
	transform: translate(-50%, -50%);
    z-index: -1;
    border-radius: 50%;
}

#company_access h3 span > img {
	display: block;
	height: 40px;
	width: auto;
	filter: var(--filter-white);
}

#company_access .three_in_one > .item {
	padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
#company_access .three_in_one > .item:not(:last-child) {
	border-right: 1px solid #ccc;
}

#company_access .three_in_one > .item .bus {
	text-align: center;
}

#company_access ul > li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 10px;
}
#company_access ul > li:before {
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    position: absolute;
	top: 0.5em;	
    left: 0;
    background: var(--main-color);
    border-radius: 50%;
}

.googlemap {
	width: 100%;
	margin-bottom: 30px;
}
.googlemap > iframe {
	width: 100%;
	display: block;
}

#company_history {
	background: #fbf8f4;
}

#company_history .title01 {
	margin-bottom: 50px;
}

@media (max-width: 1029px) {
	#company_access .three_in_one > .item {
		width: 100%;
		display: grid;
		grid-template-columns: 200px 1fr;
		padding: 20px;
		gap: 0 40px;
	}
	#company_access .three_in_one > .item:not(:last-child) {
		border-right: none;
		border-bottom: 1px solid #ccc;
	}

	#company_access .three_in_one > .item .bus {
		text-align: left;
	}

}

@media (max-width: 767px) {
	#company_message .title01 {
		text-align: center;
	}
	#company_message .two_in_one {
		grid-template-columns: 100%;
		margin-bottom: 30px;
	}
	#company_message .image {
		width: 80%;
		margin: auto;
	}
	#company_message .image > img {
		width: 100%;
	}

	#company_message .box {
		padding: 30px 25px;
	}

	#company_motto .box {
		padding: 30px;
	}

	ul.motto_list > li {
		line-height: 1.5;
		font-size: 16px;
	}

	#company_profile .box {
		padding: 30px;
	}

	#company_profile table tr th {
		padding: 10px 20px;
		background: var(--text-color);
		color: #fff;
	}

	#company_profile table tr th,
	#company_profile table tr td {
		border-bottom: none;
	}

	#company_access .three_in_one > .item {
        display: flex;
        justify-content: center;
	}
	#company_access .three_in_one > .item .bus {
		text-align: center;
	}

	#company_history table tr th,
	#company_history table tr td {
		border: none;
	}

	#company_history table tr th {
		font-weight: bold;
		background: var(--text-color);
		color: #fff;
	}
}



/*********************
医療器販売
*********************/

#medical_contents .top_message {
	text-align: center;
	margin-bottom: 50px;
}

@media (max-width: 767px) {

	#medical_contents .top_message {
		text-align: left;
	}

}

.manufacturer {
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 1fr;
	gap: 20px 60px;
	margin-top: 80px;
}
.manufacturer > div {
	width: 100%;
}

.manufacturer .name {
	margin-bottom: 30px;
}
.manufacturer .name img {
	display: block;
	max-width: 100%;
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: left center;
}
.manufacturer.purus .name img {
	width: 230px;
	height: auto;
}

.manufacturer .name span {
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
}
.manufacturer .text {
	margin-bottom: 30px;
}

.manufacturer .btn001 > a {
	margin-left: 0;
	line-height: 1;
	align-items: center;
	font-weight: bold;
    padding: 1em 3em;
}
.manufacturer .btn001 > a > img {
	filter: var(--filter-white);
	width: 18px;
	height: 20px;
	display: block;
}

@media (max-width: 767px) {

	.manufacturer {
		grid-template-columns: 100%;
	}

	.manufacturer .btn001 > a {
		margin-left: auto;
	}
}


.manufacturer_products {
	padding: 30px;
	position: relative;
	z-index: 0;
	margin: 50px 0 80px;
}

.manufacturer_products:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    aspect-ratio: 1;
    border-radius: 20px;
    background: var(--sub-color1);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    opacity: 0.1;
}

.manufacturer_products h4 {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 15px;
}


.manufacturer_products h4 img {
    height: 40px;
    width: auto;
    display: block;
    filter: var(--filter-brown);
    opacity: 0.5;
    align-self: center;
}
.manufacturer_products >.two_in_one {
	gap: 30px 60px;
}
.manufacturer_products >.two_in_one > div {
	width: calc(50% - 30px);
}

.manufacturer_products a {
	color: var(--text-color);
	font-weight: bold;
	text-align: center;
	transition: all 0.5s;
}
.manufacturer_products a:hover {
	opacity: 0.6;
}

.manufacturer_products a img {
	width: 100%;
	height: auto;
	display: block;
}

.manufacturer_products .name {
	font-size: 20px;
	margin: 0.5em;
}

.manufacturer_products .btn {
	background: var(--main-color);
    color: #fff;
    text-decoration: none;
    padding: 10px 40px;
    border-radius: 100vmax;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    line-height: 1;
    width: 220px;
    font-size: 14px;
    margin: 0 auto;
    transition: opacity 0.5s;
	margin-top: 0.5em;
}
.manufacturer_products .btn:after {
    content: "";
    display: block;
    width: 0.4em;
    height: 0.5em;
    background: #fff;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

@media (max-width: 1029px) {
	.manufacturer_products .name {
		font-size: 16px;
		margin: 0.5em 0;
	}
}

@media (max-width: 767px) {
	
	.manufacturer_products >.two_in_one {
		gap: 30px 0;
	}
	.manufacturer_products >.two_in_one > div {
		width: 100%;
	}


}

/*********************
ソリューションウォーター
*********************/

#water_about .two_in_one {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 20px 40px;
	align-items: center;
}
#water_about .two_in_one > div {
	width: 100%;
}

#water_about h3 {
	font-weight: bold;
	margin-bottom: 15px;
	font-size: 25px;
	color: var(--main-color);
}

#water_about .btn001 > a {
	margin-left: 0;
}

@media (max-width: 767px) {
	#water_about .two_in_one {
		grid-template-columns: 100%;
	}
	#water_about h3 {
		text-align: center;
		font-size: 20px;
	}
	#water_about .btn001 > a {
		margin-left: auto;
	}
}

#water_features {
	position: relative;
	z-index: 0;
}
#water_features:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--main-gd);
    position: absolute;
    z-index: -1;
	opacity: 0.1;
}

#water_features .features {
	margin-top: 80px;
}



ol.num01 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px 60px;
}
ol.num01.five {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 20px;
}
ol.num01.two {
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

ol.num01 > li {
	width: 100%;
	padding: 20px 0;
	border-radius: 20px;
}

ol.num01 > li .image {
	background: var(--main-color);
	aspect-ratio: 1;
	border-radius: 50%;
	margin: 0 auto 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	width: 120px;
}

ol.num01 > li img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	display: block;
	object-fit: contain;
	filter: var(--filter-white);
}
ol.num01 > li .text {
	display: flex;
    font-size: 22px;
	justify-content: center;
	align-items: baseline;
	gap: 0 10px;
	font-weight: bold;
}
ol.num01 > li .text .num {
	font-size: 140%;
	color: var(--main-color);
}

ol.num01 > li .detail {
	text-align: center;
	font-size: 14px;
}

@media (max-width: 1029px) {
	ol.num01 {
		grid-template-columns: 1fr 1fr;
	}
	ol.num01.five {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}
	ol.num01.five > li {
		width: 33.3333%;
	}

}
@media (max-width: 767px) {
	ol.num01,
	ol.num01.two,
	ol.num01.five {
		grid-template-columns: 100%;
	}
	.features {
		max-width: 350px;
		width: 95%;
		margin: auto;
	}

	.features ol.num01 > li {
		width: 100%;
		display: grid;
		grid-template-columns: 120px 1fr;
		gap: 0 20px;
		align-items: center;
	}
	.features ol.num01 > li .image {
		margin: 0;
	}
	.features ol.num01 > li .text {
		justify-content: flex-start;
	}
	.features ol.num01 > li .detail {
		text-align: left;
	}
}


.features_image {
	margin-top: 50px;
}

#water_detail .image {
	margin-top: 50px;
}

#water_case .fukidashi01 {
	margin-top: 80px;
}

#water_case .four_in_one {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
	margin-bottom: 80px;
}
#water_case .four_in_one > div {
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}

#water_case .four_in_one .image > img {
	display: block;
	width: 100%;
}

#water_case .voice {
	display: grid;
	place-content: center;
}

@media (max-width: 1029px) {
	#water_case .four_in_one {
		grid-template-columns: 1fr 1fr;
	}

}

@media (max-width: 767px) {

	#water_case .four_in_one {
		grid-template-columns: 100%;
	}

}

ol.num02 {
	display: grid;
	grid-template-columns: 100%;
	gap: 40px 0;
}

ol.num02 > li {
	width: 100%;
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 15px 40px;
	align-items: center;
}

ol.num02 > li .image {
	width: 100%;
	max-width: 150px;
	padding: 25px;
    background: var(--main-color);
    aspect-ratio: 1;
    border-radius: 50%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
ol.num02 > li .image > img {
	width: 100%;
	filter: var(--filter-white);
}
ol.num02 > li .inner {
	width: 100%;
}

ol.num02 > li .text {
	font-size: 25px;
	font-weight: bold;
	color: var(--main-color);
	display: inline-block;
	border-bottom: 1px solid var(--text-color);
	margin-bottom: 15px;
}

ol.num02 > li ul {
	list-style: disc;
	margin-left: 1.5em;
}

@media (max-width: 767px) {

	ol.num02 > li {
		grid-template-columns: 100%;
	}
	ol.num02 > li .image {
		margin: auto;
	}

	ol.num02 > li .text {
		display: table;
		margin: 0 auto 15px;
		font-size:  20px;
	}

}


/*********************
レトリューション
*********************/
.page_retolution .hl002 {
	background-image: url(../images/retolution/h1.webp);
}
.page_retolution .hl002:before {
	background: var(--purple-color2);
}

.page_retolution .btn001 > a {
	background: var(--purple-color2);
}

.page_retolution .title03:before {
	background: var(--purple-color2);
}


.page_retolution ol.num01 > li .image {
	background: var(--purple-color2);
}


#retolution_about > .wrap {
	width: 100%;
	max-width: 1600px;
}

#retolution_about .two_in_one {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 60px;
	align-items: center;
}
#retolution_about .two_in_one > div {
	width: 100%;
}
#retolution_about .two_in_one > div.left > .inner {
	width: 80%;
	margin: auto;
}

#retolution_about .logo > img {
	width: 100%;
	height: auto;
	display: block;
}

#retolution_about .two_in_one > div.right img {
	display: block;
	width: 100%;
}

#retolution_about h2 {
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 30px;
	color: var(--purple-color2);
	display: inline-block;
	padding: 5px;
	border-bottom: 1px solid var(--purple-color2);
}

#retolution_about .btn001 {
	margin-bottom: 0;
}

@media (max-width: 1029px) {

	#retolution_about .two_in_one {
		grid-template-columns: 100%;
	}

}

@media (max-width: 767px) {

	#retolution_about .two_in_one > div.left > .inner {
		width: 90%;
	}
	#retolution_about h2 {
		display: table;
		margin: 10px auto 30px;
	}
}


#retolution_features {
	position: relative;
	z-index: 0;
}
#retolution_features:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0px;
    left: 0px;
    right: 0px;
    position: absolute;
    z-index: -1;
    background: var(--purple-color2);	
	opacity: 0.1
}


#retolution_spac .two_in_one {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 60px;
	align-items: center;
}
#retolution_spac .two_in_one > div {
	width: 100%;
}

#retolution_spac ol.num01 > li .text {
	font-size: 35px;
}
#retolution_spac ol.num01 > li .detail {
	font-size: 16px;
}

.bnr_wrap {
	margin-top: 50px;
	display: table;
	margin-inline: auto;
}

@media (max-width: 1029px) {
	#retolution_spac .two_in_one {
		grid-template-columns: 100%;
	}

	#retolution_spac .two_in_one > div {
		width: 80%;
		margin: auto;
	}
}

#retolusion_contact {
	position: relative;
	z-index: 0;
}
#retolusion_contact:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    bottom: 0px;
    left: 0px;
    right: 0px;
    position: absolute;
    z-index: -1;
    background: var(--purple-color2);	
	opacity: 0.1
}

.page_retolution ol.num01 > li {
	background: transparent;
}

#retolusion_contact .title03 {
	text-align: center;
}

#retolusion_contact .contact {
	display: grid;
	grid-template-columns: 60% 1fr;
	grid-template-rows: auto auto;
	gap: 20px 30px;
}


#retolusion_contact .box {
	width: 100%;
	background: #fff;
	padding: 20px 30px;
	color: var(--text-color);
}

#retolusion_contact .box.company {
	grid-row: 1 / 3;
	grid-column: 1 / 2;
	padding: 20px 40px 30px;
}

#retolusion_contact .box.company h2 {
	font-size: 20px;
	margin-bottom: 10px;
	font-weight: bold;
}

#retolusion_contact .box.tel {
	grid-row: 1 / 2;
	grid-column: 2 / 3;
}
#retolusion_contact .box.fax {
	grid-row: 2 / 3;
	grid-column: 2 / 3;
}
#retolusion_contact .box.tel,
#retolusion_contact .box.fax {
	display: flex;
	gap: 0 20px;
	align-items: center;
	justify-content: center;
}
#retolusion_contact .box.tel > .icon,
#retolusion_contact .box.fax > .icon {
	grid-row: 1 / 3;
	grid-column: 1 / 2;
	align-self: center;
	background: var(--purple-color2);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#retolusion_contact .contact .icon > img {
	filter: var(--filter-white);
    width: 30px;
    height: 30px;
    object-fit: contain;
	display: block;
}

#retolusion_contact .box.tel h2,
#retolusion_contact .box.fax h2 {
	font-weight: bold;
}

#retolusion_contact table {
	width: 100%;
	text-align: left;
}
#retolusion_contact table tr th,
#retolusion_contact table tr td {
	padding: 5px 15px;
	border-bottom: 1px solid #ccc;
}

#retolusion_contact table tr th {
	border-color: var(--purple-color2);
	color:  var(--purple-color2);
	vertical-align: middle;
	font-weight: bold;
}

#retolusion_contact .contact .tel_box,
#retolusion_contact .contact .fax_box  {

	line-height: 1.2;
}
#retolusion_contact .contact .tel_box .number,
#retolusion_contact .contact .fax_box .number  {
	font-size: 30px;
	font-weight: bold;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    display: flex;
    align-items: center;
	margin-top: 10px;
}

@media (max-width: 1029px) {
	#retolusion_contact .contact {
		display: flex;
		flex-direction: column;
		max-width: 600px;
		margin: auto;
	}

}

@media (max-width: 767px) {
	#retolusion_contact .box.company {
		padding: 30px;
	}
	#retolusion_contact table tr th {
		background: var(--purple-color2);
		color: #fff;
	}
	#retolusion_contact table tr td {
		padding: 15px;
		border: none;
	}

}


/*********************
福祉器具レンタル・販売
*********************/

#walfare_contents .title03 {
	margin-top: 80px;
}


#walfare_contents > .inner > *:first-child {
	margin-top: 0;
}
.rental_list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.rental_list > .item {
	width: 100%;
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 15px 40px;
	border: 1px solid #ccc;
	padding: 30px;
	align-items: center;
}

.rental_list > .item .image {
	width: 100%;
}

.rental_list > .item .image > img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	display: block;
}

.rental_list > .item h3 {
	font-size: 20px;
	font-weight: bold;
	padding: 0 10px;
	margin-bottom: 15px;
}

.rental_list > .item table {
	width: 100%;
}
.rental_list > .item table tr th {
	padding: 10px;
	border: 1px solid #ccc;
	width: 160px;
	line-height: 1.5;
	background: #ecf5fd;
}
.rental_list > .item table tr td {
	padding: 10px;
	border: 1px solid #ccc;
	text-align: right;
	line-height: 1.5;
}

@media (max-width: 1029px) {
	.rental_list {
		grid-template-columns: 100%;
		max-width: 600px;
		width: 100%;
		margin-inline: auto;
	}

}

@media (max-width: 767px) {

	.rental_list > .item {
		grid-template-columns: 100%;
	}
	.rental_list > .item .image {
		max-width: 100%;

	}
	.rental_list > .item .image > img {
		width: 100%;
		height: 150px;
		margin-inline: auto;
	}

	.rental_list > .item h3 {
		text-align: center;
	}
}

table.table01 {
	width: 100%;
}
table.table01 tr th {
	padding: 15px;
	border: 1px solid #ccc;
	width: 50%;
	background: #ecf5fd;
}
table.table01 tr td {
	padding: 15px;
	border: 1px solid #ccc;
	width: 50%;
	text-align: right;
}

@media (max-width: 767px) {
	#walfare_contents table.table01 tr th,
	#walfare_contents table.table01 tr td {
		width: 100%;
		display: block;
	}

}



.welfare_product_list {
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
.welfare_product_list > div {
	width: 100%;
    width: 100%;
    border: 1px solid #ccc;
    padding: 30px;
    align-items: center;
}

.welfare_product_list h3 {
    font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}


@media (max-width: 1029px) {
	.welfare_product_list {
		grid-template-columns: 100%;
		max-width: 600px;
		width: 100%;
		margin-inline: auto;
	}
}

@media (max-width: 767px) {
	.welfare_product_list {
		gap: 15px;
	}
	.welfare_product_list > div {
		padding: 20px 20px;
	}

}

@media (max-width: 767px) {

	#walfare_contents ul.slash {
		display: table;
		margin-inline: auto;
	}
	#walfare_contents ul.slash > li {
		width: 100%;
		position: relative;
		padding-left: 1em;
	}
	#walfare_contents ul.slash > li:before {
		content: "";
		display: block;
		width: 0.5em;
		height: 0.5em;
		border-radius: 50%;
		background: var(--main-color);
		position: absolute;
        top: 0.5em;
		left: 0;
	}
	ul.slash > li:not(:last-child):after {
		display: none;
	}

}