@charset "UTF-8";
html {
	font-size: 62.5%;
}
body {
	min-width: 1008px;
	font-size: 15px;
	font-size: 1.5rem;
	font-family: "游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif;
	line-height: 1.7;
	font-weight: 500;
	color: #2b322d;
}
table {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
}
p, h1, h2, h3, h4, h5, h6, ul, li, ol, dl, dt, dd, figure {
	margin: 0;
	padding: 0;
}
ul, li, ol, dl, dt, dd {
	list-style: none;
}
a {
	color: #3eb1e6;
}
a:hover {
	text-decoration: none;
}
strong {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23f9f140" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 100% 0.6em;
	background-repeat: no-repeat;
}
figure {
	margin-block: 0em;
	margin-inline: 0em;
}
img {
	margin: 0;
	vertical-align: middle;
	border: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	body {
		image-rendering: -webkit-optimize-contrast;
	}
}
header {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23f9f140" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: top 0 left 0;
	background-size: 36% auto;
	background-repeat: no-repeat;
}
header .hdr_box {
	display: flex;
	justify-content: space-between;
	width: 1100px;
	padding: 24px 0 240px;
	margin: 0 auto;
}
header .hdr_box .hdr_box_logo {
	width: 288px;
}
header .hdr_box .hdr_box_logo a {
	display: block;
	width: 100%;
	height: 100%;
}
header .hdr_box .hdr_box_logo a:hover {
	opacity: 0.7;
}
header .hdr_box .hdr_box_logo img {
	width: 100%;
	height: auto;
}
header .hdr_contact {
	width: 42%;
	display: flex;
}
header .hdr_contact .tel {
	margin: 0 16px 0 0;
}
header .hdr_contact .tel a {
	display: block;
	padding: 8px 0 0;
	text-align: right;
}
header .hdr_contact .tel a:hover {
	opacity: 0.7;
}
header .hdr_contact .tel img {
	width: 100%;
	height: auto;
}
header .hdr_contact .mail {
	position: relative;
}
header .hdr_contact .mail a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 28px 36px;
	box-sizing: border-box;
	text-indent: -7777px;
	overflow: hidden;
	background-color: #5fad83;
	background-image: url(../img/mail_header.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 38px auto;
}
header .hdr_contact .mail a:hover {
	background-color: #6ec897;
}
nav {
}
nav ul {
	display: flex;
	flex-flow: nowrap;
}
nav li {
	margin-right: 16px;
}
nav li a {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 14px 0 0;
	text-align: center;
	color: #2b322d;
	text-decoration: none;
	background-size: 0 3px;
	background-position: left 0 bottom 14px;
	transition: all 0.2s ease;
}
nav li a:hover,
nav li.current a {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23e23d56" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: left 0 bottom 14px;
	background-repeat: no-repeat;
	background-size: 100% 3px;
	transition: all 0.2s ease;
}
nav li.contact {
	position: relative;
	margin-right: 0;
	background-color: #f9f140;
	transition: all 0.2s ease;
}
nav li.contact:hover {
	background-color: #fff971;
	transition: all 0.2s ease;
}
nav li.contact::after {
	content: '';
	display: block;
	width: 54px;
	height: 50px;
	box-sizing: border-box;
	position: absolute;
	top: -19px;
	right: -23px;
	background: url('../img/ico_mail.svg') 0 0/100% auto no-repeat;
	transform: rotate(0);
	transition: all 0.2s ease;
}
nav li.contact:hover::after {
	transform: rotate(-5deg);
}
nav li.contact a {
	box-sizing: border-box;
	padding: 14px 26px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%233eb1e6" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 100% 3px;
	background-repeat: no-repeat;
}
nav li.contact a span {
	display: none;
}
.mainimg {
	position: relative;
	width: calc(100% - (50% - 550px));
	aspect-ratio: 1 / 0.2352;
	margin-top: -216px;
	margin-left: calc(50% - 550px);
	margin-bottom: 72px;
}
.mainimg::before {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1 / 0.2391;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	background: url('../img/mainimage_frame.svg') 0 0/100% auto no-repeat;
	z-index: 1;
}
.mainimg h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-0.05deg);
	color: #e23d56;
	font-size: 5.2rem;
	z-index: 1;
}
.mainimg .mainimg_box {
	position: relative;
	mask-image: url("../img/mainimage_mask.svg");
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: 100%;
	overflow: hidden;
}
.mainimg .mainimg_box img.maskimg {
	width: 100%;
	aspect-ratio: 1 / 0.2390;
}
.wrapper {
}
.wrapper .content {
}
.wrapper .content main {
}
.contactmenu {
	margin: 110px 0 110px;
}
.contactmenu ul {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
.contactmenu ul li {
	position: relative;
	width: calc(50% - 8px);
	aspect-ratio: 1 / 0.3179;
	background-position: top 0 left 0;
	background-size: 100% auto;
	background-repeat: no-repeat;
	transition: all 0.2s ease;
}
.contactmenu ul li:hover {
	opacity: 0.9;
	transition: all 0.2s ease;
}
.contactmenu ul li.company {
	background-image: url(../img/bg_menu1.png);
}
.contactmenu ul li.group {
	background-image: url(../img/bg_menu2.png);
}
.contactmenu ul li a {
	display: block;
	aspect-ratio: 1 / 0.1037;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	box-sizing: border-box;
	text-indent: -7777px;
	box-sizing: border-box;
	background-size: auto 56px;
	background-repeat: no-repeat;
	transition: all 0.2s ease;
}
.contactmenu ul li.company a {
	width: calc(100% - 2px);
	background-position: top 43% right -4px;
	background-image: url(../img/txt_menu1.png);
}
.contactmenu ul li.group a {
	width: calc(100% - 2px);
	margin-left: 2px;
	background-position: top 43% left -4px;
	background-image: url(../img/txt_menu2.png);
}
.contactmenu ul li.company:hover a {
	background-position: top 43% right 0;
}
.contactmenu ul li.group:hover a {
	background-position: top 43% left 0;
}
footer {
	padding: 48px 0 44px;
	background: #f9f140;
}
footer .ftr_nav {margin-bottom: 80px;}
footer .ftr_nav ul {
	text-align: center;
	font-size: 0;
}
footer .ftr_nav li {
	display: inline-block;
	padding: 0 16px;
	font-size: 1.5rem;
}
footer .ftr_nav a {
	padding-bottom: 2px;
	color: #2b322d;
	text-decoration: none;
	background-size: 0 3px;
	background-position: left 0 bottom 0;
	transition: all 0.2s ease;
}
footer .ftr_nav a:hover,
footer .ftr_nav li.current a {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23e23d56" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: left 0 bottom 0;
	background-repeat: no-repeat;
	background-size: 100% 3px;
	transition: all 0.2s ease;
}
footer .ftr_box {
	width: 1100px;
	margin: 0 auto;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
footer .ftr_box .cinfo {
	width: 384px;
}
footer .ftr_box .cinfo .logo {
	padding-bottom: 24px;
	border-bottom: 2px solid #444745;
}
footer .ftr_box .cinfo .logo a:hover {
	opacity: 0.7;
}
footer .ftr_box .cinfo .logo img {
	width: 288px;
	height: auto;
}
footer .ftr_box .cinfo address {
	padding-top: 24px;
	padding-bottom: 24px;
	font-style: normal;
	line-height: 1.5;
	border-bottom: 2px solid #444745;
}
footer .ftr_box .cinfo address ul {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
footer .ftr_box .cinfo address ul li {
	padding-left: 20px;
	box-sizing: border-box;
	background-position: top 0 left 0;
	background-size: auto 90%;
	background-repeat: no-repeat;
}
footer .ftr_box .cinfo address ul li.map {
	width: 100%;
	background-image: url(../img/ico_footer-map.png);
}
footer .ftr_box .cinfo address ul li.tel {
	width: 50%;
	background-image: url(../img/ico_footer-tel.png);
}
footer .ftr_box .cinfo address ul li.fax {
	width: 50%;
	background-image: url(../img/ico_footer-fax.png);
}
footer .ftr_box .cmap {
	width: 374px;
	box-sizing: border-box;
	border: 2px solid #444745;
}
footer .ftr_box .cmap iframe {
	width: 100%;
	height: 100%;
}
footer .ftr_box .area {
	position: relative;
	width: 310px;
	padding: 16px 22px;
	box-sizing: border-box;
	border: 2px solid #444745;
}
footer .ftr_box .area .area2 {
	width: 286px;
	height: 162px;
	box-sizing: border-box;
	position: absolute;
	bottom: -34px;
	right: 0;
	background: url('../img/ico_area.png') 0 0/100% auto no-repeat;
}
footer .ftr_box .area .area2 p {
	padding: 48px 0 0 28px;
	line-height: 1.4;
}
footer .ftr_box .area h2 {
	font-size: 1.7rem;
}
footer .ftr_box .copy {
	width: 100%;
	margin-top: 80px;
	text-align: center;
}
section {
	margin: 0 0 32px;
}
section h2 {
	margin: 0 0 16px;
}
section .sec_content {
}
section .sec_content h3 {
	margin: 0 0 16px;
}
section .sec_content p,
section .sec_content ul,
section .sec_content ol,
section .sec_content dl {
	margin-bottom: 16px;
}
section .sec_content img {
}
section .sec_content table {
	width: 100%;
}
section .sec_content table caption {
	padding: 8px;
	font-size: 1.7rem;
	font-weight: bold;
	background-color: #b6b3b8;
}
section .sec_content table th,
section .sec_content table td {
}
section .sec_content table th {
}
body {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.m-plus-1p-regular,
footer .ftr_box .cinfo address,
footer .ftr_box .area p,
#index .s1 p,
#index .s2 p,
#index .s3 .inner p,
#business .s1 p,
#business .s2 p,
#works .s1 p,
#recruit .s1 p,
#recruit .s2 dl dd,
#recruit .s2 .staff figure figcaption,
#recruit .s3 ol li span,
#recruit .s4 table td,
#recruit .s4 .yokotext p,
#company .s1 p,
#company .s1 figcaption span,
#company .s2 p,
section table.gaiyo tr td,
#company .s3 p,
#company .s3 .more a,
#group .s1 p {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-style: normal;
	rotate :0.05deg;
}
.m-plus-1p-bold,
nav li a,
footer .ftr_nav li,
footer .ftr_box .area h2,
footer .ftr_box .copy,
#business .s2 .comment p,
#works .s2 ul li figure figcaption,
#works .s2 .comment p,
#recruit .s2 dl dt,
#recruit .s2 .staff figure figcaption span,
#recruit .s3 p,
#recruit .s4 h3 span,
#recruit .s4 h3 span small,
#recruit .s4 table th,
#company .s1 figcaption,
section table.gaiyo tr th {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-style: normal;
	rotate :0.05deg;
}
.m-plus-1p-black,
.mainimg h1,
#index .mainimg .catch,
#index .s1 h2,
#index .s2 h2,
#index .s3 .inner h2,
#business .s1 h2,
#business .s2 h3,
#works .s1 ul li a,
#works .s2 h2,
#recruit .s1 h2,
#recruit .s2 h2,
#recruit .s3 h2,
#recruit .s4 h2,
#recruit .s5 h2,
#company .s1 h2,
#company .s2 h2,
#company .s2 h3,
#company .s3 h2,
#company .s3 h3,
#group .s2 h2 {
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 900;
	font-style: normal;
	rotate :0.05deg;
}
#index .mainimg {
	aspect-ratio: 1 / 0.657;
}
#index .mainimg .catch {
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translateY(-50%);
	font-size: 6.0rem;
	color: #e23d56;
	line-height: 1.2;
	z-index: 10;
}
#index .mainimg .catch span {
	display: block;
}
#index .mainimg .catch span:nth-of-type(2) {
	margin-left: 3em;
}
#index .mainimg .icon {
	position: absolute;
	left: -46px;
	bottom: -96px;
	z-index: 10;
	animation: rotate-center 50s linear infinite both;
}
@keyframes rotate-center {
	0% {
		transform: rotate(0);
	}
	100% {
		transform: rotate(360deg);
	}
}
#index .mainimg::before {
	aspect-ratio: 1 / 0.657;
	background: url('../img/index/mainimage_frame.svg') 0 0/100% auto no-repeat;
}
#index .mainimg .mainimg_box {
	mask-image: url("../img/index/mainimage_mask.svg");
}
#index .mainimg .mainimg_box img.maskimg {
	aspect-ratio: 1 / 0.6563;
	animation: imgZoom1 10s ease-in-out infinite;
}
@keyframes imgZoom1 {
	100% {
		transform:scale(1.1)
	}
}
#index .s1 {
	position: relative;
	padding: 64px;
	background: url(../img/index/bg_intro.jpg) top 50% left 0/cover no-repeat;
}
#index .s1 .icon2 {
	position: absolute;
	bottom: -90px;
	right: calc(calc(50% - 550px) - 100px);
	width: 200px;
	height: 167px;
	offset-path: path("M0.1000,4.000 C2.872,-0.098 9.750,-0.300 12.1000,1.1000 C16.250,4.300 18.750,8.450 23.000,10.000 C27.250,11.550 33.114,8.765 37.000,11.000 C41.000,13.300 42.000,17.950 40.000,20.1000 C38.000,24.050 23.1000,24.200 15.000,19.1000 C5.1000,15.800 -1.201,8.819 0.1000,4.000 Z");
	offset-rotate: 0deg;
	animation: iconAnime 20s ease infinite;
}
@keyframes iconAnime {
	to {
		offset-distance: 100%;
	}
}
#index .s1 .sec_content {
	width: 700px;
	margin: 0 auto;
}
#index .s1 h2 {
	font-size: 5.0rem;
	text-align: center;
}
#index .s1 p {
	font-size: 2.0rem;
}
#index .s2 {
	margin-bottom: 104px;
}
#index .s2 .menu1,
#index .s2 .menu2 {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23f9f8e4" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 100% 80%;
	background-repeat: no-repeat;
}
#index .s2 .menu1 .menu_inner,
#index .s2 .menu2 .menu_inner {
	position: relative;
	padding: 32px 0;
}
#index .s2 .menu1 .menu_inner::after,
#index .s2 .menu2 .menu_inner::after {
	content: '';
	display: block;
	width: 50%;
	aspect-ratio: 1 / 0.506;
	box-sizing: border-box;
	position: absolute;
}
#index .s2 .menu1 .menu_inner::after {
	top: 0;
	right: 0;
	background: url(../img/index/img_menu1.png) top 0 right 0/100% auto no-repeat;
}
#index .s2 .menu2 .menu_inner::after {
	top: 0;
	left: 0;
	background: url(../img/index/img_menu2.png) top 0 right 0/100% auto no-repeat;
}
#index .s2 .menu_inner h2 {
	margin-left: calc(50% - 550px);
	font-size: 4.4rem;
}
#index .s2 .menu_inner p {
	max-width: 520px;
	margin-left: calc(50% - 550px);
	margin-bottom: 32px;
	font-size: 2.0rem;
}
#index .s2 .menu2 .menu_inner h2 {
	margin-left: calc(50% + 32px);
}
#index .s2 .menu2 .menu_inner p {
	margin-left: calc(50% + 32px);
}
#index .s2 .menu_inner p.more {
	font-size: 2.0rem;
	text-align: right;
}
#index .s2 .menu_inner p.more a {
	padding-right: 36px;
	background: url(../img/arr01.svg) top 56% right 4px/auto 70% no-repeat;
	transition: all 0.2s ease;
}
#index .s2 .menu_inner p.more a:hover {
	background-position: top 56% right 0;
}
#index .s3 {
	position: relative;
	overflow: hidden;
	background: url(../img/index/bg_recruit.jpg) 0 0/cover no-repeat;
}
#index .s3 .inner {
	padding: 260px 0 72px;
	margin: 0 auto;
}
#index .s3 .inner h2 {
	position: relative;
	width: 660px;
	padding-left: 32px;
	margin-left: calc(calc(50% - 550px) + 220px);
	box-sizing: border-box;
	font-size: 6.0rem;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23f9f140" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 100% 60%;
	background-repeat: no-repeat;
}
#index .s3 .inner h2 .fadein {
	content: '';
	display: block;
	width: 115px;
	aspect-ratio: 1 / 1.672;
	box-sizing: border-box;
	position: absolute;
	bottom: 60px;
	left: 8px;
	background: url('../img/index/icon_recruit.svg') 0 0/100% auto no-repeat;
	z-index: -1;
}
#index .s3 .inner h2 .fadein.isAnimated {
	animation: fadein 1.5s ease-in-out forwards;
}
@keyframes fadein {
	from {
		opacity: 0;
		left: 100px;
	}
	to {
		opacity: 1;
		left: 8px;
	}
}
#index .s3 .inner p {
	width: 530px;
	margin-left: calc(calc(50% - 550px) + 260px);
	font-size: 2.0rem;
	color: #fff;
}
#index .s3 .inner p.more {
	text-align: right;
}
#index .s3 .inner p.more a {
	padding-right: 32px;
	color: #f9f140;
	background: url(../img/arr02.svg) top 50% right 4px/auto 60% no-repeat;
	transition: all 0.2s ease;
}
#index .s3 .inner p.more a:hover {
	background-position: top 50% right 0;
	transition: all 0.2s ease;
}
#business .s1 {
	width: 1100px;
	margin: 0 auto 112px;
}
#business .s1 h2 {
	font-size: 5.0rem;
	text-align: center;
}
#business .s1 p {
	padding: 0 220px;
	font-size: 2.0rem;
}
#business .s2 {
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23dff0f3" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: top 40% left 0;
	background-size: 100% 40%;
	background-repeat: no-repeat;
}
#business .s2 .sec_content {
	position: relative;
	width: calc(100% - calc(50% - 550px));
	padding-bottom: 112px;
	padding-left: calc(50% - 550px);
	padding-right: 140px;
	box-sizing: border-box;
	border: 2px solid #444745;
	border-width: 2px 2px 2px 0;
	border-radius: 0 40px 40px 0;
	background: #f9f8e4 url(../img/dash01.png) top 64px left 0/auto 6px repeat-x;
}
#business .s2 .sec_content.toilet {
	margin-bottom: 100px;
}
#business .s2 .sec_content.kakoi {
	padding-left: 140px;
	padding-right: calc(50% - 550px);
	margin-left: auto;
	margin-bottom: 56px;
	border-width: 2px 0 2px 2px;
	border-radius: 40px 0 0 40px;
}
#business .s2 .sec_content::after {
	content: '';
	display: block;
	width: calc(100% - 1100px);
	height: 6px;
	box-sizing: border-box;
	position: absolute;
	top: 64px;
	left: 100%;);
	background: url('../img/dash02.png') top 0 left 0/auto 6px repeat-x;
}
#business .s2 .sec_content.kakoi::after {
	left: calc((100% - 1100px) * -1);
}
#business .s2 h3 {
	position: relative;
	margin-top: -34px;
	margin-bottom: 64px;
	font-size: 4.0rem;
	-webkit-text-stroke: 18px #f9f8e4;
	text-stroke: 18px #f9f8e4;
	paint-order: stroke;
}
#business .s2 h3::after {
	content: '';
	display: block;
	width: 186px;
	height: 236px;
	box-sizing: border-box;
	position: absolute;
	top: -72px;
	right: calc(50% - 520px);
	background: url('../img/business/ico_toilet.png') 0 0/100% auto no-repeat;
}
#business .s2 .sec_content.kakoi h3::after {
	width: 222px;
	height: 221px;
	top: -32px;
	object-fit: cover;
	background-image: url('../img/business/ico_kakoi.png');
}
#business .s2 p {
	margin-bottom: 56px;
	font-size: 1.8rem;
}
#business .s2 ul {
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start;
}
#business .s2 ul li {
	width: calc(calc(100% - 32px) / 3);
	margin-right: 16px;
}
#business .s2 ul li:nth-child(3n) {
	margin-right: 0;
}
#business .s2 ul li figure img {
	width: 100%;
	height: auto;
}
#business .s2 .toilet .icon2 {
	position: absolute;
	bottom: -10%;
	right: -4%;
}
#business .s2 .comment {
	position: relative;
	width: 70%;
	padding: 32px 40px 40px;
	margin-left: calc(50% - 550px);
	box-sizing: border-box;
	border-radius: 40px;
	background: #dff0f3;
}
#business .s2 .comment::after {
	content: '';
	display: block;
	width: 139px;
	height: 151px;
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	right: -139px;
	translate: 0 -55%;
	background: url('../img/business/ico_comment.png') 0 0/100% auto no-repeat;
}
#business .s2 .comment p {
	margin: 0;
	font-size: 2.2rem;
}
#works .s1 {
	margin-bottom: 112px;
}
#works .s1 p {
	width: 1100px;
	margin: 0 auto 56px;
	padding: 0 220px;
	box-sizing: border-box;
	font-size: 2.0rem;
}
#works .s1 ul {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#works .s1 ul li {
	position: relative;
	width: calc(50% - 8px);
	box-sizing: border-box;
	border: 2px solid #444745;
	background-color: #379ccb;
	transition: all 0.2s ease;
}
#works .s1 ul li:hover {
	background-color: #46a9d8;
	transition: all 0.2s ease;
}
#works .s1 ul li:first-of-type {
	border-left-width: 0;
	border-radius: 0 40px 40px 0;
}
#works .s1 ul li:nth-of-type(2) {
	border-right-width: 0;
	border-radius: 40px 0 0 40px;
}
#works .s1 ul li::after {
	content: '';
	display: block;
	box-sizing: border-box;
	position: absolute;
	background: top 0 left 0/100% auto no-repeat
}
#works .s1 ul li:first-of-type::after {
	width: 186px;
	aspect-ratio: 1 / 1.274;
	top: -48px;
	left: calc(100% - 550px);
	background-image: url('../img/works/ico_toilet.png');
}
#works .s1 ul li:nth-of-type(2)::after {
	width: 222px;
	aspect-ratio: 1 / 0.995;
	bottom: -44px;
	right: calc(100% - 550px);
	background-image: url('../img/works/ico_kakoi.png');
}
#works .s1 ul li a {
	display: block;
	padding: 32px 0;
	color: #fff;
	font-size: 4.0rem;
	text-decoration: none;
	transition: all 0.2s ease;
}
#works .s1 ul li:first-of-type a {
	padding-right: 54px;
	text-align: right;
}
#works .s1 ul li:nth-of-type(2) a {
	padding-left: 54px;
}
#works .s1 ul li:first-of-type:hover a {
	padding-right: 58px;
	transition: all 0.2s ease;
}
#works .s1 ul li:nth-of-type(2):hover a {
	padding-left: 58px;
	transition: all 0.2s ease;
}
#works .s2 .sec_content:first-of-type {
	margin-bottom: 80px;
}
#works .s2 h2 {
	margin-bottom: 48px;
	font-size: 4.0rem;
	text-align: center;
	background: url(../img/dash02.png) top 50% left 0/auto 6px repeat-x;
}
#works .s2 h2 span {
	padding: 0 6px;
	background-color: #fff;
}
#works .s2 ul {
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start;
	width: 1100px;
	margin: 0 auto;
}
#works .s2 ul li {
	position: relative;
	width: calc(calc(100% - 48px) / 3);
	margin-right: 24px;
	margin-bottom: 40px;
	transition: all 0.2s ease;
}
#works .s2 ul li:nth-of-type(3n) {
	margin-right: 0;
}
#works .s2 ul li:hover figure {
	opacity: 0.8;
	transition: all 0.2s ease;
}
#works .s2 ul li figure figcaption {
	padding-left: 1.2em;
	margin-bottom: 4px;
	font-size: 2.0rem;
	background: url(../img/list01.svg) top 0.4em left 0/auto 1.0em no-repeat;
}
#works .s2 ul li figure a {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	box-sizing: border-box;
}
#works .s2 ul li figure a::after {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	box-sizing: border-box;
	position: absolute;
	bottom: 16px;
	right: 16px;
	background: url(../img/works/ico_zoom.png) top 0 left 0/30px auto no-repeat;
}
#works .s2 ul li:hover figure a::after {
	background-position: top -2px left -2px;
	background-size: 34px 34px;
}
#works .s2 ul li figure a img {
	width: 100%;
	height: auto;
	border-radius: 40px 0 40px 0;
}
#works .s2 .comment {
	position: relative;
	margin-left: calc(50% + 80px);
	margin-right: calc(50% - 550px);
}
#works .s2 .comment p {
	width: calc(100% - 110px);
	padding: 32px 40px;
	box-sizing: border-box;
	font-size: 2.0rem;
	line-height: 1.4;
	border-radius: 24px;
	background-color: #f9f8e4;
}
#works .s2 .comment::after {
	content: '';
	display: block;
	width: 110px;
	height: 132px;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 0;
	background: url('../img/works/ico_comment.png') 0 0/100% auto no-repeat;
}
#recruit .s1 {
	margin-bottom: ;
}
#recruit .s1 h2 {
	font-size: 5.0rem;
	text-align: center;
}
#recruit .s1 p {
	width: 1100px;
	margin: 0 auto 56px;
	padding: 0 220px;
	box-sizing: border-box;
	font-size: 2.0rem;
}
#recruit .s2 h2,
#recruit .s4 h2 {
	margin-bottom: 48px;
	font-size: 4.0rem;
	text-align: center;
	background: url(../img/dash02.png) top 50% left 0/auto 6px repeat-x;
}
#recruit .s2 h2 span,
#recruit .s4 h2 span {
	padding: 0 4px;
	background-color: #fff;
}
#recruit .s2 {
	margin-bottom: 0;
}
#recruit .s2 .commentwrapper {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	padding: 0 0 72px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23f9f8e4" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 100% 40%;
	background-repeat: no-repeat;
}
#recruit .s2 .commentwrapper .comment {
	width: calc(calc(100% - 48px) / 3);
}
#recruit .s2 .commentwrapper .comment.even {
	margin-top: 88px;
}
#recruit .s2 .commentwrapper .comment dl {
	padding: 48px 40px 40px;
	border: 2px solid #444745;
	border-radius: 40px;
	background: #8bd7fa;
}
#recruit .s2 .commentwrapper .comment.even dl {
	background: #beebff;
}
#recruit .s2 .commentwrapper .comment dl dt,
#recruit .s2 .commentwrapper .comment dl dd {
	line-height: 1.3;
}
#recruit .s2 .commentwrapper .comment dl dt {
	padding-bottom: 8px;
	padding-left: 32px;
	margin-bottom: 8px;
	text-indent: -32px;
	font-size: 1.7rem;
	background: url(../img/dash03.png) bottom 0 left 0/auto 2px repeat-x;
}
#recruit .s2 .commentwrapper .comment dl dd {
	padding-left: 32px;
	margin-bottom: 24px;
	text-indent: -32px;
	font-size: 1.6rem;
}
#recruit .s2 .commentwrapper .comment dl span {
	display: inline-block;
	width: 32px;
	height: 28px;
	vertical-align: bottom;
	text-indent: -7777px;
}
#recruit .s2 .commentwrapper .comment dl dt span {
	background: url(../img/recruit/ico_qa1.png) top 0 left 0/100% auto no-repeat;
}
#recruit .s2 .commentwrapper .comment dl dd span {
	background: url(../img/recruit/ico_qa2.png) top 0 left 0/100% auto no-repeat;
}
#recruit .s2 .commentwrapper .comment .staff {
	margin-top: -32px;
}
#recruit .s2 .commentwrapper .comment .staff figure {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#recruit .s2 .commentwrapper .comment .staff figure img {
	width: 156px;
	height: auto;
}
#recruit .s2 .commentwrapper .comment .staff figure figcaption {
	width: calc(calc(100% - 156px) - 16px);
	margin-top: 16%;
	box-sizing: border-box;
	font-size: 1.7rem;
	line-height: 1.4;
	& .yaer {
		font-size: 2.8rem;
		color: #3eb1eb;
	}
	& .role {
		display: block;
		padding-top: 4px;
		font-size: 3.0rem;
		background: url(../img/dash04.png) top 0 left 0/auto 2px repeat-x;
	}
}
#recruit .s3 {
	position: relative;
	padding: 56px 0 64px;
	margin-bottom: 120px;
	background: #fee5e4;
	z-index: 0;
}
#recruit .s3 h2 {
	width: 50%;
	padding: 16px 0 16px calc(50% - 550px);
	box-sizing: border-box;
	position: absolute;
	top: -40px;
	left: 0;
	font-size: 3.2rem;
	color: #fff;
	border-radius: 0 120px 120px 0;
	background: #fb5248;
}
#recruit .s3 ol {
	position: relative;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	width: 1100px;
	margin: 0 auto;
}
#recruit .s3 ol li {
	position: relative;
	width: calc(calc(100% - 112px) / 3);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 2px solid #fc7971;
	background: #fff;
}
#recruit .s3 ol li::after {
	content: '';
	display: block;
	width: 36px;
	aspect-ratio: 0.61;
	box-sizing: border-box;
	position: absolute;
	top: 52%;
	right: -46px;
	translate: 0 -50%;
	background: url('../img/arr03.svg') top 0 left 0/100% auto no-repeat;
	z-index: 2;
}
#recruit .s3 ol li:last-of-type::after {
	content: none;
}
#recruit .s3 ol li::before {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: absolute;
	top: 10px;
	left: 10px;
	background: #fc7971;
	z-index: -1;
}
#recruit .s3 ol li span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	width: 70%;
	font-size: 2.0rem;
}
#recruit .s3 ol li .wrapper {
	position: relative;
	width: 100%;
	height: 100%;
}
#recruit .s3 ol li .wrapper img {
	position: absolute;
	bottom: 0;
	right: 0;
}
#recruit .s3 .point {
	position: absolute;
	right: 0;
	bottom: -72px;
	width: 60%;
	padding: 24px calc(50% - 550px) 24px 48px;
	box-sizing: border-box;
	border: 2px solid #fb5248;
	border-right-width: 0;
	border-radius: 120px 0 0 120px;
	background: #fda7a2;
}
#recruit .s3 .point p {
	margin-bottom: 0;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.4;
}
#recruit .s4 {
	margin-bottom: 64px;
}
#recruit .s4 .sec_content {
	padding: 80px calc(50% - 550px);
	background: url(../img/recruit/bg_yoko.jpg) top 0 left 0/cover no-repeat
}
#recruit .s4 h3 {
	width: 80%;
	padding: 24px;
	margin-bottom: 0;
	box-sizing: border-box;
	font-size: 2.2rem;
	border: 2px solid #444745;
	border-bottom-width: 0;
	border-radius: 20px 20px 0 0;
	background: #fff;
}
#recruit .s4 h3 span small {
	display: inline-block;
	padding-left: 16px;
	margin-left: 8px;
	font-size: 2.0rem;
	color: #3eb1e6;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%233eb1e6" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: top 0.2em left 0;
	background-size: 4px 80%;
	background-repeat: no-repeat;
}
#recruit .s4 .yoko {
	position: relative;
	padding: 72px 144px;
	margin-bottom: 24px;
	border: 2px solid #444745;
	border-radius: 0 20px 0 0;
	background-color: #fff;
}
#recruit .s4 .yoko::after {
	content: '';
	display: block;
	width: calc(80% - 1px);
	height: 2px;
	box-sizing: border-box;
	position: absolute;
	top: -2px;
	left: 0;
	background: #fff;
}
#recruit .s4 .yoko table tr th,
#recruit .s4 .yoko table tr td {
	padding: 16px 20px;
	box-sizing: border-box;
	line-height: 1.5;
	border: 1px solid #444745;
}
#recruit .s4 .yoko table tr th {
	width: 18%;
	padding-left: 0;
	font-size: 1.8rem;
	text-align: left;
	border-width: 0 1px 1px 0;
}
#recruit .s4 .yoko table tr td {
	font-size: 1.6rem;
	border-width: 0 0 1px 0;
	& strong {
		font-weight: 400;
		color: #3eb1e6;
		background: none;
	}
	& p,
	& ul,
	& dl {
		margin-bottom: 0;
	}
	& dl {
		margin-left: 1em;
		& dd {
			margin-left: 1em;
		}
	}
}
#recruit .s4 .yoko table tr:last-of-type th,
#recruit .s4 .yoko table tr:last-of-type td {
	border-bottom-width: 0;
}
#recruit .s4 .yoko table tr.salary td dl {
	width: 50%;
	margin-left: 0;
	float: left;
}
#recruit .s4 .yoko table tr.salary td .example {
	float: right;
	width: 48%;
	padding: 16px;
	box-sizing: border-box;
	background-image: repeating-linear-gradient(90deg, #3eb1e6, #3eb1e6 8px, transparent 8px, transparent 14px), repeating-linear-gradient(180deg, #3eb1e6, #3eb1e6 8px, transparent 8px, transparent 14px), repeating-linear-gradient(90deg, #3eb1e6, #3eb1e6 8px, transparent 8px, transparent 14px), repeating-linear-gradient(180deg, #3eb1e6, #3eb1e6 8px, transparent 8px, transparent 14px);
	background-position: left top, right top, left bottom, left top;
	background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
	background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%;
}
#recruit .s4 .yokotext {
	padding: 32px 40px 40px;
	background-color: #fff;
	border-radius: 0 0 20px 20px;
	border: 2px solid #444745;
}
#recruit .s4 .yokotext p {
	margin-bottom: 0;
	font-size: 1.8rem;
}
#recruit .s5 {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23f9f8e4" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 100% 84%;
	background-repeat: no-repeat;
}
#recruit .s5 .sec_content {
	width: 1100px;
	padding-bottom: 32px;
	margin: 0 auto;
}
#recruit .s5 h2 {
	margin-bottom: 24px;
	font-size: 3.2rem;
}
#recruit .s5 ul {
	display: flex;
	flex-flow: nowrap;
	justify-content: space-between;
}
#recruit .s5 ul li {;
	margin-right: 32px;
}
#recruit .s5 ul li img {
	width: 100%;
	height: auto;
}
#recruit .s5 ul li a img {
	opacity: 1.0;
	transition: all 0.2s ease;
}
#recruit .s5 ul li:hover a img {
	opacity: 0.7;
	transition: all 0.2s ease;
}
#recruit .s5 ul li.staff {
	padding-left: 32px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%233eb1e6" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: bottom 0 left 0;
	background-size: 4px 86%;
	background-repeat: no-repeat;
}
#recruit .s6 .sec_content {
	padding: 16px 0 32px;
	& .slick-dots {
		bottom: -48px;
	}
	& .slick-dots li {
		margin: 0 4px;
	}
	& .slick-dots li button:before {
		font-size: 10px;
	}
}
#company .s1 {
	margin-bottom: 64px;
}
#company .s1 .sec_content {
	position: relative;
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#company .s1 .wrapper {
	position: relative;
	width: calc(calc(100% - 264px) - calc(50% - 550px));
	padding: 64px 48px 48px;
	padding-left: calc(50% - 550px);
	box-sizing: border-box;
	border: 2px solid #444745;
	border-left-width: 0;
	border-radius: 0 40px 40px 0;
	background: #f9f8e4;
}
#company .s1 .wrapper::after {
	content: '';
	display: block;
	width: 184px;
	aspect-ratio: 1 / 0.8369;
	box-sizing: border-box;
	position: absolute;
	bottom: -88px;
	left: 0;
	scale: 1, -1;
	background: url('../img/icon2.svg') 0 0/100% auto no-repeat;
}
#company .s1 .wrapper h2 {
	position: absolute;
	top: -34px;
	left: inherit;
	font-size: 4.0rem;
}
#company .s1 .wrapper p {
	font-size: 1.8rem;
}
#company .s1 figure.photo {
	position: absolute;
	width: 264px;
	box-sizing: border-box;
	top: -8px;
	right: calc(calc(50% - 550px) + 2px);
}
#company .s1 figure.photo img {
	width: 100%;
	height: auto;
}
#company .s1 figure.photo figcaption {
	padding-left: 30px;
	font-size: 3.0rem;
	line-height: 1.4;
	& span {
		display: block;
		padding-bottom: 6px;
		font-size: 2.0rem;
		background: url(../img/dash04.png) bottom 0 left 0/auto 2px repeat-x;
	}
}
#company .s2 {
	background: url(../img/company/bg_policy.jpg) bottom 0 left 0/100% 94% no-repeat;
}
#company .s2 .sec_content {
	position: relative;
	padding: 0 calc(50% - 350px) 72px;
}
#company .s2 .sec_content::after {
	content: '';
	display: block;
	width: 200px;
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	position: absolute;
	top: 16px;
	right: calc(50% - 550px);
	rotate: 15deg;
	background: url('../img/icon3.svg') 0 0/100% auto no-repeat;
}
#company .s2 h2 {
	margin-bottom: 40px;
	font-size: 4.0rem;
	text-align: center;
}
#company .s2 .policy p {
	text-align: center;
}
#company .s2 p {
	box-sizing: border-box;
	font-size: 1.8rem;
}
#company .s2 .yurai {
	position: relative;
	padding: 32px 48px;
	margin-top: 40px;
	border-radius: 30px;
	background: #fdffc0;
}
#company .s2 .yurai h3 {
	font-size: 2.4rem;
	text-align: center;
}
#company .s2 .yurai p {
	font-size: 1.6rem;
}
#company .s2 .yurai figure {
	position: absolute;
	bottom: 0;
	left: -220px;
	width: 238px;
}
#company .s2 .yurai figure img {
	width: 100%;
	height: auto;
}
#company .s3 {
	background: url(../img/company/bg_gaiyo.jpg) bottom 30% left 0/100% 70% no-repeat;
}
#company .s3 h2 {
	margin-bottom: 48px;
	font-size: 4.0rem;
	text-align: center;
	background: url(../img/dash02.png) top 50% left 0/auto 6px repeat-x;
}
#company .s3 h2 span {
	padding: 0 4px;
	background: #fff;
}
#company .s3 .sec_content.gaiyo {
	padding: 56px 0 88px;
	padding-left: calc(50% - 430px);
	padding-right: 140px;
	margin-right: calc(50% - 500px);
	box-sizing: border-box;
	border: 2px solid #444745;
	border-left-width: 0;
	border-radius: 0 40px 40px 0;
	background: #8bd7fa;
}
#company .s3 .gaiyo table tr th,
#company .s3 .gaiyo table tr td {
	border-color: #b6e8ff;
}
#company .s3 .group {
	position: relative;
	display: flex;
	flex-flow: wrap;
	justify-content: flex-start;
	padding: 56px 64px;
	margin-top: -32px;
	margin-left: calc(50% - 430px);
	box-sizing: border-box;
	border: 2px solid #444745;
	border-right-width: 0;
	border-radius: 40px 0 0 40px;
	background: #c0ebff;
}
#company .s3 .group h3 {
	position: relative;
	width: 7.5em;
	margin-right: 1.5em;
	margin-bottom: 0;
	box-sizing: border-box;
	font-size: 3.2rem;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="none"><path fill="%23444475" d="M0.000,0.000 L32.000,0.000 L32.000,32.000 L0.000,32.000 L0.000,0.000 Z" /></svg>');
	background-position: top 0 right 0;
	background-size: 2px 100%;
	background-repeat: no-repeat;
}
#company .s3 .group h3::before {
	content: '';
	display: block;
	width: 145px;
	aspect-ratio: 1 / 1.1034;
	box-sizing: border-box;
	position: absolute;
	top: 52%;
	left: -158px;
	background: url('../img/company/ico_usa.png') 0 0/100% auto no-repeat;
}
#company .s3 .group h3 span {
	display: block;
	width: 100%;
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
}
#company .s3 .group p {
	width: 25em;
	padding-right: 32px;
	margin-bottom: 0;
	box-sizing: border-box;
	font-size: 1.8rem;
}
#company .s3 .group .more {
	width: 10em;
	margin-top: auto;
	box-sizing: border-box;
}
#company .s3 .group .more a {
	padding-right: 32px;
	font-size: 1.8rem;
	background: url(../img/arr01.svg) top 0.2em right 2px/auto 70% no-repeat;
	transition: all 0.2s ease;
}
#company .s3 .group .more:hover a {
	background-position: top 0.2em right 0;
	transition: all 0.2s ease;
}
#company .s3 .group figure {
	position: absolute;
	top: -36px;
	right: calc(50% - 530px);
	width: 238px;
}
#company .s3 .group figure img {
	width: 100%;
	height: auto;
}
section table.gaiyo tr th,
section table.gaiyo tr td {
	box-sizing: border-box;
	border: 0 solid #fff;
}
section table.gaiyo tr th {
	width: 25%;
	padding: 12px 0 12px;
	text-align: left;
	font-size: 1.8rem;
	border-width: 0 1px 1px 0;
}
section table.gaiyo tr td {
	padding: 12px 0 12px 20px;
	font-size: 1.6rem;
	border-width: 0 0 1px 0;
	& ul {
		margin-bottom: 0;
	}
}
section table.gaiyo tr:last-of-type th,
section table.gaiyo tr:last-of-type td {
	border-bottom-width: 0;
}
#group .s1 {
	margin-bottom: 64px;
}
#group .s1 .sec_content {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	padding-right: calc(50% - 520px);
}
#group .s1 figure {
	width: 700px;
	margin-right: 24px;
}
#group .s1 figure img {
	width: 100%;
	height: auto;
	border-radius: 0 40px 40px 0;
}
#group .s1 p {
	width: calc(100% - 724px);
	margin-top: 96px;
	font-size: 1.8rem;
}
#group .s2 h2 {
	margin-bottom: 48px;
	font-size: 4.0rem;
	text-align: center;
	background: url(../img/dash02.png) top 50% left 0/auto 6px repeat-x;
}
#group .s2 h2 span {
	padding: 0 4px;
	background: #fff;
}
#group .s2 .sec_content {
	padding: 72px 176px;
	margin: 0 calc(50% - 550px);
	border-radius: 40px;
	background: #fdffc0;
}
#group .s2 table tr th,
#group .s2 table tr td {
	border-color: #f0f2a4;
}
#group .s3 .sec_content {
	margin: 0 calc(50% - 550px);
}
#group .s3 ul {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
#group .s3 ul li {
	width: calc(calc(100% - 32px) / 3);
}
#group .s3 ul li figure img {
	width: 100%;
	height: auto;
	border-radius: 40px;
}