@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;900&family=Overpass:wght@500;600&family=Oswald&display=swap&family=Noto+Sans+SC:wght@400;500&display=swap');

html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
}
html, body {
	overflow-x: hidden;
}
main {
	display: block;
	position: relative;
	transition: all 0.5s;
}
h1, h2 {
	font-weight: bold;
}
.txt_center {
	text-align: center !important;
}
.txt_right {
	text-align: right;
}
figure,div {
	line-height: 0;
}
sup {
	font-size: 10px;
	position: relative;
	bottom: 7px;
}
sub {
	font-size: 10px;
	position: relative;
	top: 2px;
}
.lineheight15 {
	line-height: 1.5;
}
b {
	font-weight: bold;
}
.maxw400 {
	max-width: 400px;
}
.maxw480 {
	max-width: 480px;
}
.maxw600 {
	max-width: 600px;
}
.maxw800 {
	max-width: 800px;
}
.maxw838 {
	max-width: 838px;
}
.maxw847 {
	max-width: 847px;
}
.maxw854 {
	max-width: 854px;
}
.maxw900 {
	max-width: 900px;
}
.maxw940 {
	max-width: 940px;
}
.maxw989 {
	max-width: 989px;
}
.element,
.element_main {
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: opacity 1.4s, visibility 1.4s, transform 1.4s;
}
.element.start01 {
	transform: translateY(40px);
}
.element.start02 {
	transform: translateY(40px);
	transition-delay: .25s;
}
.element.start03 {
	transform: translateY(40px);
	transition-delay: .5s;
}
.element_main {
	transition-delay: .5s;
}
.is-fadein,
.element.start01.is-fadein,
.element.start02.is-fadein,
.element.start03.is-fadein {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
#topback {
    position: fixed;
    right: 15px;
    bottom: 15px;
    width: 60px;
    height: 60px;
    background: rgba(51,51,51, 0.8);
    z-index: 3;
    cursor: pointer;
    border: 1px solid #fff;
	border-radius: 50%;
}
#topback::after {
    position: absolute;
    content: "";
    top: 26px;
    right: 0;
	left: 0;
	margin: auto;
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
main {
	padding-top: 110px;
}
#field_trip main {
	padding-top: 0;
}
#home main {
	padding-top: 0;
}
dl {
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6, dl dt, dl dd, td, th, ul li, ol li, figcaption {
	color: #333;
}
a {
	text-decoration: none;
	color: #333;
}
p {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	color: #333;
}
img {
	max-width: 100%;
}
#container {
	opacity: 0;
	pointer-events: none;
}
.border_e1 {
	border: 1px solid #E1E1E1;
}
body.appear #container {
	animation-name: PageAnime-content;
	animation-duration: 0.4s;
	animation-delay: 0.4s;
	animation-fill-mode: forwards;
	opacity: 0;
	pointer-events: auto;
}
.animation #container {
	opacity: 1;
	pointer-events: auto;
}
.gradation .animation-bg {
	--color01: 255, 255, 255;
	background: linear-gradient(180deg, rgba(var(--color01), 1) 0%, rgba(var(--color01), 0) 100%);
	background-size: 200% 200%;
	content: "";
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	animation-name: PageAnime-gradation;
	animation-duration: 1s;
	animation-delay: 1s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	pointer-events: none;
}

@keyframes PageAnime-gradation {
	0% {
		background-position: 100% 0;
	}

	100% {
		background-position: 100% 100%;
	}
}

@keyframes PageAnime-content {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.fadeIn {
	opacity: 0;
}
.fadeIn.add {
    animation-name: fadeIn;
    animation-duration: 1s;
	animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    transform: translateY(30px);
    opacity: 0;
}
.fadeInmain {
    opacity: 0;
}

.fadeInmain.add {
    animation-name: fadeIn;
    animation-delay: 1000ms;
    animation-duration: 1s;
	animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
    transform: translateY(30px);
    opacity: 0;
}
@keyframes fadeIn {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

header {
	position: fixed;
	width: 100%;
	z-index: 100;
	padding-right: 26px;
	transition: .5s ease-in-out;
}
header.bgwhite {
	background: #fff;
}
header.bgwhite::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #E1E1E1;
}
header.bgwhite .pc-nav ul.nav_bottom li a {
	color: #333;
}
header .logo {
	margin-right: auto;
	display: flex;
	align-items: center;
	height: 100%;
}
header .logo a {
	height: 100%;
	width: 320px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
header .logo a.white_logo {
	display: none;
	transition: .5s ease-in-out;
}
header .logo a.white_logo.show {
	line-height: 0;
	background: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
header .logo a.color_logo {
	display: none;
	transition: .5s ease-in-out;
}
header .logo a.color_logo.show {
	line-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
@keyframes fadein {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}
header .logo img {
	max-width: 255px;
}
header .pc-nav ul.nav_top li a {
	font-size: 16px;
	color: #fff;
	transition: .3s ease-in-out;
}
header.bgwhite .pc-nav ul.nav_top li a {
	color: #333;
}
header .pc-nav ul.nav_top.menu_language {
	display: flex;
}
header .pc-nav ul.nav_top.menu_language li:first-child a {
	margin-right: 24px;
	position: relative;
}
header .pc-nav ul.nav_top.menu_language li:first-child a::after {
	position: absolute;
	content: "";
	height: 15px;
	width: 1px;
	background: #fff;
	right: -13px;
}
header.bgwhite .pc-nav ul.nav_top.menu_language li:first-child a::after {
	background: #333;
}
header .pc-nav ul.nav_top li a:hover,
header .pc-nav ul.nav_top.menu_language li a.current {
	color: #fff;
}
header.bgwhite .pc-nav ul.nav_top li a:hover,
header.bgwhite .pc-nav ul.nav_top.menu_language li a.current {
	color: #00B9F2;
}
header .pc-nav ul.nav_top a.icon_window {
	position: relative;
	margin-right: 33px;
}
header .pc-nav li a {
	display: flex;
	align-items: center;
	font-weight: 500;
	position: relative;
	height: 100%;
}
header .pc-nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
header .pc-nav .wrap_nav {
	margin-right: 40px;
}
header .nav-box .pc-nav {
	height: auto;
	display: flex;
	margin-top: 26px;
}
header .nav-box {
	height: 110px;
	width: 100%;
	display: flex;
	position: relative;
	align-items: center;
	overflow: hidden;
}
header .pc-nav li {
	height: 100%;
}
header .pc-nav .nav_bottom li:not(:last-child) {
	margin-right: 40px;
}
header .pc-nav ul.nav_bottom {
	margin-top: 6px;
	height: 50px;
}
header .pc-nav ul.nav_bottom li a {
	font-size: 16px;
	color: #fff;
	align-items: flex-start;
	position: relative;
	transition: .3s ease-in-out;
}
header .pc-nav ul.nav_bottom li a::after {
	content: "";
	position: absolute;
	background: #00B9F2;
	bottom: 1px;
	left: 0;
	height: 3px;
	width: 0;
	transition: .3s ease-in-out;
}
header .pc-nav ul.nav_bottom li a:hover::after,
header .pc-nav ul.nav_bottom li a.current::after {
	width: 100%;
}
header .menu_contact a {
	font-size: 16px;
	color: #fff;
	display: flex;
	height: 100%;
	max-height: 60px;
	width: 180px;
	justify-content: center;
	align-items: center;
	transition: .3s ease-in-out;
	position: relative;
	background: transparent;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #fff;
}
header .menu_contact a::before,
header .menu_contact a::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
header .menu_contact a::before {
	background: -moz-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: -webkit-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: -o-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: linear-gradient(to right, #00A7F3 0%, #0965C8 100%);
	z-index: -1;
	transition: .5s ease-in-out;
}
header .menu_contact a:hover::before {
	opacity: 0;
}
header .menu_contact a::after {
	background: -moz-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: -webkit-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: -o-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: linear-gradient(to right, #0965C8 0%, #00A7F3 100%);
	z-index: -2;
}
#home .wrap_main-home {
	margin-left: 7.55%;
	height: 100%;
	position: relative;
	top: -55px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	letter-spacing: 0.4em;
}
#home .sec01 {
	/*background: url(../images/main_bg.jpg) no-repeat;
	background-size: cover;*/
	height: 100vh;
	height: 100dvh;
	min-height: 650px;
	position: relative;
	/*background: #BACBD2;*/
}
#home .sec01 .layer01 {
	width: 100%;
	height: 100%;
	background: url(../images/img_layer01.png) no-repeat;
	background-size: cover;
	z-index: 3;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}
#home .sec01 .layer02 {
	width: 100%;
	height: 100%;
	/*background: #A3DBF8;*/
	background: url(../images/img_layer02.png) no-repeat;
	background-size: cover;
	mix-blend-mode: overlay;
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	left: 0;
	margin: auto;
}
#home .sec01 .wrap_video {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	z-index: 0;
	/*mix-blend-mode: multiply;*/
}
#home .sec01 .wrap_video video {
	position: absolute;
	bottom: 0;
	left: 50%;
	min-width: calc(100% + 4px);
	min-height: calc(100% + 4px);
	-webkit-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
	outline: none;
	border: none;
	object-fit: cover;
}
#home .sec01 .txt_wrap {
	position: absolute;
	left: 4.479%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
	z-index: 4;
}
#home .sec01 .txt_wrap h2 {
	font-family: 'Overpass', sans-serif;
	color: #fff;
	font-size: 5rem;
	letter-spacing: 0.06em;
	font-weight: 600;
	line-height: 1.26;
}
#home .sec01 .txt_wrap p {
	color: #fff;
	font-size: 2.4rem;
	letter-spacing: 0.3em;
	font-family: 'Overpass', sans-serif;
	line-height: 1.33;
	margin-bottom: 26px;
}
#home .sec02 {
	display: flex;
	align-items: stretch;
}
#home .sec02 .contents_left {
	width: 28.38%;
	max-width: 545px;
	min-width: 450px;
	background: linear-gradient(120deg, #004DA0 40%, #3774B1 100%);
	padding: 95px 6.87% 111px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative;
	z-index: 2;
}
#home .sec02 .btn01 {
	margin-top: 50px;
}
#home .sec02 .contents_right {
	width: 71.62%;
	padding: 73px 6.77% 2px;
	position: relative;
	z-index: 2;
}
#home .sec02 .contents_right time {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	margin-right: 20px;
}
#home .sec02 .contents_right span {
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.26;
	color: #E50012;
	display: block;
	margin-right: 24px;
	position: relative;
	top: 5px;
	width: 35px;
}
#home .sec02 .contents_right ul li a {
	display: flex;
	padding: 23px 0;
	position: relative;
}
#home .sec02 .contents_right ul li a div {
	display: flex;
}
#home .sec02 .contents_right ul li:not(:last-child) a::before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #E1E1E1;
}
#home .sec02 .contents_right ul li:not(:last-child) a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 82px;
	height: 1px;
	background: #C8C8C8;
}
#home .sec02 .contents_right ul li p {
	font-weight: 400;
	line-height: 1.5;
	transition: .5s ease-in-out;
}
#home .sec02 .contents_right ul li a:hover p {
	color: #00B9F2;
}
#home .sec02 h2 {
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.45;
	color: #fff;
}
#home .sec02 h2 span {
	display: block;
	font-size: 5.2rem;
	font-family: 'Overpass', sans-serif;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1.32;
	color: #fff;
	margin-bottom: -9px;
	white-space: nowrap;
}
.btn01 {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #fff;
	background: transparent;
	overflow: hidden;
	max-width: 280px;
	width: 100%;
	padding: 15px 15px;
	border: 1px solid #fff;
	border-radius: 5px;
	z-index: 2;
}
.btn01::before,
.btn01::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.btn01::before {
	background: -moz-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: -webkit-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: -o-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: linear-gradient(to right, #00A7F3 0%, #0965C8 100%);
	z-index: -1;
	transition: .5s ease-in-out;
}
.btn01:hover::before {
	opacity: 0;
}
.btn01::after {
	background: -moz-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: -webkit-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: -o-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: linear-gradient(to right, #0965C8 0%, #00A7F3 100%);
	z-index: -2;
}
#home .sec03 {
	padding-top: 167px;
	position: relative;
}
#home .sec03 h2 span,
#home .sec04 h2 span,
#home .sec05 h2 span {
	font-size: 2rem;
	font-weight: 500;
	font-family: 'Overpass', sans-serif;
	letter-spacing: 0.1em;
	color: #00A7F3;
	display: block;
	margin-bottom: 8px;
}
#home .sec03 h2,
#home .sec04 h2,
#home .sec06 h2 {
	font-family: 'Overpass', sans-serif;
	font-size: 6rem;
	line-height: 1.26;
	font-weight: 500;
	color: #004DA0;
	padding-right: 124px;
	position: relative;
	display: inline-block;
	padding-left: 6.77%;
}
#home .sec03 h2::after,
#home .sec04 h2::after,
#home .sec06 h2::after {
	content: "";
	position: absolute;
	width: 100px;
	height: 2px;
	background: #004DA0;
	bottom: 40px;
	right: 0;
}
#home .sec03 .txt_wrap {
	display: flex;
	align-items: flex-end;
	padding-bottom: 45px;
	position: relative;
}
#home .sec03 .txt_wrap::after {
	content: "";
	background: url(../images/bg_sec03.png) no-repeat;
	background-size: contain;
	background-position: right bottom;
	width: 100%;
	height: 589px;
	position: absolute;
	bottom: 0;
	right: 0;
}
#home .sec03 .txt_wrap p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	padding-bottom: 8px;
	margin-left: 65px;
}
#home .sec03 .txt_bg {
	font-family: 'Overpass', sans-serif;
	font-size: clamp(72px, 16.84vw, 285px);
	font-weight: 600;
	line-height: 0.53;
	color: #00A7F3;
	opacity: 0.05;
	position: absolute;
	bottom: 0px;
	left: 0;
}
#home .sec03 ul.menulist {
	display: flex;
}
#home .sec03 ul.menulist li {
	width: calc((100% - 2px) / 3);
	aspect-ratio: 640 / 487;
	position: relative;
}
#home .sec03 ul.menulist li:not(:last-child) {
	margin-right: 1px;
}
#home .sec03 ul.menulist li a {
	height: 100%;
	display: block;
	overflow: hidden;
	line-height: 0;
}
#home .sec03 ul.menulist li a p {
	position: absolute;
	font-size: 3.2rem;
	letter-spacing: 0.15em;
	font-weight: 500;
	line-height: 1.43;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	z-index: 2;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
	left: 0;
}
#home .sec03 ul.menulist li a img {
	transition: 1s;
}
#home .sec03 ul.menulist li a:hover img {
	transform: scale(1.2);
}
#home .sec04 {
	padding: 127px 0 75px;
	display: flex;
	justify-content: space-between;
	position: relative;
	background: url(../images/bg_sec04.png) no-repeat;
	background-position: right bottom;
	background-size: contain;
}
#home .sec04 .contents_left {
	padding-left: 6.77%;
	margin-right: 80px;
	margin-top: 24px;
	position: relative;
	z-index: 2;
}
#home .sec04 h2,
#home .sec06 h2 {
	padding-left: 0;
	white-space: nowrap;
}
#home .sec04 h3 {
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	margin-top: 25px;
}
#home .sec04 .contents_left p {
	margin-top: 29px;
	font-weight: 400;
	line-height: 2;
	max-width: 494px;
}
#home .sec04 .contents_left .btn01 {
	margin-top: 90px;
}
#home .sec04 .contents_right {
	margin-right: 6.14%;
	width: 42.6%;
	position: relative;
	z-index: 2;
}
#home .sec04 .contents_right ul {
	display: flex;
	flex-wrap: wrap;
}
#home .sec04 .contents_right ul li {
	width: 46.94%;
	margin-bottom: 49px;
}
#home .sec04 .contents_right ul li div {
	border-radius: 10px;
	overflow: hidden;
}
#home .sec04 .contents_right ul li div img {
	transition: .75s ease-in-out;
}
#home .sec04 .contents_right ul li a:hover div img {
	transform: scale(1.2);
}
#home .sec04 .contents_right ul li p {
	font-weight: 400;
	margin-top: 11px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	padding-left: 11px;
	position: relative;
}
#home .sec04 .contents_right ul li p::before {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	background: #00A7F3;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
#home .sec04 .contents_right ul li:not(:nth-child(2n)) {
	margin-right: 6.11%;
}
#home .sec04 .txt_bg {
	font-family: 'Overpass', sans-serif;
	font-size: clamp(60px, 14.84vw, 285px);
	font-weight: 600;
	line-height: 0.53;
	color: #00A7F3;
	opacity: 0.1;
	position: absolute;
	bottom: -6px;
	left: 0;
}
#home .sec05 {
	display: flex;
	align-items: stretch;
}
#home .sec05 .contents_left {
	width: 55.2%;
	background: url(../images/img_sec05.jpg) no-repeat;
	background-size: cover;
}
#home .sec05 .contents_right {
	min-height: 780px;
	width: 44.8%;
	background: linear-gradient(150deg, #004DA0 40%, #3774B1 100%);
	padding: 100px 11.97% 139px 7.08%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#home .sec05 h2 {
	font-family: 'Overpass', sans-serif;
	font-size: 6rem;
	font-weight: 500;
	line-height: 1.266;
	color: #fff;
	padding-right: 124px;
	position: relative;
	display: inline-block;
	white-space: nowrap;
}
#home .sec05 h2::after {
	content: "";
	position: absolute;
	width: 100px;
	height: 2px;
	background: #fff;
	bottom: 40px;
	right: 0;
}
#home .sec05 h3 {
	font-size: 20px;
	font-weight: 500;
	line-height: 2;
	color: #fff;
	margin-top: 30px;
}
#home .sec05 .contents_right {
	position: relative;
}
#home .sec06 .contents_left {
	padding-left: 6.77%;
	margin-right: 80px;
}
#home .sec05 .contents_right p {
	margin-top: 38px;
	color: #fff;
	font-weight: 400;
	max-width: 494px;
}
#home .sec05 .contents_right .btn01 {
	margin-top: 90px;
}
#home .sec05 .contents_right .txt_bg {
	font-family: 'Overpass', sans-serif;
	font-size: clamp(60px, 7.39vw, 142px);
	white-space: nowrap;
	font-weight: 600;
	line-height: 0.53;
	color: #00A7F3;
	opacity: 0.1;
	position: absolute;
	bottom: 0px;
	right: 0;
}
#home .sec06 {
	padding: 127px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#home .sec06 p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 2;
	word-break: break-all;
}
#home .sec06 .contents_right {
	margin-right: 6.14%;
	width: 50.104%;
}
#home .sec06 .contents_right div {
	overflow: hidden;
	border-radius: 15px;
}
#home .sec06 ul li:nth-child(2) p,
#home .sec06 ul li:nth-child(3) p {
	letter-spacing: 0.1em;
}
#home .sec06 .txt_wrap {
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
footer {
	position: relative;
	z-index: 2;
}
footer .logo_footer {
	max-width: 237px;
	margin-right: 100px;
}
footer .footer-menu {
	max-width: 1200px;
	margin: auto;
	width: 100%;
	display: flex;
	margin: 0 auto;
	padding: 40px 0;
	justify-content: center;
	align-items: center;
}
footer .footer-menu ul {
	display: flex;
}
footer .footer-menu ul li:not(:last-child) {
	margin-right: 40px;
}
footer .footer-menu ul li a {
	font-size: 16px;
	font-weight: 500;
	display: block;
	color: #333;
	transition: .5s ease-in-out;
}
footer .footer-menu ul li a:hover {
	color: #00B9F2;
}
footer .instagram a {
	max-width: 34px;
	display: flex;
	align-items: center;
}
footer .footer-menu ul li a span.icon_pdf {
	display: inline-block;
	position: relative;
	width: 12px;
	height: 14px;
	background: url(../images/common/icon_pdf_footer.svg) no-repeat;
	top: 1.5px;
	margin-left: 6px;
}
footer .copyright {
	background: #004DA0;
}
footer small {
	font-size: 13px;
	letter-spacing: 0.1em;
	line-height: 1.4;
	font-weight: 400;
	text-align: center;
	color: #fff;
	padding: 21px 15px 21px;
	display: block;
}
footer .footer-wrap {
	background: #fff;
}

@media all and (-ms-high-contrast:none){
	main {
		display: block;
	}
}

#company.l2 section.main {
	background: url(../images/company/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: right bottom;
}
#works.l2 section.main {
	background: url(../images/works/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: right bottom;
}
#ship.l2 section.main {
	background: url(../images/ship/img_main.png) no-repeat;
	background-size: cover;
	background-position: right bottom;
	position: relative;
	z-index: 2;
}
#skill.l2 section.main {
	background: url(../images/skill/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: right bottom;
}
#topics.l2 section.main {
	background: url(../images/topics/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: right bottom;
}
#topics.l2 section.main {
	background: url(../images/topics/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: right bottom;
}
#aboutus.l2 section.main {
	background: url(../images/aboutus/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: right bottom;
}
#recruit.l2 section.main {
	background: url(../images/recruit/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: center bottom;
}
#sustainability.l2 section.main {
	background: url(../images/sustainability/img_main.jpg) no-repeat;
	background-size: cover;
	background-position: center bottom;
}
.l2 section.main {
	height: 531px;
}
#ship.l2 section.main {
	height: 601px;
}
.l2 .wrap_main {
	height: 100%;
	position: relative;
}
.l2 .txt_wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
}
#ship.l2 .txt_wrap {
	padding-bottom: 48px;
}
.l2 .en_txt {
	font-size: 10rem;
	font-family: 'Overpass', sans-serif;
	font-weight: 500;
	line-height: 1.26;
	color: #00A7F3;
	display: block;
	white-space: nowrap;
}
.l2 .sub_txt {
	font-size: 20px;
	font-weight: 500;
	line-height: 2;
}
/*
.l2 h1 {
	font-size: 3.2rem;
	line-height: 1.43;
	font-weight: bold;
	position: relative;
	display: inline-block;
	margin-top: -4px;
}

.l2 h1::after {
	content: "";
	position: absolute;
	height: 2px;
	width: 120px;
	background: #00A7F3;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 0;
}*/
.l2 .sec02 {
	background: #F2FBFE;
	padding: 110px 0 150px;
	position: relative;
}
#company.l2 .sec02 {
	padding-bottom: 90px;
}
/*
#sustainability.l2 .sec02 .txt_wrap {
	height: clamp(0px, calc(20.8333vw - 200px), 200px);
}*/
#skill.l2 .sec02 {
	padding-bottom: 120px;
}
.l2 .sec02 .flex_space-between {
	display: flex;
	justify-content: space-between;
}
.l2 .sec02 .img_wrap {
	max-width: 800px;
	width: 41.66%;
	border-radius: 25px;
	overflow: hidden;
	margin-top: -300px;
	position: absolute;
	right: 120px;
}
#company.l2 .txt_wrap,
#skill.l2 .txt_wrap,
#aboutus.l2 .txt_wrap,
#recruit.l2 .txt_wrap,
#sustainability.l2 .txt_wrap {
	max-width: 480px;
	margin-right: 40px;
}
#sustainability.l2 .txt_wrap p {
	max-width: 415px;
}
.l2 .sec02 h2 {
	font-size: 20px;
	font-weight: 500;
	line-height: 2;
	margin-bottom: 25px;
}
.l2 p {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}
.l2 ul.menulist {
	display: flex;
	flex-wrap: wrap;
	padding-top: 150px;
	align-items: stretch;
}
.l2 ul.menulist figure {
	background: #fff;
	border-radius: 25px;
	overflow: hidden;
	will-change: transform;
	height: 100%;
}
#skill.l2 ul.menulist figure,
#aboutus.l2 ul.menulist figure,
#recruit.l2 ul.menulist figure {
	border-radius: 0;
}
.l2 ul.menulist figcaption {
	font-size: 16px;
	line-height: 1.5;
	padding: 0 70px 28px 30px;
	margin-top: 28px;
	position: relative;
	transition: .5s ease-in-out;
}
.l2 ul.menulist li a:hover figcaption {
	color: #00B9F2;
}
#skill.l2 ul.menulist figcaption,
#aboutus.l2 ul.menulist figcaption,
#recruit.l2 ul.menulist figcaption {
	padding-left: 0;
}
#skill.l2 ul.menulist figcaption.icon_pdf {
	padding-left: 32px;
	color: #E50012;
}
#skill.l2 ul.menulist figcaption.icon_pdf::before {
	content: "";
	position: absolute;
	background: url(../images/common/icon_pdf.svg) no-repeat;
	width: 21px;
	height: 26px;
	left: 0;
}
.l2 ul.menulist figcaption::after {
	content: "";
	position: absolute;
	background: url(../images/common/icon_listarrow.svg) no-repeat;
	width: 37px;
	height: 7px;
	right: 28px;
	top: 8px;
	transition: .5s ease-in-out;
}
.l2 ul.menulist figcaption.icon_pdf::after {
	content: none;
}
.l2 ul.menulist a:hover figcaption::after {
	right: 18px;
}
.l2 ul.menulist li a div {
	overflow: hidden;
	position: relative;
}
.l2 ul.menulist li a div.border_solid::after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	left: 0;
	background: rgba(0, 167, 243, 0.17);
}
.l2 ul.menulist li a img {
	transition: .5s ease-in-out;
}
.l2 ul.menulist li a:hover img {
	transform: scale(1.2);
}
#works.l2 .txt_wrap {
	position: relative;
	bottom: 44px;
}
#works.l2 .sec02 {
	padding-top: 0;
	background: none;
	padding-bottom: 90px;
}
#works.l2 section.main {
	height: 605px;
}
#works.l2 ul.tab-menu {
	display: flex;
}
#works.l2 ul.tab-menu li {
	width: calc(100% / 3);
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	padding: 35px 20px 32px;
	color: #A2A2A2;
	border: 1px solid #E1E1E1;
	border-width: 1px 1px 0 1px;
	background: #fff;
	transition: .5s ease-in-out;
	cursor: pointer;
}
#works.l2 ul.tab-menu li:hover {
	color: #C7C7C7;
}
#works.l2 ul.tab-menu li.is-active {
	border: 1px solid #00A7F3;
	border-bottom: 1px solid #fff;
	z-index: 2;
	color: #00A7F3;
}
.panel {
	display: none;
}
.panel.is-show {
	display: block;
	animation: show 1s ease-in-out;
}
@keyframes show {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
#works.l2 .tab-contents {
	margin-top: -18px;
}
#works.l2 h2 {
	font-size: 20px;
	font-weight: bold;
	color: #004DA0;
	padding-left: 16px;
	position: relative;
}
#works.l2 h2::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	left: 0;
	top: 15px;
	background: #00A7F3;
}
#works.l2 .tab-wrap {
	position: relative;
	z-index: 2;
	top: -112px;
	transition: .5s ease-in-out;
}
#works.l2 .tab-wrap::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: #00A7F3;
}
#works.l2 .panel ul {
	display: flex;
	flex-wrap: wrap;
}
#works.l2 .panel ul li p {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	position: relative;
	margin-top: 16px;
	padding-right: 34px;
	transition: .5s ease-out;
}
#works.l2 .panel ul li a:hover p {
	color: #00B9F2;
}
#works.l2 .panel ul li p::after {
	content: "";
	position: absolute;
	background: url(../images/common/icon_listarrow02.svg) no-repeat;
	width: 28px;
	height: 7px;
	top: 8px;
	right: 0;
	margin: auto;
}
#works.l2 .panel ul li a div {
	overflow: hidden;
}
#works.l2 .panel ul li a img {
	transition: .5s ease-out;
}
#works.l2 .panel ul li a:hover img {
	transform: scale(1.2);
}
#home footer,
#works.l2 footer,
.inquiry footer,
.l3_workdetail footer,
.l3_ship footer,
.l2_etc footer {
	border-top: 1px solid #C8C8C8;
}
#sitemap footer {
	border-top: none;
}
#works.l2 .cate {
	padding-top: 50px;
}
#ship.l2 .sec02 figure {
	position: relative;
}
#ship.l2 .sec02 a figure div {
	overflow: hidden;
}
#ship.l2 .sec02 a figure div img {
	transition: .5s ease-in-out;
}
#ship.l2 .sec02 a:hover figure div img {
	transform: scale(1.2);
}
#ship.l2 .sec02 figcaption p {
	font-size: 2.3rem;
	font-weight: 500;
	line-height: 1.5;
	color: #fff;
	text-align: center;
}
#ship.l2 .sec02 figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1px 10px 3px;
	background: -moz-linear-gradient(left, rgba(9, 101, 200, 0.8) 0%, rgba(9, 167, 243, 0.8) 100%);
	background: -webkit-linear-gradient(left, rgba(9, 101, 200, 0.8) 0%, rgba(9, 167, 243, 0.8) 100%);
	background: -o-linear-gradient(left, rgba(9, 101, 200, 0.8) 0%, rgba(9, 167, 243, 0.8) 100%);
	background: linear-gradient(to right, rgba(9, 101, 200, 0.8) 0%, rgba(9, 167, 243, 0.8) 100%);
}
#ship.l2 .sec02 {
	background: #fff;
	position: relative;
	padding-top: 19px;
	padding-bottom: 120px;
	z-index: 1;
}
#ship.l2 .sec02::before {
	content: "";
	position: absolute;
	background: #F2FBFE;
	top: -48px;
	left: 0;
	width: 100%;
	height: 292px;
	height: clamp(100px, calc(15.2vw + 30px), 292px);
	z-index: -1;
}
#ship.l2 .sec02::after {
	content: "";
	position: absolute;
	background: #F2FBFE;
	top: 0;
	right: 0;
	width: 6.3%;
	height: 100%;
	z-index: -1;
}
#ship.l2 .table_list {
	padding-top: 63px;
}
#ship.l2 .table_list h2 {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.45;
	padding-left: 16px;
	position: relative;
	margin-bottom: 40px;
	margin-top: 80px;
}
#ship.l2 .table_list h2::after {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 4px;
	height: 24px;
	background: #00A7F3;
}
#ship.l2 .table_box table {
	width: 100%;
}
#ship.l2 .table_box table th,
#ship.l2 .table_box table td {
	padding: 23px 25px 23px 30px;
	border: 1px solid #ccc;
	text-align: left;
	vertical-align: middle;
}
#ship.l2 .table_box table th:first-child,
#ship.l2 .table_box table td:first-child {
	border-left: none;
}
#ship.l2 .table_box table th:last-child,
#ship.l2 .table_box table td:last-child {
	border-right: none;
}
#ship.l2 .table_box table thead th {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	background: #F2FBFE;
	text-align: center;
}
#ship.l2 .th01 {
	width: 14.91%;
	width: 179px;
}
#ship.l2 .th02 {
	width: 17.16%;
	width: 206px;
}
#ship.l2 .th03 {
	width: 15.66%;
	width: 188px;
}
#ship.l2 .th04 {
	width: 14.5%;
	width: 174px;
}
#ship.l2 .th05 {
	width: 21.16%;
	width: 252px;
}
#ship.l2 .th06 {
	width: 16.61%;
	width: 201px;
}
#ship.l2 .table_box table tbody th {
	background: #F6F6F6;
}
#ship.l2 .table_box table tbody th a {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: underline;
	transition: .5s ease-in-out;
}
#ship.l2 .table_box table tbody th a:hover {
	color: #00B9F2;
}
#ship.l2 .table_box table tbody td {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.875;
	word-break: break-all;
}
#ship.l2 .table_box .icon_pdf {
	position: relative;
	padding-left: 27px;
	color: #E50012;
	text-decoration: underline;
}
#ship.l2 .table_box .icon_pdf:hover {
	text-decoration: none;
}
#ship.l2 .table_box .icon_pdf::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/common/icon_pdf.svg) no-repeat;
	width: 21px;
	height: 26px;
}
#ship.l2 .bg_blue {
	width: 100%;
	height: 145px;
	background: #F2FBFE;
}
#skill.l2 .bg_white,
#aboutus.l2 .bg_white,
#recruit.l2 .bg_white,
#sustainability.l2 .bg_white {
	width: calc(100% - 120px);
	margin-right: auto;
	margin-left: 0;
	border-radius: 0 114px 0 0;
	background: #fff;
}
#skill.l2 ul.menulist,
#aboutus.l2 ul.menulist,
#recruit.l2 ul.menulist,
#sustainability.l2 .contents {
	margin-top: 180px;
	padding-top: 120px;
	padding-bottom: 120px;
	position: relative;
	left: 60px;
}
.l3_skill p.sub_txt,
.l3_ship p.sub_txt {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.45;
	margin-top: 74px;
	color: #00A7F3;
}
.l3_skill .wrap_title {
	margin-top: 10px;
	display: flex;
	padding-bottom: 55px;
	position: relative;
}
.l3_skill .wrap_title02 {
	position: relative;
	padding-bottom: 13px;
}
.l3_skill .wrap_title02 div {
	margin-top: 10px;
	display: flex;
	padding-bottom: 2px;
}
.l3_ship .wrap_title {
	margin-top: 10px;
	display: flex;
	padding-bottom: 55px;
	position: relative;
	align-items: center;
}
.l3_ship .wrap_title .name {
	display: flex;
	align-items: center;
}
.l3_skill .wrap_title .category,
.l3_skill .wrap_title02 .category {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.45;
	color: #004DA0;
	padding: 8px;
	border: 1px solid #004DA0;
	width: 180px;
	height: 47px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
}
.l3_ship .wrap_title .category {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.45;
	color: #004DA0;
	padding: 8px 12px;
	border: 1px solid #004DA0;
	min-width: 146px;
	height: 47px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3px;
}
.l3_skill h1 {
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.45;
	color: #004DA0;
	position: relative;
	margin-right: 39px;
}
.l3_ship h1 {
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.45;
	color: #004DA0;
	position: relative;
	margin-right: 36px;
}
.l3_skill .contents_flex {
	display: flex;
	padding: 100px 0 0;
}
.l3_skill .contents_flex h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.66;
}
.l3_skill .contents_flex .left {
	margin-right: 10%;
	width: 48.33%;
}
.l3_skill .contents_flex .right {
	width: 41.67%;
}
.l3_skill section.item h2 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.43;
	color: #004DA0;
	padding-left: 23px;
	padding-bottom: 14px;
	position: relative;
	border-bottom: 1px solid #C8C8C8;
}
.l3_skill section.item h2::before {
	content: "";
	position: absolute;
	width: 13px;
	height: 13px;
	top: 16px;
	left: 0;
	background: #00A7F3;
}
.l3_skill section.item h3 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
	color: #004DA0;
}
.l3_skill section.item h4 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
}
.l3_skill .box_type01 {
	padding: 36px 38px 41px;
	border: 1px solid #004DA0;
	border-radius: 20px;
}
.l3_skill section.item .box_type01 h3 {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.45;
	color: #004DA0;
}
.l3_skill .sec03 .box_type01 {
	max-width: 444px;
}
.l3_skill ul.list_modal {
	display: flex;
}
.l3_skill ul.list_modal li {
	width: calc((100% - 5.5%) / 2);
}
.l3_skill ul.list_modal li a {
	display: block;
	padding: 39px 6.083%;
	border: 1px solid #C8C8C8;
	position: relative;
	transition: .5s ease-in-out;
}
.l3_skill ul.list_modal li a:hover {
	opacity: 0.7;
}
.l3_skill ul.list_modal li a::after {
	content: "";
	position: absolute;
	width: 38px;
	height: 38px;
	background: url(../images/skill/taperpile/icon_expansion.svg) no-repeat;
	right: 0;
	bottom: 0;
}
.l3_skill ul.list_modal li a img {
	max-width: 420px;
	width: 100%;
	margin: auto;
	display: block;
}
.l3_skill ul.list_modal li:first-child {
	margin-right: 5.5%;
}
.l3_skill ul.flex2column_mr40 {
	display: flex;
}
.l3_skill ul.flex2column_mr40 li {
	width: calc((100% - 3.33%) / 2);
}
.l3_skill ul.flex2column_mr40 li:first-child {
	margin-right: 3.33%;
}
.l3_skill section figcaption {
	font-size: 1.6rem;
	font-weight: 400;
}
.l3_skill .line {
	width: 100%;
	height: 1px;
	background: #C8C8C8;
}
.l3_skill .box_border {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	padding: 60px 0;
	border-bottom: 1px solid #C8C8C8;
}
.l3_skill .box_border.border_top {
	border-top: 1px solid #C8C8C8;
}
.l3_skill .box_border .left,
.l3_skill .box_border .right {
	display: flex;
	flex-direction: column;
}
.l3_skill .box_border .left {
	width: 50%;
	padding-right: 10.83%;
	border-right: 1px solid #C8C8C8;
}
.l3_skill .box_border .right {
	width: 50%;
	padding-left: 10.83%;
}
.l3_skill .box_border figure {
	margin-top: auto;
}
.l3_skill .box_border.figure_top0 figure {
	margin-top: 0;
}
.l3_skill p.annotation {
	text-align: right;
}
.l3_skill section.item ul li {
	font-size: 16px;
	font-weight: 400;
	position: relative;
	margin-bottom: 10px;
}
.l3_skill section.item ul li:last-child {
	margin-bottom: 0;
}
.l3_skill section.item ul.type01 li {
	font-size: 16px;
	padding-left: 16px;
}
.l3_skill section.item ul.type01 li::before {
	position: absolute;
	width: 6px;
	height: 6px;
	content: "";
	background: #333;
	border-radius: 50%;
	left: 0;
	top: 12px;
}
.l3_skill section.item ul.type02 {
	list-style-type: decimal;
}
.l3_skill section.item ul.type02 li {
	margin-left: 2.6rem;
}
.l3_skill .flex_wrap {
	display: flex;
	flex-wrap: wrap;
}
.l3_skill .flex_wrap .left {
	margin-right: clamp(20px, 2.083vw, 40px);
	margin-bottom: clamp(20px, 2.083vw, 40px);;
}
.l3_skill section.item .flex_wrap_type02,
.l3_skill section.item .flex_wrap_type03 {
	display: flex;
}
.l3_skill section.item .flex_wrap_type02 .left {
	margin-right: 60px;
}
.l3_skill section.item .flex_wrap_type03 .left {
	margin-right: 30px;
}
.l3_skill section.item .flex_wrap_type02 .right.minw159 {
	min-width: 159px;
}
.l3_skill section.item table {
	width: 100%;
}
.l3_skill section.item th {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.75;
	text-align: left;
	width: 23%;
	padding: 40px 4.5% 40px 5%;
	background: #FBFBFB;
	border-top: 1px solid #9E9E9E;
	border-bottom: 1px solid #9E9E9E;
}
.l3_skill section.item td {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
	width: 73%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 40px 28px 40px 6.66%;
}
.l3_skill .wrap_main h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.66;
}






.modal {
	display: none;
	height: 100%;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}
.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	height: 100dvh;
	position: fixed;
	width: 100%;
	/*height: 100%;*/
}
.modal__content {
	background: #fff;
	left: 50%;
	padding: 60px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	overflow-y: scroll;
}
#network .modal__content {
	width: 100%;
	max-width: 1148px;
	margin: auto;
	padding: 80px 60px;
	height: 90vh;
}
#record .modal__content {
	padding: 24px;
}
#network .modal__content .wrap_modal {
	max-width: 748px;
	margin: auto;
}
.icon_close {
	background: #333;
	width: 40px;
	height: 40px;
	display: block;
	position: absolute;
	top: 24px;
	right: 24px;
}
.modal__content figure {
	height: 100%;
	text-align: center;
}
.modal__content figure img {
	max-height: 100%;
}
.icon_close_bg {
	background: #333;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
#network .modal h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.33;
	margin-top: 8px;
	margin-bottom: 20px;
}
#network .modal hr {
	border: 1px solid #ccc;
	margin: 36px 0 42px;
}
#network .modal h3 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.33;
	color: #004DA0;
	padding-left: 20px;
	position: relative;
	margin-top: 40px;
	margin-bottom: 20px;
}
#network .modal h3:first-of-type {
	margin-top: 0;
}
#network .modal h3::before {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #00A7F3;
	left: 0;
	top: 11px;
}
#network .modal dl:first-of-type {
	margin-top: 0;
}
#network .modal dl {
	margin-top: 30px;
	padding-left: 20px;
}
#network .modal dt {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 2px;
}
#network .modal dd {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}
#network .modal p.txt_caraccess {
	padding-left: 20px;
}
#network .modal .btn_pdf {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 380px;
	width: 100%;
	font-size: 16px;
	font-weight: 400;
	color: #E50012;
	border: 1px solid #E50012;
	border-radius: 5px;
	padding: 17px 40px 19px;
	position: relative;
	margin: 80px auto 0;
	text-align: center;
	transition: .5s ease-in-out;
}
#network .modal .btn_pdf:hover {
	background: rgba(229, 0, 18, 0.03);
}
#network .modal .btn_pdf::after {
	content: "";
	position: absolute;
	background: url(../images/common/icon_pdf.svg);
	width: 21px;
	height: 26px;
	right: 28px;
	top: 0;
	bottom: 0;
	margin: auto;
}
#record .modal figcaption {
	margin: 30px auto 0;
}
#record .modal figcaption p {
	text-align: left;
}
.l3 aside {
	margin-top: 140px;
	width: calc(100% - 120px);
	margin-left: auto;
	border-radius: 50px 0 0 0;
	padding: 120px 40px 73px;
	background: #F2FBFE;
}
.l3 aside .wrap01 {
	position: relative;
	right: 60px;
}
.l3 aside h2 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.45;
	padding-left: 21px;
	position: relative;
}
.l3 aside h2::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	background: #00A7F3;
	top: 12px;
	left: 0;
}
.l3 aside h3 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.45;
	padding-left: 16px;
	margin-top: 30px;
	position: relative;
}
.l3 aside h3:first-of-type {
	margin-top: 68px;
}
.l3 aside h3::before {
	content: "";
	position: absolute;
	width: 4px;
	height: 24px;
	background: #00A7F3;
	top: 6px;
	left: 0;
}
.l3 aside ul {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
}
.l3_company .l3 aside ul,
.l3_aboutus .l3 aside ul,
.l3_recruit .l3 aside ul {
	margin-top: 45px;
}
.l3 aside ul li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 100%;
	background: #C8C8C8;
}
.l3 aside ul li::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 100px;
	background: #00A7F3;
	z-index: 2;
}
.l3 aside ul li a {
	display: block;
	font-size: 18px;
	position: relative;
	padding-right: 55px;
	transition: .5s ease-in-out;
}
.l3 aside ul li a.pdf {
	padding-left: 32px;
	color: #E50012;
}
.l3 aside ul li a.pdf:hover {
	color: #E50012;
}
.l3 aside ul li a.pdf::before {
	content: "";
	position: absolute;
	width: 21px;
	height: 26px;
	background: url(../images/common/icon_pdf.svg) no-repeat;
	left: 0;
	top: 5px;
}
.l3 aside ul li a:hover {
	color: #00B9F2;
}
.l3 aside ul li a::after {
	content: "";
	position: absolute;
	background: url(../images/common/icon_listarrow.svg) no-repeat;
	width: 37px;
	height: 7px;
	right: 10px;
	top: 12px;
	transition: .5s ease-in-out;
}
.l3 aside ul li a span.icon_window {
	margin-left: 10px;
	width: 15px;
	height: 15px;
	display: inline-block;
	background: url(../images/common/icon_window.svg) no-repeat;
}
.l3_company p.sub_txt,
.l3_aboutus p.sub_txt,
.l3_recruit p.sub_txt,
.l3_workdetail p.sub_txt {
	font-size: 2.4rem;
	font-weight: 500;
	color: #00A7F3;
	line-height: 1.45;
	margin-top: 74px;
}
.l3_company h1,
.l3_aboutus h1,
.l3_recruit h1,
.l3_workdetail h1,
.l2_etc h1,
.l3_skill section.item h2.style_h1 {
	font-size: 4.2rem;
	font-weight: bold;
	color: #004DA0;
	padding-bottom: 50px;
	position: relative;
	margin-top: 74px;
}
.l2_etc h1 {
	margin-top: 108px;
}
.l3_workdetail h1 {
	font-feature-settings: "palt";
}
.l3_skill section.item h2.style_h1 {
	padding-left: 0;
	border-bottom: none;
}
.l3_workdetail h1 small {
	font-size: 2rem;
	color: #333;
	display: block;
}
.l3_company h1::before,
.l3_aboutus h1::before,
.l3_recruit h1::before,
.l3_workdetail h1::before,
.l2_etc h1::before,
.l3_skill section.item h2.style_h1::before {
	content: "";
	position: absolute;
	width: 12.5%;
	height: 1px;
	background: #00A7F3;
	left: 0;
	bottom: 0;
	z-index: 2;
}
.l3_skill section.item h2.style_h1::before {
	top: auto;
}
.l3_company h1::after,
.l3_aboutus h1::after,
.l3_recruit h1::after,
.l3_workdetail h1::after,
.l2_etc h1::after,
.l3_skill section.item h2.style_h1::after {
	content: "";
	position: absolute;
	width: 150%;
	height: 1px;
	background: #E1E1E1;
	left: 0;
	bottom: 0;
}
.l3_company table,
.l3_recruit table {
	width: 100%;
}
.l3_company table th,
.l3_recruit table th {
	font-size: 16px;
	font-weight: 500;
	text-align: left;
	line-height: 1.75;
	width: 27%;
	padding: 40px 4.5% 40px 5%;
	background: #FBFBFB;
	border-top: 1px solid #9E9E9E;
	border-bottom: 1px solid #9E9E9E;
	font-feature-settings: "palt";
}
.l3_company table tr.txt_china th,
.l3_recruit table tr.txt_china th,
.l3_company table tr.txt_china td .wrap_td p,
.l3_recruit table tr.txt_china td .wrap_td p {
	font-family: 'Noto Sans SC', sans-serif;
}
.l3_company table td,
.l3_recruit table td {
	font-size: 16px;
	font-weight: 400;
	width: 73%;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 40px 28px 40px 6.66%;
	font-feature-settings: "palt";
}
.l3_company table td .wrap_td,
.l3_recruit table td .wrap_td {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.l3_company table td p,
.l3_recruit table td p {
	line-height: 1.75;
	margin-right: 30px;
	font-feature-settings: "palt";
}
.l3_company table td ul.list_fields li {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
	margin-bottom: 5px;
	position: relative;
	padding-left: 15px;
}
.l3_company table td ul.list_fields li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 6px;
	height: 6px;
	margin: auto;
	background: #333;
	border-radius: 50%;
}
.l3_company table td ul.list_fields li:last-child {
	margin-bottom: 0;
}
.l3_company .btn_map {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.42;
	color: #fff;
	min-width: 80px;
	height: 51px;
	background: #00B9F2;
	border-radius: 7px;
	transition: .5s ease-in-out;
}
.l3_company .btn_map:hover {
	opacity: 0.7;
}
.l3_company .modal__content .wrap_map {
	max-width: 603px;
	margin: 80px auto 0;
}
.l3_company .modal__content .iframe_map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 69.81%;
	margin: auto;
}
.l3_company .modal__content .iframe_map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.l3_company .contents_flex {
	display: flex;
	justify-content: space-between;
}
.l3_company .contents_flex .left {
	width: 50.41%;
	margin-right: 40px;
}
.l3_company .contents_flex .right {
	width: 41.83%;
}
.l3_company .txt_president {
	max-width: 260px;
}
#policy.l3_company section h2,
.l2_etc section.item h2,
#sustainability .sec02 h3,
#field_trip h2.type01 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.43;
	color: #004DA0;
	padding-left: 24px;
	padding-bottom: 14px;
	position: relative;
}
#policy.l3_company section h2::before,
.l2_etc section.item h2::before,
#sustainability .sec02 h3::before,
#field_trip h2.type01::before {
	content: "";
	position: absolute;
	width: 13px;
	height: 13px;
	left: 0;
	top: 16px;
	background: #00A7F3;
}
#policy.l3_company section h2::after,
.l2_etc section.item h2::after,
#sustainability .sec02 h3::after,
#field_trip h2.type01::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #C8C8C8;
	left: 0;
	bottom: 0;
}
#policy.l3_company ul.lsit-box_blue {
	padding: 76px 13.16% 87px;
	background: #F2FBFE;
	border-radius: 20px;
}
#policy.l3_company ul.lsit-box_blue li {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.75;
	position: relative;
	margin-bottom: 15px;
	padding-left: 25px;
	text-indent: -25px;
}
#policy.l3_company ul.lsit-box_blue li:last-child {
	margin-bottom: 0;
}
#policy.l3_company ul.lsit-box_blue li::before {
	content: "・";
	margin-right: 5px;
}
#history.l3_company section h2 {
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.73;
}
#history.l3_company dl {
	margin-top: 8px;
	display: flex;
	width: 100%;
	border-top: 1px solid #9E9E9E;
	border-bottom: 1px solid #CCCCCC;
}
#history.l3_company dl dt {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.45;
	padding: 37px 20px;
	width: 180px;
	background: #FBFBFB;
	display: flex;
	align-items: center;
	justify-content: center;
}
#history.l3_company dl dd {
	width: calc(100% - 180px);
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.6;
	padding: 39px 20px 38px 4.83%;
}
#history.l3_company a.txt_link {
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.75;
	color: #00B9F2;
	text-decoration: underline;
}
#history.l3_company a.txt_link:hover {
	text-decoration: none;
}
#organization.l3_company .btn_pdf {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	padding: 17px 30px;
	color: #E50012;
	position: relative;
	border: 1px solid #E50012;
	border-radius: 5px;
	width: 100%;
	max-width: 280px;
	margin: 67px auto 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .5s ease-in-out;
	letter-spacing: 0.1em;
}
#organization.l3_company .btn_pdf:hover {
	background: rgba(229, 0, 18, 0.03);
}
#organization.l3_company .btn_pdf::after {
	content: "";
	position: absolute;
	background: url(../images/common/icon_pdf.svg) no-repeat;
	width: 21px;
	height: 26px;
	right: 24px;
	top: 0;
	bottom: 0;
	margin: auto;
}
#link.l3_company section ul {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
#link.l3_company section ul li {
	width: calc(95% / 2);
	margin-bottom: 42px;
}
#link.l3_company section ul li:nth-child(2n-1) {
	margin-right: 5%;
}
#link.l3_company section ul li a {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #00B9F2;
	padding-left: 44px;
	padding-bottom: 42px;
	text-decoration: underline;
	position: relative;
	display: block;
	height: 100%;
	font-feature-settings: "palt";
}
#link.l3_company section ul li a:hover {
	text-decoration: none;
}
#link.l3_company section ul li a::before {
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1.5px #05B5E2;
	border-right: solid 1.5px #05B5E2;
	position: absolute;
	left: 23px;
	top: 8px;
	transform: rotate(45deg);
}
#link.l3_company section ul li a::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #CCCCCC;
	left: 0;
	bottom: 0;
}
#topics.l2 .sec01 {
	background: #F2FBFE;
	padding: 120px 0;
}
#topics.l2 .sec01 .bg_white {
	background: #fff;
	border-radius: 0 114px 0 0 ;
	width: calc(100% - 120px);
	padding: 120px 0;
}
#topics.l2 .sec01 .bg_white .wrap01 {
	position: relative;
	left: 60px;
}
#topics.l2 ul.article {
	margin-bottom: 120px;
}
#topics.l2 ul.article li a {
	display: flex;
	padding: 38px 32px;
	border-bottom: 1px solid #ccc;
}
#topics.l2 ul.article li:first-child a {
	border-top: 1px solid #ccc;
}
#topics.l2 ul.article li a div {
	display: flex;
}
#topics.l2 ul.article time {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	margin-right: 52px;
	display: block;
	width: 80px;
	white-space: nowrap;
}
#topics.l2 ul.article li a span {
	font-family: 'Overpass', sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.26;
	color: #E50012;
	display: block;
	position: relative;
	top: 6px;
	margin-right: 20px;
	width: 32px;
}
#topics.l2 ul.article p {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	transition: .5s ease-in-out;
}
#topics.l2 ul.article a p:hover {
	color: #00B9F2;
}
#topics.l2 ul.article a.nolink p:hover {
	color: #333;
}
#topics.l2 ul.pager {
	display: flex;
	justify-content: center;
	margin-bottom: 120px;
}
#topics.l2 ul.pager li {
	width: 30px;
	height: 45px;
	margin-right: 6px;
}
#topics.l2 ul.pager li:last-child {
	margin-right: 0;
}
#topics.l2 ul.pager li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	border: 1px solid #DCDCDC;
	transition: .5s ease-in-out;
}
#topics.l2 ul.pager li a.current,
#topics.l2 ul.pager li a:hover {
	background: #00B9F2;
	border: 1px solid #00B9F2;
	color: #fff;
}
#topics.l2 ul.archive-year {
	display: flex;
	flex-wrap: wrap;
}
#topics.l2 ul.archive-year li a {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.45;
	padding-left: 22px;
	padding-bottom: 12px;
	position: relative;
	width: 100%;
	display: block;
	transition: .5s ease-in-out;
}
#topics.l2 ul.archive-year li a:hover {
	color: #00B9F2;
}
#topics.l2 ul.archive-year li a::before {
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1.5px #05B5E2;
	border-right: solid 1.5px #05B5E2;
	position: absolute;
	left: 0;
	top: 10px;
	transform: rotate(45deg);
}
#topics.l2 ul.archive-year li a::after {
	content: "";
	position: absolute;
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 0;
	background: #ccc;
}
#topics_detail.l3 .txt_wrap {
	padding-top: 120px;
}
#topics_detail.l3 p.time_txt {
	letter-spacing: 0.06em;
}
#topics_detail.l3 h1 {
	font-size: 4rem;
	line-height: 1.26;
	margin-top: 6px;
	padding-bottom: 28px;
	border-bottom: 1px solid #D2D2D2;
}
#topics_detail.l3 .sec01 {
	padding-top: 60px;
	padding-bottom: 120px;
}
#topics_detail.l3 .sec01 h2 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.43;
}
.archive h2 {
	font-size: 3.6rem;
	line-height: 1.26;
	padding-bottom: 40px;
	color: #004DA0;
}
#topics_detail.l3 .sec01 h3 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
}
#topics_detail.l3 .sec01 h4 {
	font-size: 2rem;
}
#topics_detail.l3 .sec01 ul li {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 14px;
	line-height: 1.5;
	position: relative;
	text-indent: -18px;
	padding-left: 18px;
}
#topics_detail.l3 .sec01 ul.type02 li {
	font-size: 16px;
	font-weight: 400;
	text-indent: -16px;
	padding-left: 16px;
}
#topics_detail.l3 .sec01 ul li::before {
	content: "●";
}
#topics_detail.l3 .sec01 ul li:last-child {
	margin-bottom: 0;
}
#topics_detail.l3 .sec01 ol {
	list-style: decimal;
	padding-left: 18px;
}
#topics_detail.l3 .sec01 ol li {
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 14px;
	line-height: 1.5;
}
#topics_detail.l3 .sec01 ol li:last-child {
	margin-bottom: 0;
}
#topics_detail.l3 .sec01 a {
	display: block;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: #00B9F2;
	text-decoration: underline;
}
#topics_detail.l3 .sec01 a.inline {
	display: inline;
}
#topics_detail.l3 .sec01 a:hover {
	text-decoration: none;
}
#topics_detail.l3 .sec01 a[href*=".pdf"],
.l2_etc section.item a[href*=".pdf"] {
	display: block;
	font-size: 15px;
	font-weight: 500;
	padding-left: 32px;
	color: #E50012;
	position: relative;
	text-decoration: none;
}
#topics_detail.l3 .sec01 a[href*=".pdf"]:hover,
.l2_etc section.item a[href*=".pdf"]:hover {
	text-decoration: underline;
}
#topics_detail.l3 .sec01 a[href*=".pdf"]::before,
.l2_etc section.item a[href*=".pdf"]::before {
	content: "";
	position: absolute;
	left: 0;
	width: 21px;
	height: 26px;
	background: url(../images/common/icon_pdf.svg) no-repeat;
}
#documents.l2_etc section.item a[href*=".pdf"] {
	font-size: 20px;
}
#documents.l2_etc section.item a[href*=".pdf"]::before {
	top: 5px;
}
#topics_detail.l3 .sec01 .wp-block-table {
	overflow-x: auto;
	margin: 20px 0 0;
}
#topics_detail.l3 .sec01 .wp-block-table.type02 {
	table-layout: fixed;
}
#topics_detail.l3 .sec01 .wp-block-table table {
	width: 100%;
}
#topics_detail.l3 .sec01 .wp-block-table.type02 table {
	width: auto;
}
#topics_detail.l3 .sec01 .wp-block-table table tr {
	border-bottom: 1px solid #ccc;
}
#topics_detail.l3 .sec01 .wp-block-table table tr:first-of-type {
	border-top: 1px solid #ccc;
}
#topics_detail.l3 .sec01 .wp-block-table table th {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.875;
	background: #FBFBFB;
	padding: 30px 20px;
	vertical-align: middle;
	width: 295px;
	border-right: 1px solid #ccc;
}
#topics_detail.l3 .sec01 .wp-block-table.type02 table th,
#topics_detail.l3 .sec01 .wp-block-table.type02 table td {
	border: 1px solid #CCC;
	display: table-cell;
	text-align: center;
}
#topics_detail.l3 .sec01 .wp-block-table table td {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.875;
	padding: 30px 4.33%;
}
#topics_detail.l3 .sec01 .wp-block-table.type03 table td {
	border-right: 1px solid #ccc;
}
#topics_detail.l3 .sec01 .wp-block-table.type03 table th:last-child,
#topics_detail.l3 .sec01 .wp-block-table.type03 table td:last-child {
	border-right: none;
}
#topics_detail.l3 .sec01 .wp-block-table.desc_list td span {
	display: block;
	text-indent: -20px;
	padding-left: 20px;
}
#topics_detail.l3 .btn01 {
	margin: auto;
}
#topics_detail.l3 .maxw890 {
	max-width: 890px;
}
#topics_detail.l3 .maxw580 {
	max-width: 540px;
}
#topics_detail.l3 .img_flex_colmun04,
#topics_detail.l3 .img_flex_colmun03,
#topics_detail.l3 .img_flex_colmun02 {
	display: flex;
	flex-wrap: wrap;
}
#topics_detail.l3 .img_flex_colmun04 li,
#topics_detail.l3 .img_flex_colmun03 li,
#topics_detail.l3 .img_flex_colmun02 li {
	padding-left: 0 !important;
	text-indent: 0 !important;
}
#topics_detail.l3 .img_flex_colmun04 li::before,
#topics_detail.l3 .img_flex_colmun03 li::before,
#topics_detail.l3 .img_flex_colmun02 li::before {
	content: none !important;
}

#topics_detail.l3 .f-18 {
	font-size: 18px;
}
#topics_detail.l3 .f-bold {
	font-weight: bold;
}
#topics_detail.l3 article .flex_wrap {
	display: flex;
}
#topics_detail.l3 article .flex_wrap .left {
	margin-right: 5%;
}
#topics_detail.l3 article .flex_wrap figure {
	flex-shrink: 0;
}
#topics_detail.l3 article p.indent01 {
	text-indent: -16px;
	padding-left: 16px;
}
#topics_detail.l3 article p.indent02 {
	text-indent: -16px;
	padding-left: 32px;
}
.l3_aboutus ul.list_scroll {
	display: flex;
}
.l3_aboutus ul.list_scroll li a {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 15px 26px;
	text-align: center;
	position: relative;
	transition: .5s ease-in-out;
}
.l3_aboutus ul.list_scroll li a:hover {
	color: #00A7F3;
}
.l3_aboutus ul.list_scroll li a::after {
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1.5px #05B5E2;
	border-right: solid 1.5px #05B5E2;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 7px;
	margin: auto;
	transform: rotate(135deg);
}
#record .sec01,
#strength .sec01 {
	background: #F2FBFE;
	padding: 80px 0 120px;
}
#record .sec01 .bg_white,
#strength .sec01 .bg_white {
	background: #fff;
	max-width: 1550px;
	margin: auto;
	border-radius: 55px;
}
#record .sec01 .bg_white {
	padding-top: 100px;
	padding-bottom: 100px;
}
#strength .sec01 .bg_white {
	padding-top: 57px;
	padding-bottom: 100px;
}
#record section h2 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.43;
	color: #004DA0;
	padding-bottom: 9px;
	position: relative;
	display: flex;
	align-items: center;
}
#record section h2::before {
	content: "";
	position: absolute;
	width: 21.16%;
	height: 1px;
	background: #00A7F3;
	left: 0;
	bottom: 0;
	z-index: 2;
}
#record section h2::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #E1E1E1;
	left: 0;
	bottom: 0;
}
#record section h2 span {
	font-family: 'Overpass', sans-serif;
	font-size: 6rem;
	font-weight: 500;
	color: #00A7F3;
	line-height: 1.26;
	margin-right: 9px;
	display: block;
}
#record section h2 span.ml7 {
	margin-left: 7px;
}
#record section dl {
	display: flex;
}
#record section dl dt {
	width: 252px;
	text-align: left;
	padding-right: 3.91%;
	position: relative;
}
#record section dl dt::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #00A7F3;
	top: 12px;
	right: -5px;
	z-index: 2;
}
#record section dl dt p {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: right;
}
#record section dl dt p span {
	font-family: 'Overpass', sans-serif;
	font-size: 9rem;
	font-weight: 500;
	line-height: 1.25;
	color: rgba(0, 167, 243, 0.15);
	display: block;
	margin-top: 10px;
}
#record section dl dd {
	width: calc(100% - 252px);
	padding: 52px 40px 97px 8.66%;
	position: relative;
	top: 17px;
}
#record section dl dd::before {
	content: "";
	position: absolute;
	background-image: linear-gradient(to bottom, #C8C8C8 2px, transparent 2px);
	background-size: 1px 6px;
	background-repeat: repeat-y;
	width: 1px;
	height: 100%;
	left: 0;
	top: 0;
}
#record section dl.last_dl dd {
	padding-bottom: 0;
}
#record section dl dd::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #E1E1E1;
}
#record section dl dd ul li {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	position: relative;
	padding-left: 18px;
	font-feature-settings: "palt";
	margin-bottom: 2px;
}
#record section dl dd ul li:last-child {
	margin-bottom: 0;
}
#record section dl dd ul li a {
	font-size: 16px;
	font-weight: 400;
	color: #00A7F3;
	text-decoration: underline;
}
#record section dl dd ul li a:hover {
	text-decoration: none;
}
#record section dl dd ul li::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #333;
	left: 0;
	top: 12px;
}
#record section dl dd .img {
	margin-top: 42px;
	max-width: 361px;
}
#record section dl dd .img_2column {
	display: flex;
	margin-top: 42px;
}
#record section dl dd .img_2column div {
	max-width: 361px;
}
#record section dl dd .img_2column div:first-of-type {
	margin-right: 40px;
}
.l2 ul.menulist li .icon_window {
	position: relative;
	top: 2px;
	margin-left: 9px;
	width: 15px;
	height: 15px;
	background: url(../images/common/icon_window.svg) no-repeat;
	display: inline-block;
}
#career .sec01 a {
	font-size: 16px;
	font-weight: 400;
	color: #00B9F2;
	text-decoration: underline;
}
#career section a:hover {
	text-decoration: none;
}
#career .sec01 h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
}
.l3_workdetail .list_overview {
	display: flex;
	flex-wrap: wrap;
}
.l3_workdetail dl {
	display: flex;
	position: relative;
	padding-left: 17px;
	margin-right: 60px;
	margin-bottom: 20px;
}
.l3_workdetail dl:last-of-type {
	margin-bottom: 0;
}
.l3_workdetail dl::before {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	left: 0;
	top: 10px;
	background: #00A7F3;
	border-radius: 50%;
}
.l3_workdetail dl dt {
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.6;
	position: relative;
	padding-right: 20px;
	white-space: nowrap;
}
.l3_workdetail dl dt::after {
	content: "";
	position: absolute;
	height: 20px;
	width: 1px;
	transform: rotate(27deg);
	background: #333;
	right: 0;
	top: 7px;
}
.l3_workdetail dl dd {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	padding-left: 20px;
	font-feature-settings: "palt";
}
.l3_workdetail .space {
	width: 100%;
}
.l3_workdetail .content_img {
	display: flex;
}
.l3_workdetail .content_img .left {
	margin-right: 4.1666vw;
}
.l3_workdetail .content_img.type01 .left {
	width: calc((100% - 4.1666vw) / 2);
}
.l3_workdetail .content_img.type02 .left {
	width: 60%;
}
.l3_workdetail .content_img .right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.l3_workdetail .content_img .right.flex-start {
	justify-content: flex-start;
}
.l3_workdetail .content_img.type01 .right {
	width: calc((100% - 4.1666vw) / 2);
}
.l3_workdetail .content_img.type02 .right {
	width: 33.33%;
}
.l3_workdetail .content_img_1item {
	max-width: 560px;
	margin: auto;
}
.l3_workdetail .content_img .right .right-top {
	margin-bottom: min(3.125vw, 60px);
}
.l3_workdetail .content_img.top3125vw {
	margin-top: clamp(3.125vw, calc(4.125vw), 60px);
}
.l3_workdetail .btn01 {
	margin: 120px auto;
}
.l3_ship p.txt_en {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	color: #004DA0;
	margin-right: 42px;
}
.l3_ship .sec01 {
	padding-bottom: 100px;
}
.l3_ship .sec01 h2 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.46;
	color: #004DA0;
	padding-left: 24px;
	padding-bottom: 13px;
	position: relative;
	border-bottom: 1px solid #C8C8C8;
}
.l3_ship .sec01 h2::before {
	content: "";
	position: absolute;
	width: 13px;
	height: 13px;
	background: #00A7F3;
	left: 0;
	top: 18px;
}
.l3_ship .contents_flex {
	display: flex;
}
.l3_ship .contents_flex .left {
	max-width: 620px;
	width: 51.66%;
	margin-right: 6.5%;
}
.l3_ship .contents_flex .right {
	width: calc(100% - 6.5% - 51.66%);
}
.l3_ship .contents_flex .right p {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
}
.l3_ship .contents_flex .right dl {
	display: flex;
	padding-left: 17px;
	position: relative;
}
.l3_ship .contents_flex .right dl::before {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #00A7F3;
	left: 0;
	top: 11px;
}
.l3_ship .contents_flex .right dt {
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.6;
	position: relative;
	padding-right: 17px;
	white-space: nowrap;
}
.l3_ship .contents_flex .right dt::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 20px;
	background: #333;
	transform: rotate(27deg);
	right: 0;
	top: 7px;
}
.l3_ship .contents_flex .right dd {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.6;
	padding-left: 17px;
}
.l3_ship .sec01 .btn01 {
	margin: 135px auto 0;
}
#thinlayergrab .main .img {
	max-width: 872px;
}
#steelpipeconcrete .sec01 .img01 {
	max-width: 847px;
}
#steelpipeconcrete .flex01 {
	display: flex;
}
#steelpipeconcrete .flex01 .left {
	margin-right: 6.66%;
	width: 36.83%;
}
#steelpipeconcrete .flex01 .right {
	display: flex;
	flex-wrap: wrap;
	width: 50.83%;
}
#steelpipeconcrete .flex01 .right figure {
	width: calc((100% - 6.55%) / 2);
}
#steelpipeconcrete .flex01 .right figure:nth-of-type(2n-1) {
	margin-right: 6.55%;
}
#steelpipeconcrete .flex02,
#steelpipeconcrete .flex03 {
	display: flex;
}
#steelpipeconcrete .flex02 .left {
	max-width: 457px;
	width: auto;
	margin-right: 5.41%;
}
#steelpipeconcrete .flex02 .right {
	max-width: 285px;
	width: 23.75%;
}
#steelpipeconcrete .flex03 .left {
	max-width: 457px;
	width: 38.08%;
	margin-right: 5.41%;
}
#steelpipeconcrete .flex03 .right {
	display: flex;
	max-width: 605px;
	width: 50.41%;
}
#steelpipeconcrete .flex03 .right figure {
	width: calc((100% - 5.78%) / 2);
}
#steelpipeconcrete .flex03 .right figure:first-of-type {
	margin-right: 5.78%;
}
#metalroad section .flex01 {
	display: flex;
}
#metalroad section .flex01 .left_flex01 {
	max-width: 469px;
	margin-right: 40px;
}
#metalroad section .flex01 .right_flex01 {
	max-width: 469px;
}
#metalroad section .txt_contact {
	font-feature-settings: "palt";
}
.l2_etc .sec01 {
	padding-bottom: 150px;
}
#sitemap .wrap_flex {
	display: flex;
}
#sitemap .wrap_flex .colmun:nth-of-type(1) {
	width: 22.66%;
}
#sitemap .wrap_flex .colmun:nth-of-type(2) {
	width: 29.5%;
}
#sitemap .wrap_flex .colmun:nth-of-type(3) {
	width: 24.83%;
}
#sitemap .wrap_flex .colmun:nth-of-type(4) {
	width: 22.91%;
}
#sitemap .wrap_flex .colmun:not(:last-of-type) {
	padding-right: 2.5%;
}
#sitemap .sec01 h2 a {
	font-size: 20px;
	display: block;
	font-weight: bold;
	line-height: 1.45;
	padding-left: 28px;
	position: relative;
	transition: .5s ease-in-out;
}
#sitemap .sec01 small {
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	white-space: nowrap;
	display: block;
	margin-top: 2px;
}
#sitemap .sec01 li a {
	font-size: 16px;
	display: block;
	font-weight: 400;
	line-height: 1.45;
	padding-left: 28px;
	position: relative;
	margin-top: 10px;
	transition: .5s ease-in-out;
}
#sitemap .sec01 h2 a:hover,
#sitemap .sec01 li a:hover {
	color: #004DA0;
}
#sitemap .sec01 li:first-child a {
	margin-top: 15px;
}
#sitemap .sec01 li:last-child a {
	margin-bottom: 0;
}
#sitemap .sec01 h2 a::before{
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	left: 7px;
	top: 12px;
	transform: rotate(45deg);
}
#sitemap .sec01 li a::before {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	position: absolute;
	left: 7px;
	top: 8px;
	transform: rotate(45deg);
}
#sitemap .sec01 a span.icon_pdf {
	display: inline-block;
	width: 15px;
	height: 19px;
	background: url(../images/sitemap/icon_pdf.svg) no-repeat;
	position: relative;
	top: 3px;
	margin-left: 9px;
}
#sitemap .sec01 a span.icon_window {
	display: inline-block;
	width: 15px;
	height: 15px;
	background: url(../images/sitemap/icon_window.svg) no-repeat;
	margin-left: 9px;
}
.l2_etc section.item h3 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}
.l2_etc section.item ul li {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 8px;
	text-indent: -16px;
	padding-left: 16px;
}
.l2_etc section.item ul li:first-child {
	margin-top: 5px;
}
#sustainability .mask {
	position: relative;
}
#sustainability .fukidashi {
	width: 100%;
	height: 300px;
	background: url(../images/sustainability/img_fukidashi.png) no-repeat;
	background-size: cover;
	background-position: center bottom;
	border-radius: 25px;
	overflow: hidden;
}
#sustainability .mask::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -42px;
	margin: auto;
	width: 73px;
	height: 66px;
	background: url(../images/sustainability/fukidashi_arrow.png) no-repeat;
}
#sustainability .fukidashi h2 {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.25;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #fff;
	height: 100%;
	margin-bottom: 0;
	padding: 40px;
}
#sustainability .fukidashi h2 .brackets_before {
	width: 57px;
	height: 57px;
	border-left: solid 3px #fff;
	border-top: solid 3px #fff;
	margin-right: 27px;
	margin-bottom: 48px;
}
#sustainability .fukidashi h2 .brackets_after {
	width: 57px;
	height: 57px;
	border-right: solid 3px #fff;
	border-bottom: solid 3px #fff;
	margin-left: 27px;
	margin-top: 48px;
}
#sustainability .sec02 ul.wrap_flex {
	display: flex;
	align-items: stretch;
}
#sustainability .sec02 ul.wrap_flex li {
	display: flex;
	flex-direction: column;
}
#sustainability .sec02 ul.wrap_flex li .wrap_title {
	text-align: center;
	position: relative;
	padding: 30px;
}
#sustainability .sec02 ul.wrap_flex li .wrap_title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: clamp(35px, 3.645vw, 70px);
	height: 100%;
	border: 1px solid #AFAFAF;
	border-right: none;
}
#sustainability .sec02 ul.wrap_flex li .wrap_title::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: clamp(35px, 3.645vw, 70px);
	height: 100%;
	border: 1px solid #AFAFAF;
	border-left: none;
}
#sustainability .sec02 ul.wrap_flex li small {
	font-family: 'Overpass', sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	color: #A5A5A5;
	line-height: 1.27;
	margin-top: 8px;
	display: block;
}
#sustainability .sec02 h4 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.45;
	display: flex;
	align-items: center;
	justify-content: center;
}
#sustainability .sec02 h4 span {
	font-family: 'Overpass', sans-serif;
	font-size: 6.3rem;
	font-weight: 500;
	color: #00A7F3;
	line-height: 1;
	display: block;
	margin-right: 11px;
	position: relative;
	bottom: -6px;
}
#sustainability .sec02 h5 {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.77;
	padding-left: 13px;
	position: relative;
}
#sustainability .sec02 h5::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #00B9F2;
}
#sustainability .sec02 ul.wrap_flex li p {
	margin-top: 8px;
}
#sustainability .sec02 .img {
	margin-top: auto;
}
#strength .sec01 .wrap_title {
	display: flex;
}
#strength .sec01 .wrap_title .txt_en span {
	font-family: 'Overpass', sans-serif;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.23;
	color: #00A7F3;
	display: block;
}
#strength .sec01 .wrap_title .txt_en {
	font-family: 'Overpass', sans-serif;
	font-size: 6.7rem;
	font-weight: 500;
	line-height: 1.26;
	color: #00A7F3;
	padding-right: 50px;
	position: relative;
	padding-top: 3px;
}
#strength .sec01 .wrap_title .txt_en::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 90px;
	background: #00A7F3;
	right: 0;
	top: 0;
}
#strength .sec01 .wrap_title .txt_en.adjust {
	margin-left: -6px;
}
#strength .sec01 .wrap_title .txt_en.adjust span {
	padding-left: 6px;
}
#strength .sec01 .wrap_title h2 {
	padding-left: 52px;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.43;
	color: #004DA0;
	display: flex;
	align-items: center;
	padding-bottom: 7px;
}
#strength .sec01 .wrap_flex {
	display: flex;
}
#strength .sec01 .wrap_flex .left {
	width: 35.5%;
	margin-right: 6.25%;
}
#strength .sec01 .wrap_flex .left img {
	border-radius: 25px;
}
#strength .sec01 .wrap_flex .right {
	width: 58.25%;
}
#system.l3_skill section.main h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.66;
}
#system.l3_skill ul.wrap_flex {
	display: flex;
	max-width: 940px;
}
#system.l3_skill ul.wrap_flex li {
	width: calc(100% - 4.255%);
}
#system.l3_skill ul.wrap_flex li:first-child {
	margin-right: 4.255%;
}
#system.l3_skill .contactbox {
	border: 1px solid #004DA0;
	padding: 48px 40px 53px;
	border-radius: 20px;
}
#system.l3_skill .contactbox .wrap_flex {
	display: flex;
	align-items: center;
	justify-content: center;
}
#system.l3_skill .contactbox .wrap_flex .left {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-right: 35px;
	position: relative;
	top: -5px;
}
#system.l3_skill .contactbox .wrap_flex .right .tel {
	font-family: 'Oswald', sans-serif;
	color: #004DA0;
	font-size: 5rem;
	line-height: 1.15;
	white-space: nowrap;
	padding-left: 35px;
	position: relative;
}
#system.l3_skill .contactbox .wrap_flex .right .tel::before {
	content: "";
	position: absolute;
	background: url(../images/common/icon_tel.svg) no-repeat;
	width: 28px;
	height: 33px;
	left: 0;
	top: 0;
	bottom: -10px;
	margin: auto;
}
#system.l3_skill .contactbox .wrap_flex .right .person {
	padding-left: 33px;
}
#clearmysunny.l3_skill .bgbox01 {
	background: #FFF7EC;
	padding: 80px 40px 80px 12.5%;
	border-radius: 20px;
	position: relative;
}
#clearmysunny.l3_skill .bgbox01::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 55px 35px 0 35px;
	border-color: #FFF7EC transparent transparent transparent;
	bottom: -35px;
	left: 0;
	right: 0;
	margin: auto;
}
#clearmysunny.l3_skill .bgbox01 p {
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.43;
}
#clearmysunny.l3_skill .bgbox01 p span {
	color: #FF7903;
	font-weight: bold;
}
#clearmysunny.l3_skill ul.menu_scroll,
#topics_detail.l3 ul.menu_scroll {
	display: flex;
	align-items: stretch;
}
#clearmysunny.l3_skill ul.menu_scroll li,
#topics_detail.l3 .sec01 ul.menu_scroll li {
	margin-right: 20px;
	margin-bottom: 20px;
}
#topics_detail.l3 .sec01 ul.menu_scroll li {
	text-indent: 0;
	padding-left: 0;
}
#topics_detail.l3 ul.menu_scroll li::before {
	content: none;
}
#clearmysunny.l3_skill ul.menu_scroll li a,
#topics_detail.l3 ul.menu_scroll li a {
	font-size: 2rem;
	line-height: 1.45;
	font-weight: 400;
	padding: 17px 30px 20px 46px;
	position: relative;
	border: 1px solid #c8c8c8;
	height: 100%;
	display: flex;
	align-items: center;
	transition: .5s;
}
#topics_detail.l3 ul.menu_scroll li a {
	text-decoration: none;
	color: #333;
}
#clearmysunny.l3_skill ul.menu_scroll li a:hover,
#topics_detail.l3 ul.menu_scroll li a:hover {
	border-color: #05B5E2;
	color: #05B5E2;
}
#clearmysunny.l3_skill ul.menu_scroll li a::before,
#topics_detail.l3 ul.menu_scroll li a::before {
	content: "";
	position: absolute;
	background: url(../images/skill/clearmysunny/icon_arrow.svg) no-repeat;
	width: 10px;
	height: 7px;
	left: 29px;
	top: 0;
	bottom: 0;
	margin: auto;
}
#clearmysunny.l3_skill section.item .txt_orange {
	color: #FF7903;
	display: inline-block;
	font-weight: bold;
	line-height: 1.43;
}
#clearmysunny.l3_skill .bgbox02 {
	background: #F2F5FA;
	padding: 80px 40px 80px 12.5%;
	border-radius: 20px;
}
#clearmysunny.l3_skill .bgbox02 ul li {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.45;
	position: relative;
	padding-left: 24px;
}
#clearmysunny.l3_skill .bgbox02 ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 14px;
	width: 12px;
	height: 12px;
	background: #FF7903;
	border-radius: 50%;
}
#clearmysunny.l3_skill .bgbox03 {
	padding: 55px;
	display: flex;
	background: #F2F5FA;
	border-radius: 20px;
}
#clearmysunny.l3_skill .bgbox03 h3 {
	color: #333;
}
#clearmysunny.l3_skill .bgbox03 div {
	border: 1px solid #8EBCEE;
	border-radius: 10px;
	background: #fff;
	padding: 70px 40px 70px 9.16%;
	width: calc((100% - 30px) / 2);
}
#clearmysunny.l3_skill .bgbox03 div.left {
	margin-right: 30px;
}
#clearmysunny.l3_skill .bgbox03 ul li {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 10px;
}
#clearmysunny.l3_skill .bgbox04 {
	border-radius: 20px;
	background: #fff;
	border: 1px solid #C8C8C8;
	overflow: hidden;
}
#clearmysunny.l3_skill .bgbox04 .header {
	background: #F2F5FA;
	padding: 58px 40px 58px 8.33%;
}
#clearmysunny.l3_skill .bgbox04 .header dl {
	display: flex;
}
#clearmysunny.l3_skill .bgbox04 .header dl:first-of-type {
	margin-bottom: 5px;
}
#clearmysunny.l3_skill .bgbox04 .header dl dt {
	font-size: 16px;
	font-weight: 400;
	min-width: 80px;
	margin-right: 18px;
	line-height: 1.5;
}
#clearmysunny.l3_skill .bgbox04 .header dl dd {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
}
#clearmysunny.l3_skill .bgbox04 .header dl dd span {
	font-weight: bold;
}
#clearmysunny.l3_skill .bgbox04 .contents {
	padding: 0 8.33% 60px;
}
#clearmysunny.l3_skill .bgbox04 ul.wrap_flex {
	display: flex;
	max-width: 836px;
}
#clearmysunny.l3_skill .bgbox04 ul.wrap_flex li {
	width: calc((100% - 30px) / 2);
}
#clearmysunny.l3_skill .bgbox04 ul.wrap_flex li:first-child {
	margin-right: 30px;
}
#clearmysunny.l3_skill .bgbox04 h3 {
	color: #333;
}
#clearmysunny.l3_skill .contactbox {
	border: 1px solid #004DA0;
	border-radius: 20px;
	padding: 80px 40px;
}
#clearmysunny.l3_skill .contactbox .wrap_box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 800px;
	margin: auto;
}
#clearmysunny.l3_skill .contactbox .wrap_flex {
	display: flex;
	margin-left: 11px;
}
#clearmysunny.l3_skill .contactbox .left {
	font-weight: bold;
	padding-top: 12px;
	margin-right: 35px;
}
#clearmysunny.l3_skill .contactbox .tel {
	font-family: 'Oswald', sans-serif;
	font-size: 5rem;
	line-height: 1;
	padding-left: 33px;
	position: relative;
	color: #004DA0;
}
#clearmysunny.l3_skill .contactbox .tel::before {
	content: "";
	position: absolute;
	width: 28px;
	height: 33px;
	top: 0;
	bottom: -10px;
	left: 0;
	margin: auto;
	background: url(../images/skill/clearmysunny/icon_tel.svg) no-repeat;
}
#clearmysunny.l3_skill .contactbox .person {
	padding-left: 33px;
}
#clearmysunny .list_features ul {
	display: flex;
	flex-wrap: wrap;
}
#clearmysunny .list_features ul li {
	width: calc((100% - 24px) / 2);
	border: 5px solid #8EBCEE;
	border-radius: 18px;
	display: flex;
	padding: 30px 0 30px 32px;
	position: relative;
	margin-bottom: 34px;
	align-items: center;
}
#clearmysunny .list_features ul li div {
	width: 215px;
	height: 215px;
	border-radius: 50%;
	border: 10px solid #fff;
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.16);
	position: absolute;
	top: -25px;
	right: 10px;
}
#clearmysunny .list_features ul li div::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 0;
	right: 0;
	margin: auto;
	width: 169px;
	height: 24px;
	background: #333;
	opacity: 0.31;
	border-radius: 50%;
	-ms-filter: blur(9px);
	filter: blur(9px);
	z-index: -1;
}
#clearmysunny .list_features ul li:nth-child(2n-1) {
	margin-right: 24px;
}
#clearmysunny .list_features ul li p {
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 1.45;
	color: #004DA0;
	margin-right: 9px;
}
.maxw634 {
	max-width: 634px;
}
.maxw539 {
	max-width: 539px;
}
.maxw215 {
	max-width: 215px;
}
#clearmysunny.l3_skill .sec04 .wrap_flex {
	display: flex;
}
#clearmysunny.l3_skill .sec04 .wrap_flex p {
	max-width: 356px;
	margin-right: 40px;
}
#ysmethod.l3_skill section ul.wrap_flex {
	display: flex;
}
#ysmethod.l3_skill section ul.wrap_flex li {
	max-width: 444px;
}
#ysmethod.l3_skill section ul.wrap_flex li:first-child {
	margin-right: 40px;
}
.l3_skill ul.list_number li {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
	position: relative;
	padding-left: 40px;
}
.l3_skill ul.list_number li::before {
	position: absolute;
	left: 0;
}
.l3_skill ul.list_number li:nth-child(1)::before {
	content: "①";
}
.l3_skill ul.list_number li:nth-child(2)::before {
	content: "②";
}
.l3_skill ul.list_number li:nth-child(3)::before {
	content: "③";
}
.l3_skill ul.list_number li:nth-child(4)::before {
	content: "④";
}
#deodorization.l3_skill .sec01 ul li,
#deodorization.l3_skill .sec03 ul li {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
	text-indent: -2.4rem;
	padding-left: 2.4rem;
}
#field_trip h1 {
	text-align: center;
	position: relative;
	z-index: 2;
	max-width: 874px;
	margin: auto;
}
#field_trip header {
	padding-top: 42px;
	margin: auto;
	position: relative;
}
#field_trip #container {
	position: relative;
}
#field_trip #container::after {
	content: "";
	position: absolute;
	background: linear-gradient(180deg, rgba(173, 228, 248, 1) 0%, rgba(242, 251, 254, 1)40%, rgba(242, 251, 254, 1)100%);
	width: 100%;
	height: 1466px;
	top: 0;
	left: 0;
	z-index: -1;
}
#field_trip section.main {
	max-width: 1038px;
	margin: 0 auto 17px;
	padding-left: 40px;
	padding-right: 40px;
}
#field_trip .fukidashi {
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	background: linear-gradient(90deg, rgba(9, 101, 200, 1) 0%, rgba(0, 167, 243, 1)100%);
	border-radius: 22px;
	position: relative;
	text-align: center;
	line-height: 1.83;
}
#field_trip .fukidashi::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -14px;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 13.5px 0 13.5px;
	border-color: #0585DD transparent transparent transparent;
}
#field_trip .sec01 {
	padding-left: 40px;
	padding-right: 40px;
}
#field_trip .box_white {
	background: #fff;
	padding: 65px 75px;
	border-radius: 39px;
	max-width: 1148px;
	margin: auto;
	position: relative;
}
#field_trip .box_white::before {
	position: absolute;
	content: "";
	background: url(../images/field_trip/img_circle01.png) no-repeat;
	background-size: cover;
	background-position: right bottom;
	width: clamp(154px, 11.40625vw, 219px);
	width: 219px;
	height: clamp(215px, 16.1979vw, 311px);
	height: 311px;
	top: -200px;
	left: -174px;
}
#field_trip .box_white::after {
	position: absolute;
	content: "";
	background: url(../images/field_trip/img_circle02.png) no-repeat;
	background-size: cover;
	width: 234px;
	height: 309px;
	bottom: -32px;
	right: -118px;
}
#field_trip .box_white ul {
	max-width: 406px;
	margin: 40px auto 0;
}
#field_trip .box_white ul li a {
	display: block;
	width: 100%;
	height: 57px;
	max-width: 406px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	padding: 15px;
	border-radius: 5px;
	border: 1px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 3;
	transition: .5s ease-in-out;
}
#field_trip .box_white ul li a:hover {
	opacity: 0.7;
}
#field_trip .box_white ul li:first-child a {
	background: linear-gradient(90deg, #DC610F 0%, #E99920 100%);
	margin-bottom: 12px;
}
#field_trip .box_white ul li:last-child a {
	background: linear-gradient(90deg, #0965C8 0%, #00A7F3 100%);
}
#field_trip .box_white ul li:last-child a .icon_download {
	background: url(../images/field_trip/icon_download.svg) no-repeat;
	width: 28px;
	height: 28px;
	margin-left: 8px;
}
#field_trip h2.type02 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
	color: #004DA0;
}
#field_trip h2 span {
	font-weight: bold;
	background: linear-gradient(transparent 80%, #FFF131 20%);
	line-height: 1.45;
}
#field_trip .sec02 {
	background: url(../images/field_trip/secbg.png) no-repeat;
	background-position: center top;
	background-size: cover;
	padding-top: 375px;
	padding-bottom: 100px;
	margin-top: -155px;
	position: relative;
	z-index: 2;
	padding-left: 40px;
}
#field_trip .sec02 .box_white02 {
	max-width: 1660px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 48px 0 0 0;
	background: #fff;
	margin-top: 10px;
	position: relative;
	padding-left: 40px;
	padding-right: 40px;
}
#field_trip .sec02 .box_white02::after {
	content: "";
	position: absolute;
	top: 0;
	right: -940px;
	width: calc(100% + 640px);
	height: 100%;
	background: #fff;
	z-index: -1;
}
#field_trip .sec02 .wrap01 {
	padding-top: 80px;
	padding-bottom: 83px;
}
#field_trip .sec02 h3.type01 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
}
#field_trip .sec02 .wrap_flex {
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
}
#field_trip .sec02 .wrap_flex .left {
	max-width: 485px;
	width: 40.416%;
	margin-right: 40px;
}
#field_trip .sec02 .wrap_flex .right {
	width: 53.833%;
}
#field_trip .sec02 .wrap_flex .right .map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 57.275%;
}
#field_trip .sec02 .wrap_flex .right .map iframe,
#field_trip .map02 iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#field_trip .map02 {
	position: relative;
	width: 100%;
	height: 0;
	padding: 22.708%;
}
body#field_trip {
	background: #F2FBFE;
}
#field_trip .sec03 {
	padding-bottom: 120px;
	padding-right: 40px;
}
#field_trip .sec03 .box_white03 {
	max-width: 1660px;
	margin-right: auto;
	margin-left: auto;
	background: #fff;
	border-radius: 0 48px 0 0;
	padding-top: 94px;
	padding-bottom: 94px;
	padding-left: 40px;
	padding-right: 40px;
	position: relative;
}
#field_trip .sec03 .box_white03::after {
	content: "";
	position: absolute;
	top: 0;
	left: -940px;
	width: calc(100% + 640px);
	height: 100%;
	background: #fff;
	z-index: -1;
}
#field_trip .sec03 .wrap_flex03 {
	display: flex;
	justify-content: space-between;
}
#field_trip .sec03 .wrap_flex03 .left {
	margin-right: 40px;
}
#field_trip .sec03 .wrap_flex03 .right {
	max-width: 225px;
}
#field_trip .sec03 p.txt_access {
	font-size: 2rem;
	line-height: 1.6;
}
#field_trip h3.type02 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
	color: #004DA0;
	padding-bottom: 14px;
	border-bottom: 1px solid #C8C8C8;
}
#field_trip h4 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.45;
	padding-left: 19px;
	position: relative;
}
#field_trip h4::before {
	content: "";
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #00A7F3;
	position: absolute;
	top: 10px;
	left: 0;
}
#field_trip .txt_link {
	text-decoration: underline;
}
#field_trip .txt_link:hover {
	text-decoration: none;
}
#field_trip .sec03 .wrap_flex {
	display: flex;
}
#field_trip .sec03 .wrap_flex .left {
	max-width: 120px;
	margin-right: 52px;
}
#field_trip address {
	background: #F2FBFE;
	border-radius: 48px;
	padding: 55px;
}
#field_trip address .wrap_address {
	max-width: 1010px;
	margin: auto;
}
#field_trip address .wrap_flex02 {
	display: flex;
	justify-content: space-between;
	margin-top: 37px;
}
#field_trip address .wrap_flex02 .left {
	margin-right: 40px;
	width: 57.83%;
}
#field_trip address .wrap_flex02 .right {
	max-width: 322px;
	width: calc((100% - 57.83%) - 40px);
}
#field_trip address dl {
	display: flex;
	align-items: center;
}
#field_trip address dl dt {
	padding: 4px;
	font-size: 16px;
	font-weight: 500;
	color: #004DA0;
	line-height: 1.4;
	border: 1px solid #004DA0;
	width: clamp(110px, 11.614vw, 223px);
	text-align: center;
	margin-right: 24px;
}
#field_trip address dl dd,
#field_trip address dl dd a {
	font-size: 2.8rem;
	font-weight: bold;
	color: #004DA0;
	line-height: 1.14;
}
#field_trip footer {
	background: #004DA0;
	padding: 17px 20px;
}
#field_trip footer p {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: #fff;
	text-align: center;
}
#group .sec01 th a {
	transition: .5s ease-in-out;
}
#group .sec01 th a:hover {
	color: #00B9F2;
}






.inquiry h1 {
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.45;
	margin-top: 116px;
	color: #004DA0;
	padding-bottom: 50px;
	position: relative;
}
.l3_skill .wrap_title::after,
.l3_skill .wrap_title02::after,
.l3_ship .wrap_title::after,
.inquiry h1::after {
	content: "";
	height: 1px;
	width: 150%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #E1E1E1;
}
.l3_skill .wrap_title::before,
.l3_skill .wrap_title02::before,
.l3_ship .wrap_title::before,
.inquiry h1::before {
	content: "";
	position: absolute;
	height: 1px;
	width: 12.5%;
	bottom: 0;
	left: 0;
	background: #00A7F3;
	z-index: 2;
}
.inquiry .box_policy {
	margin-top: 109px;
	background: #FBFBFB;
	padding: 67px 8% 83px;
}
.inquiry .box_policy h2 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.45;
	margin-top: 40px;
}
.inquiry .box_policy ul {
	margin: 30px 0;
}
.inquiry .box_policy ul li {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	text-indent: -42px;
	padding-left: 42px;
}
.form .radio-label {
	margin-right: 30px;
}
.form input[type="radio"] {
	width: 16px;
	height: 16px;
	line-height: 1.5;
	position: relative;
	top: 3px;
	margin-right: 10px;
}
.form input[type="radio"]:checked {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	border: 1px solid #333;
	position: relative;
}
.form input[type="radio"]:checked::before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: #00A7F3;
}
.form .wrap_identity {
	display: flex;
}
.form .wrap_identity label {
	display: flex;
	align-items: center;
}
.form .wrap_identity label:first-of-type {
	margin-right: 21px;
}
.form .wrap_identity input {
	max-width: 250px;
	margin-left: 9px;
}
::placeholder {
	font-size: 16px;
	font-weight: 500;
	color: rgba(51, 51, 51, 0.2);
}
.form .wrap_zip {
	display: flex;
	align-items: center;
}
.form span.hyphen {
	width: 7px;
	height: 1px;
	background: #333;
	display: block;
	margin-left: 4px;
	margin-right: 4px;
}
.form .wrap_zip input {
	max-width: 200px;
}
.form .wrap_tel {
	display: flex;
	align-items: center;
}
.form .wrap_tel input[type="tel"] {
	max-width: 200px;
	width: calc((100% - 30px) / 3);
}
.form.input p.txt_explanation {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.875;
}
.form.input p.txt_explanation span {
	font-size: 20px;
}
.form.confirm p.txt_explanation {
	font-size: 20px;
	line-height: 1.5;
}
.inquiry .box_scroll {
	width: 100%;
	height: 300px;
	padding: 40px;
	overflow-y: scroll;
	border: 1px solid #DEDEDC;
	margin-top: 40px;
}
.inquiry .box_scroll h2 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.77;
	margin-bottom: 35px;
}
.inquiry .box_scroll dl {
	margin-bottom: 30px;
}
.inquiry .box_scroll dl dt {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
	line-height: 2;
}
.inquiry .box_scroll dl dd {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
}
.inquiry .wrap_policy {
	margin: 33px auto 0;
	display: flex;
	justify-content: center;
}
.inquiry form table td p {
	font-size: 16px;
	font-weight: 400;
	margin-top: 13px;
}
.inquiry .thanks p.txt-form {
	font-weight: 400;
	line-height: 1.875;
}
.inquiry .form ul.flow-wrap {
	display: flex;
	position: relative;
	max-width: 932px;
	justify-content: space-between;
	margin: 120px auto 100px;
}
.inquiry .form ul.flow-wrap::after {
	content: "";
	position: absolute;
	top: -55px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 90%;
	height: 1px;
	background-image: linear-gradient(to right, #8F8F8F 3px, transparent 3px);
	background-image: -webkit-linear-gradient(to right, #8F8F8F 3px, transparent 3px);
	background-image: -mozlinear-gradient(to right, #8F8F8F 3px, transparent 3px);
	background-image: -ms-linear-gradient(to right, #8F8F8F 3px, transparent 3px);
	background-size: 10px 5px;
	background-repeat: repeat-x;
	background-position: bottom;
	z-index: -2;
}
.inquiry .form ul.flow-wrap li {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.inquiry .form ul.flow-wrap li div {
	width: 92px;
	height: 92px;
	background: #DFDFDF;
	color: #333333;
	font-weight: bold;
	font-size: 28px;
	text-align: center;
	border-radius: 50%;
	line-height: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
.inquiry .form ul.flow-wrap li.current div {
	background: #00A7F3;
	color: #fff;
}
.inquiry .form ul.flow-wrap li.current p {
	color: #00A7F3;
}
.inquiry .form ul.flow-wrap li div::after {
	content: "";
	position: absolute;
	width: 142px;
	height: 142px;
	background: #fff;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
	z-index: -1;
	left: -25px;
}
.inquiry .form ul.flow-wrap li p {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.45;
	margin-top: 20px;
	text-align: center;
	margin-bottom: 0;
}
.inquiry .form ul.flow-wrap li div span {
	display: block;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.2
}
.form table {
	width: 100%;
}
.form table tr {
	border-bottom: 1px solid #DFDFDF;
}
.form table tr:first-of-type {
	border-top: 1px solid #DFDFDF;
}
.form table tr th {
	background: #FBFBFB;
	padding: 35px 17px;
	text-align: left;
	font-size: 16px;
	font-weight: 500;
	width: 31.83%;
	display: flex;
}
#confirm .form table tr th {
	padding-left: 3.833%;
	width: 320px;
}
.form table tr {
	display: flex;
}
.form table tr td {
	background: #fff;
	padding: 26px 20px 26px 5.75%;
	font-size: 16px;
	width: calc(100% - 31.83%);
	display: inline-block;
	position: relative;
	font-weight: 500;
}
#confirm .form table tr td {
	display: flex;
	align-items: center;
	padding-left: 4.166%;
	width: calc(100% - 320px);
	word-break: break-all;
}
#confirm .form table tr td div {
	line-height: 1.8;
}
input {
	border-radius: 5px;
	font-weight: 400;
	font-size: 16px;
}
.form input[type="text"],
.form input[type="tel"],
.form input[type="email"] {
	padding: 5px 20px;
	width: 100%;
	border: 1px solid #DEDEDC;
	box-sizing: border-box;
}
.form table tr th span.required {
	color: #fff;
	font-size: 14px;
	background: #DC1E37;
	margin-right: 22px;
	font-weight: 400;
	line-height: 1.5;
	width: 70px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3px;
}
.form table tr th span.gray {
	color: #333333;
	font-size: 14px;
	background: #DEDEDE;
	margin-right: 22px;
	font-weight: 500;
	line-height: 1.5;
	width: 70px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 3px;
}
.form table tr th div {
	font-weight: bold;
}
.form textarea {
	border: 1px solid #DEDEDC;
	padding: 10px;
	height: 260px;
	width: 100%;
	box-sizing: border-box;
	white-space: pre-wrap;
	vertical-align: middle;
	border-radius: 5px;
	font-size: 16px;
}
.form table tr td.policy-wrap {
	padding: 25px 20px;
}
.form table tr td.policy-wrap .privacypolicy {
	margin: 0;
}
.form table tr td.policy-wrap .privacypolicy a {
	font-size: 16px;
	font-weight: 400;
	color: #005EAD;
	text-decoration: underline;
}
.form table tr td.policy-wrap .privacypolicy a:hover {
	text-decoration: none;
}
.form .btnform-area {
	display: flex;
	margin: 80px auto 0;
	justify-content: center;
}
.form .btnform-area div {
	margin: 0 15px;
}
.form .button-form,
.form .btn-formback {
	width: 280px;
	border: none;
	display: block;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
	transition: 0.5s ease;
	border-radius: 5px;
	background: transparent;
	-webkit-appearance: none;
	position: relative;
	overflow: hidden;
	margin: 80px auto 0;
}
.form .button-form input[type="submit"],
.form .btn-formback input[type="button"] {
	width: 100%;
	color: #fff;
	border: none;
	display: block;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
	border-radius: 5px;
	background: transparent;
	-webkit-appearance: none;
	position: relative;
	cursor: pointer;
	padding: 17px 15px 19px;
}
.form .button-form::before,
.form .button-form::after,
.form .btn-formback::before,
.form .btn-formback::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.form .button-form::before,
.form .btn-formback::before {
	background: -moz-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: -webkit-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: -o-linear-gradient(left, #00A7F3 0%, #0965C8 100%);
	background: linear-gradient(to right, #00A7F3 0%, #0965C8 100%);
	z-index: -1;
	transition: .5s ease-in-out;
}
.form .button-form:hover::before,
.form .btn-formback:hover::before {
	opacity: 0;
}
.form .button-form::after,
.form .btn-formback::after {
	background: -moz-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: -webkit-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: -o-linear-gradient(left, #0965C8 0%, #00A7F3 100%);
	background: linear-gradient(to right, #0965C8 0%, #00A7F3 100%);
	z-index: -2;
}
.form .radiolabel-wrap {
	display: flex;
	flex-wrap: wrap;
}
.form h2.table-title {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.42;
	margin-bottom: 30px;
}
.form .sec01 {
	padding-bottom: 120px;
}
.form .thanks h2.table-title {
	font-size: 2.8rem;
	line-height: 1.4;
}
.form input[type="checkbox"] {
	display: none;
}
@-moz-document url-prefix() {
	.form input[type="checkbox"] {
		opacity: 0;
	}
}
.form input[type="checkbox"]+label {
	font-size: 16px;
	display: none;
	cursor: pointer;
	display: inline-block;
	position: relative;
	padding-left: 28px;
	padding-right: 10px;
	font-weight: 400;
}
.form input[type="checkbox"]+label::before {
	content: "";
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 18px;
	height: 18px;
	left: 0;
	top: 1px;
	bottom: 0;
	margin: auto;
	border: 1px solid;
	border-color: #333;
	background-color: #FFF;
	border-radius: 5px;
}
.form input[type="checkbox"]:checked+label::before {
	background: #005EAD;
	border-color: #005EAD;
}
.form input[type="checkbox"]:checked+label::after {
	content: "";
	position: absolute;
	display: block;
	box-sizing: border-box;
	width: 12px;
	height: 7px;
	margin-top: -4px;
	top: 51%;
	left: 3px;
	transform: rotate(-45deg);
	border-bottom: 3px solid;
	border-left: 3px solid;
	border-color: #fff;
}
#confirm .form td.td_flex {
	display: flex;
	flex-wrap: wrap;
}
#confirm .form td.td_flex_no {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
#confirm .form td.td_flex .radiolabel-wrap {
	margin-right: 5px;
}












.pankuzu-wrap nav ol {
	display: flex;
	flex-wrap: wrap;
}

.pankuzu-wrap nav ol li,
.pankuzu-wrap nav ol li a {
	font-size: 14px;
	font-weight: 500;
}
.pankuzu-wrap nav ol li a {
	padding-right: 34px;
	position: relative;
	transition: .5s ease-in-out;
}
.pankuzu-wrap nav ol li a:hover {
	color: #00B9F2;
}
.pankuzu-wrap nav ol li a::after {
	content: "";
    position: absolute;
    right: 14px;
    top: 1px;
    bottom: 0;
    margin: auto;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	width: 7px;
	height: 7px;
	transform: rotate(45deg);
}
.pankuzu-wrap {
	padding: 15px 0 0;
}
.l2 .pankuzu-wrap {
	position: absolute;
	z-index: 2;
}

@-moz-document url-prefix() {
	.form input[type="checkbox"] {
		opacity: 0;
	}
}

.mb0 {
	margin-bottom: 0 !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mt0 {
	margin-top: 0px !important;
}
.mt5 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt55 {
	margin-top: 55px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt65 {
	margin-top: 65px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mt75 {
	margin-top: 75px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mt90 {
	margin-top: 90px !important;
}
.mt95 {
	margin-top: 95px !important;
}
.mt100 {
	margin-top: 100px !important;
}
.mt110 {
	margin-top: 110px !important;
}
.mt120 {
	margin-top: 120px !important;
}
.mt130 {
	margin-top: 130px !important;
}
.mt140 {
	margin-top: 140px !important;
}
.mt150 {
	margin-top: 150px !important;
}
.mt180 {
	margin-top: 180px !important;
}
.mt200 {
	margin-top: 200px !important;
}
.mr0 {
	margin-right: 0px !important;
}
.mr3 {
	margin-right: 3px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mr30 {
	margin-right: 30px !important;
}
.mr40 {
	margin-right: 40px !important;
}
.ml100 {
	margin-left: 100px !important;
}
.ml40 {
	margin-left: 40px !important;
}
.mb3 {
	margin-bottom: 3px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb90 {
	margin-bottom: 90px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.mb120 {
	margin-bottom: 120px !important;
}
.mb150 {
	margin-bottom: 150px !important;
}
.pt0 {
	padding-top: 0 !important;
}
.pt120 {
	padding-top: 120px !important;
}
.pb0 {
	padding-bottom: 0 !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pb200 {
	padding-bottom: 200px !important;
}
.pb220 {
	padding-bottom: 220px !important;
}
@media screen and (min-width: 1600px) {
	.min1600none {
		display: none;
	}
}
@media screen and (max-width: 1599px) {
	.maxw1599none {
		display: none;
	}
	header .pc-nav ul.nav_bottom li a,
	header .pc-nav ul.nav_top li a {
		font-size: 15px;
	}
	header .pc-nav .nav_bottom li:not(:last-child) {
		margin-right: 30px;
	}
	header .logo a {
		width: 270px;
	}
	header .logo img {
		max-width: 220px;
	}
	header .menu_contact a {
		font-size: 15px;
		width: 150px;
	}
	header .pc-nav .wrap_nav {
		margin-right: 30px;
	}
	#home .sec05 .contents_left {
		width: 50%;
	}
	#home .sec05 .contents_right {
		padding: 100px;
		width: 50%;
	}
	#home .sec05 .contents_right .txt_bg {
		font-size: clamp(60px, 8.25vw, 142px)
	}
	address.contact .contents_right {
		padding: 100px 80px;
		width: 58%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	address.contact .contents_right .btn01 {
		width: 280px;
	}
	address.contact .contents_left {
		width: calc(42% - 40px);
		padding: 90px 0;
	}
	address.contact .txt_bg {
		font-size: clamp(60px, 10.63vw, 170px);
	}
	#ship.l2 .sec02::after {
		width: 2%;
	}
	#skill.l2 .sec02 .img_wrap {
		right: 40px;
	}
	#skill.l2 .bg_white,
	#topics.l2 .sec01 .bg_white,
	#aboutus.l2 .bg_white,
	#recruit.l2 .bg_white,
	#sustainability.l2 .bg_white {
		width: calc(100% - 40px);
	}
	#skill.l2 ul.menulist,
	#aboutus.l2 ul.menulist,
	#recruit.l2 ul.menulist,
	#sustainability.l2 .contents {
		margin-top: 120px;
		left: 20px;
	}
	.l3 aside {
		width: calc(100% - 40px);
	}
	.l3 aside .wrap01 {
		right: 20px;
	}
	#topics.l2 .sec01 .bg_white .wrap01 {
		left: 20px;
	}
	#topics.l2 ul.article {
		width: calc(100% - 40px);
	}
}
@media screen and (min-width: 1600px) {
}
@media screen and (max-width: 1549px) {
	#record .sec01,
	#strength .sec01 {
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media screen and (min-width: 1367px) {
	.min1367none {
		display: none;
	}
}
@media screen and (min-width: 1366px) {
	.minw1366none {
		display: none;
	}
	.wrap02 {
		max-width: 1200px;
		margin: auto;
	}
}
@media screen and (max-width: 1366px) {
	.maxw1366none {
		display: none;
	}
	#home .sec03 {
		padding-top: 100px;
	}
	#home .sec03 .txt_wrap::after {
		height: 389px;
	}
	#home .sec04 h3 {
		font-size: 1.8rem;
	}
	address.contact .txt_wrap {
		padding-left: 80px;
	}
	footer .logo_footer img {
		max-width: 200px;
	}
	address.contact .contents_left p {
		font-size: 15px;
		letter-spacing: 0.1em;
	}

}
@media screen and (max-width: 1365px) {
	.wrap02 {
		padding-left: 40px;
		padding-right: 40px;
	}
	header .nav-box,
	header .logo a {
		height: 90px;
	}
	header {
		padding-right: 16px;
	}
	header .pc-nav ul.nav_bottom li a,
	header .pc-nav ul.nav_top li a {
		font-size: 14px;
	}
	header .pc-nav .nav_bottom li:not(:last-child),
	header .pc-nav .wrap_nav {
		margin-right: 20px;
	}
	header .logo a {
		width: 240px;
		height: 100%;
	}
	header .logo img {
		max-width: 200px;
	}
	header .nav-box .pc-nav {
		margin-top: 14px;
	}
	header .pc-nav ul.nav_bottom {
		height: 42px;
	}
	header .pc-nav ul.nav_bottom li a::after {
		bottom: 0;
	}
	address.contact .txt_wrap {
		padding-left: 40px;
	}
	address.contact .contents_right {
		padding: 60px 40px;
	}
	address.contact .contents_left {
		padding: 60px 0;
	}
	address.contact .wrap_mail {
		width: 45%;
	}
	address.contact .contents_right .btn01 {
		width: 100%;
		font-size: 15px;
	}
	address.contact .contents_right .wrap_tel {
		margin-right: 40px;
	}
	address.contact .contents_right p.tel {
		font-size: 4.6rem;
	}
	address.contact h2 {
		font-size: 3.6rem;
		padding-right: 100px;
		letter-spacing: 0.1em;
	}
	address.contact h2::after {
		width: 80px;
	}
	#ship.l2 .sec02::after {
		background: none;
	}
	#skill.l2 .bg_white,
	.l3 aside,
	#topics.l2 .sec01 .bg_white,
	#topics.l2 ul.article,
	#aboutus.l2 .bg_white,
	#recruit.l2 .bg_white,
	#sustainability.l2 .bg_white {
		width: 100%;
	}
	#skill.l2 ul.menulist,
	#topics.l2 .sec01 .bg_white .wrap01,
	#aboutus.l2 ul.menulist,
	#recruit.l2 ul.menulist,
	#sustainability.l2 .contents {
		left: 0;
	}
	.l3 aside .wrap01 {
		right: 0;
	}
	#record section dl dd .img_2column div {
		width: calc((100% - 40px) / 2);
	}
	#sitemap .wrap_flex .colmun:nth-of-type(1),
	#sitemap .wrap_flex .colmun:nth-of-type(2),
	#sitemap .wrap_flex .colmun:nth-of-type(3),
	#sitemap .wrap_flex .colmun:nth-of-type(4) {
		width: auto;
	}
	#sitemap .wrap_flex {
		justify-content: space-between;
	}
}
@media screen and (min-width: 1200px) {
	.humb-menu,
	.globalMenuSp,
	.minw1200none {
		display: none;
	}
	.wrap_main,
	.wrap01,
	.footer-contents,
	#ship.l2 .table_list {
		width: 1200px;
		margin: auto;
	}
	#field_trip .wrap01 {
		width: 100%;
		max-width: 1200px;
	}
	#home .sec02 .contents-right {
		margin-right: 20px;
	}
}

@media screen and (max-width: 1199px) {
	html,
	body {
		overflow-x: hidden;
	}
	.maxw1199none {
		display: none;
	}
	.wrap_main,
	.wrap01,
	.footer-contents,
	#ship.l2 .table_list {
		padding-left: 40px;
		padding-right: 40px;
	}
	#field_trip .wrap01 {
		padding-left: 0;
		padding-right: 0;
	}
	main {
		padding-top: 60px;
	}
	/*　ハンバーガーメニューボタン　*/
	.hamburger {
		display: block;
		position: fixed;
		z-index: 3;
		right: 0;
		top: 0;
		width: 60px;
		height: 60px;
		cursor: pointer;
		text-align: center;
	}
	.hamburger span {
		display: block;
		position: absolute;
		width: 21px;
		height: 1px;
		right: 21px;
		background: #fff;
		-webkit-transition: 0.3s ease-in-out;
		-moz-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
	}
	header.bgwhite .hamburger span {
		background: #333;
	}
	.hamburger span:nth-child(1) {
		top: 21px;
	}
	.hamburger span:nth-child(2) {
		top: 29px;
	}
	.hamburger span:nth-child(3) {
		top: 37px;
	}
	/* スマホメニューを開いてる時のボタン */
	.hamburger.active span:nth-child(1) {
		top: 26px;
		left: 18px;
		background: #fff;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.hamburger.active span:nth-child(2),
	.hamburger.active span:nth-child(3) {
		top: 26px;
		background: #fff;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	header.bgwhite .hamburger.active span:nth-child(1),
	header.bgwhite .hamburger.active span:nth-child(2),
	header.bgwhite .hamburger.active span:nth-child(3) {
		background: #333;
	}
	/* メニュー背景　*/
	nav.globalMenuSp {
		display: none;
		z-index: 2;
		top: 60px;
		left: 0;
		text-align: left;
		width: 100%;
		/*transform: translateY(-100%);
		transition: all 0.3s;*/
		position: fixed;
		max-height: 88vh;
		max-height: 88dvh;
		overflow-y: scroll;
		background: #004DA0;
	}
	nav.globalMenuSp ul {
		margin: 0 auto;
		padding: 0;
		width: 100%;
	}
	/*.sp_humlayer {
		display: none;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 60px;
		z-index: 99;
		background: #333;
		mix-blend-mode: multiply;
	}*/
	nav.globalMenuSp ul li {
		list-style-type: none;
		padding: 0;
		width: 100%;
		transition: .4s all;
		/*border-bottom: 1px dotted #fff;*/
	}
	nav.globalMenuSp ul li:last-child {
		border-bottom: none;
	}
	nav.globalMenuSp ul li.sp-language {
		background: #5B5B5B;
	}
	nav.globalMenuSp ul li ul.toggle_contents {
		background: #fff;
	}
	nav.globalMenuSp ul li ul.toggle_contents li {
		border-bottom: 1px dotted #ccc;
	}
	nav.globalMenuSp ul li ul.toggle_contents li a {
		padding-left: 30px;
		position: relative;
	}
	/*
	nav.globalMenuSp ul li ul.toggle_contents li a::before {
		content: "";
		position: absolute;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 5px 0 5px 6px;
		border-color: transparent transparent transparent #004DA0;
		left: 14px;
		top: 0;
		bottom: 0;
		margin: auto;
	}*/
	nav.globalMenuSp ul li:last-child {
		padding-bottom: 0;
	}
	nav.globalMenuSp ul li.menu_customer div {
		background: #fff;
		padding: 12px;
	}
	nav.globalMenuSp ul li.menu_customer a {
		background: #005EAD;
		color: #fff;
		max-width: 375px;
		border-radius: 50px;
		text-align: center;
		padding: 14px;
		margin-right: auto;
		margin-left: auto;
		position: relative;
	}
	nav.globalMenuSp ul li.menu_customer a::after {
		content: "";
		position: absolute;
		right: 18px;
		width: 6px;
		height: 6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 0;
		bottom: 0;
		margin: auto;
	}
	nav.globalMenuSp ul li a {
		display: block;
		color: #fff;
		padding: 20px;
		text-decoration: none;
		font-size: 15px;
		font-weight: 500;
		border-bottom: 1px dotted #9F9F9F;
	}
	nav.globalMenuSp ul li:last-child a {
		border-bottom: none;
	}
	nav.globalMenuSp ul li
	nav.globalMenuSp.active {
		display: block;
		/*transform: translateY(60px);
		overflow-y: auto;*/
		height: 92vh;
		height: 92dvh;
	}
	.toggle_switch {
		position: relative;
		cursor: pointer;
		padding: 5px 10px;
	}
	.toggle_switch::after {
		content: "";
		display: inline-block;
		width: 18px;
		height: 11px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 20px;
		transition: transform .2s;
	}
	.toggle_switch.open::after {
		transform: rotateZ(180deg);
		top: 46%;
	}
	.toggle_contents {
		display: none;
		padding: 5px 10px;
	}
	header .nav-box .pc-nav {
		display: none;
	}
	.toggle_switch span::before,
	.toggle_switch span::after {
		content: '';
		display: block;
		width: 20px;
		height: 1px;
		background: #fff;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
		transition: .5s ease-in-out;
	}
	.toggle_switch span::after {
		background: #fff;
		transform: translateY(-50%) rotate(90deg);
	}
	.toggle_switch.open span::after {
		transform: rotate(0);
	}
	nav.globalMenuSp ul.toggle_contents li {
		background: none;
	}
	nav.globalMenuSp ul.toggle_contents li a {
		color: #333;
	}
	header {
		padding-right: 0;
	}
	header .logo a {
		line-height: 0;
	}
	header .nav-box {
		height: 60px;
	}
	/*ここまで*/
	#home .sec05 .contents_right {
		padding: 70px;
	}
	#home .sec05 h3 {
		margin-top: 40px;
	}
	#home .sec05 .contents_right .btn01 {
		margin-top: 70px;
	}
	#home .sec06 {
		padding: 60px 0;
	}
	#home .sec06 ul li:not(:nth-child(2n)) {
		margin-right: 40px;
	}
	#home .sec06 ul li {
		width: calc((100% - 40px) / 2);
		margin-bottom: 40px;
	}
	footer .footer-menu {
		padding: 80px 40px;
	}
	footer .footer-menu ul.ul-parent:nth-of-type(1),
	footer .footer-menu ul.ul-parent:nth-of-type(2),
	footer .footer-menu ul.ul-parent:nth-of-type(3),
	footer .footer-menu ul.ul-parent:nth-of-type(4) {
		margin-right: 40px;
	}
	.l2 .sec02 .img_wrap {
		right: 40px;
	}
	#ship.l2 .table_box table th,
	#ship.l2 .table_box table td {
		padding: 15px 12px;
	}
	.form table tr th {
		width: 40%;
		padding: 20px;
	}
	.form table tr td {
		width: 60%;
	}
	.l3 aside {
		padding: 70px 0 23px;
	}
	#network .modal__content {
		max-width: calc(100% - 60px);
	}
	#sitemap .wrap_flex .colmun:nth-of-type(1),
	#sitemap .wrap_flex .colmun:nth-of-type(2),
	#sitemap .wrap_flex .colmun:nth-of-type(3) {
		padding-right: 20px;
	}
	#sitemap .sec01 small {
		white-space: wrap;
	}
	#field_trip .box_white::before {
		left: -140px;
	}
	#clearmysunny .list_features ul li div {
		width: clamp(172px, 11.19vw, 215px);
		height: clamp(172px, 11.19vw, 215px);
	}
	#clearmysunny .list_features ul li p {
		width: 57%;
	}
}
@media screen and (min-width: 1025px) {
	.pcnone,
	.minw1025none {
		display: none;
	}
	.l2 ul.menulist li {
		width: calc((100% - 80px) / 3);
		margin-bottom: 60px;
	}

	.l2 ul.menulist li:not(:nth-child(3n)) {
		margin-right: 40px;
	}
	#works.l2 .panel ul li {
		width: calc((100% - 96px) / 4);
		margin-bottom: 36px;
	}
	#works.l2 .panel ul li:not(:nth-child(4n)) {
		margin-right: 32px;
	}
	.scrollicon {
		display: none;
	}
	.modal__content {
		max-height: 90vh;
	}
	#record .modal__content {
		max-height: 80vh;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun04 li {
		width: calc((100% - (3.333% * 3)) / 4);
		margin-right: 3.333%;
		margin-bottom: 40px;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun04 li:nth-child(4n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 1024px) {
	html {
		font-size: 60%;
	}
	.scrollicon {
		display: block;
		position: absolute;
		top: 10%;
		left: 50%;
		width: 120px;
		padding: 6px 4px 8px;
		background: #666;
		border-radius: 4px;
		transform: translateX(-50%);
		z-index: 10;
		opacity: 0.8;
	}
	.scrollicon img {
		max-width: 60%;
		margin: auto;
		display: block;
	}
	p.scrolltxt {
		color: #fff;
		font-size: 1.3rem !important;
		margin-bottom: 6px;
		text-align: center;
	}
	.maxw1024none {
		display: none;
	}
	#home .sec01 .txt_wrap {
		left: 50px;
		bottom: 50px;
		margin-right: 70px;
	}
	#home .sec02 {
		flex-direction: column;
	}
	#home .sec02 .contents_left {
		width: 100%;
		max-width: 100%;
		padding: 30px 40px;
	}
	#home .sec02 .contents_left .element {
		opacity: 1;
		visibility: visible;
		transform: translate(0);
	}
	#home .sec02 h2 {
		display: flex;
		align-items: center;
	}
	#home .sec02 h2 span {
		margin-right: 20px;
	}
	#home .sec02 .contents_right {
		width: 100%;
		padding: 40px 40px 0;
	}
	#home .sec02 .btn01 {
		margin: 40px auto 0;
	}
	#home .sec03 .txt_wrap {
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 30px;
	}
	#home .sec03 {
		padding-top: 60px;
	}
	#home .sec03 h2 {
		padding-left: 40px;
		padding-right: 80px;
	}
	#home .sec03 h2::after,
	#home .sec04 h2::after,
	#home .sec05 h2::after,
	#home .sec06 h2::after {
		width: 70px;
	}
	#home .sec03 .txt_wrap p {
		margin-left: 40px;
		margin-top: 4px;
	}
	#home .sec04 {
		padding: 70px 0;
	}
	#home .sec04 h2,
	#home .sec05 h2,
	#home .sec06 h2 {
		padding-right: 80px;
	}
	#home .sec04 .contents_left {
		padding-left: 40px;
		margin-right: 40px;
		margin-top: 0;
	}
	#home .sec04 h3 {
		margin-top: 40px;
	}
	#home .sec04 .contents_left p {
		margin-top: 25px;
		max-width: 460px;
	}
	#home .sec04 .contents_left .btn01 {
		margin-top: 60px;
	}
	#home .sec04 .contents_right {
		width: 70%;
		margin-right: 40px;
	}
	#home .sec04 .contents_right ul li:not(:nth-child(2n)) {
		margin-right: 20px;
	}
	#home .sec04 .contents_right ul li {
		margin-bottom: 20px;
		width: calc((100% - 20px) / 2);
	}
	#home .sec05 {
		flex-direction: column;
	}
	#home .sec05 .contents_left {
		width: 100%;
		min-height: 350px;
	}
	#home .sec05 .contents_right {
		width: 100%;
		padding: 55px 40px 80px;
		min-height: 350px;
	}
	#home .sec05 .contents_right .txt_bg {
		font-size: clamp(60px, 16.66vw, 128px);
	}
	#home .sec05 h3 {
		margin-top: 20px;
	}
	#home .sec06 .contents_left {
		width: calc(50% - 40px);
		padding-left: 40px;
		margin-right: 40px;
	}
	#home .sec06 .contents_right {
		width: 50%;
		margin-right: 40px;
	}
	#home .sec05 .contents_right p {
		margin-top: 20px;
	}
	#home .sec05 .contents_right .btn01 {
		margin-top: 40px;
	}
	footer .footer-menu {
		padding: 50px 25px;
	}
	footer .footer-menu ul.ul-parent:nth-of-type(1),
	footer .footer-menu ul.ul-parent:nth-of-type(2),
	footer .footer-menu ul.ul-parent:nth-of-type(3),
	footer .footer-menu ul.ul-parent:nth-of-type(4),
	footer .footer-menu ul.ul-parent:nth-of-type(5) {
		margin-right: 20px;
	}
	footer .footer-contents {
		padding: 30px 0;
	}
	footer .footer-contents .logo_footer {
		margin-left: 40px;
	}
	footer .footer-contents ul {
		margin-right: 40px;
		position: static;
	}
	footer .footer-menu ul li a {
		font-size: 13px;
	}
	.l2 .sec02 .img_wrap {
		margin-top: 0;
		top: -20vw;
	}
	.l2 ul.menulist {
		padding-top: 80px;
	}
	.l2 .sec02,
	#skill.l2 .sec02 {
		padding-bottom: 80px;
	}
	#sustainability.l2 .sec02 {
		padding-top: 50px;
	}
	.table_wrap {
		position: relative;
	}
	.table_box {
		overflow-x: scroll;
		white-space: nowrap;
		position: relative;
	}
	.table_box::-webkit-scrollbar {
		width: 10px;
		height: 10px;
	}
	.table_box::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #00A7F3;
	}
	#skill.l2 ul.menulist,
	#aboutus.l2 ul.menulist,
	#recruit.l2 ul.menulist,
	#sustainability.l2 .contents {
		margin-top: 80px;
		padding-top: 80px;
		padding-bottom: 80px;
	}
	#skill.l2 .bg_white,
	#aboutus.l2 .bg_white,
	#recruit.l2 .bg_white {
		border-radius: 0 80px 0 0;
	}
	#skill.l2 ul.menulist figcaption::after,
	#aboutus.l2 ul.menulist figcaption::after,
	#recruit.l2 ul.menulist figcaption::after {
		right: 0;
	}
	#skill.l2 ul.menulist figcaption,
	#aboutus.l2 ul.menulist figcaption,
	#recruit.l2 ul.menulist figcaption {
		padding-right: 50px;
	}
	.l3_skill p.sub_txt,
	.l3_ship p.sub_txt {
		margin-top: 50px;
	}
	.l3_skill .wrap_title,
	.l3_skill .wrap_title02,
	.l3_ship .wrap_title {
		padding-bottom: 35px;
	}
	.l3 aside h3:first-of-type {
		margin-top: 48px;
	}
	.l3_skill .contents_flex {
		padding: 70px 0 0;
	}
	.l3_skill .box_type01 {
		padding: 25px;
	}
	.l3_skill ul.list_modal li a {
		padding: 20px;
	}
	.l3 aside {
		margin-top: 70px;
	}
	.l3 aside ul {
		margin-top: 20px;
	}
	.modal__content {
		max-width: 95vw;
	}
	.l3_company p.sub_txt,
	.l3_aboutus p.sub_txt,
	.l3_recruit p.sub_txt,
	.l3_workdetail p.sub_txt {
		margin-top: 50px;
	}
	.l3_company h1,
	.l3_aboutus h1,
	.l3_recruit h1,
	.l3_workdetail h1,
	.l2_etc h1,
	.l3_skill section.item h2.style_h1 {
		padding-bottom: 35px;
		margin-top: 50px;
	}
	.l3_company table th,
	.l3_recruit table th,
	.l3_skill section.item th {
		padding: 20px 25px;
		width: 30%;
	}
	.l3_company table td,
	.l3_recruit table td,
	.l3_skill section.item td {
		padding: 20px 25px;
		width: 70%;
	}
	.l3_company table td p {
		margin-right: 20px;
	}
	#policy.l3_company ul.lsit-box_blue {
		padding: 40px;
	}
	#policy.l3_company ul.lsit-box_blue li {
		font-size: 18px;
		text-indent: -23px;
		padding-left: 23px;
	}
	#topics.l2 .sec01 {
		padding: 80px 0;
	}
	#topics.l2 .sec01 .bg_white {
		padding: 80px 0 60px;
	}
	#topics.l2 ul.article,
	#topics.l2 ul.pager {
		margin-bottom: 80px;
	}
	#topics_detail.l3 .sec01 .wp-block-table.type02 {
		overflow-x: scroll;
		white-space: nowrap;
	}
	#topics_detail.l3 .txt_wrap {
		padding-top: 80px;
	}
	#topics_detail.l3 .sec01 {
		padding-top: 40px;
		padding-bottom: 80px;
	}
	#topics_detail.l3 footer {
		margin-top: 80px;
	}
	#record section dl dt {
		width: 35%;
	}
	#record section dl dd {
		width: 65%;
		padding: 40px 20px 60px 40px;
	}
	.l3_aboutus ul.list_scroll li a {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: left;
	}
	#record .sec01 .bg_white {
		padding-top: 70px;
		padding-bottom: 70px;
	}
	#record section dl dd .img {
		margin-top: 30px;
	}
	#record section dl dd .img_2column {
		flex-direction: column;
	}
	#record section dl dd .img_2column div {
		width: 100%;
	}
	#record section dl dd .img_2column div:first-of-type {
		margin-right: 0;
		margin-bottom: 30px;
	}
	.l3_workdetail dl {
		margin-bottom: 15px;
	}
	.l3_workdetail .btn01 {
		margin: 80px auto;
	}
	.l3_ship .sec01 .btn01 {
		margin: 80px auto 0;
	}
	.l3_ship .sec01 {
		padding-bottom: 70px;
	}
	#steelpipeconcrete .flex01 .left,
	#steelpipeconcrete .flex01 .right {
		width: calc((100% - 3.33%) / 2);
	}
	#steelpipeconcrete .flex03 .right {
		width: calc(100% - 38.08% - 5.41%);
	}
	.l3_skill p.annotation {
		text-align: left;
		margin-top: 6px;
	}
	.l3_skill .box_border {
		padding: 40px 0;
	}
	.l3_skill .box_border .left {
		padding-right: 40px;
	}
	.l3_skill .box_border .right {
		padding-left: 40px;
	}
	.l3_skill section.item .flex_wrap_type03 {
		flex-direction: column;
	}
	.l3_skill section.item .flex_wrap_type03 .left {
		margin-right: 0;
		margin-bottom: 20px;
	}
	.l2_etc h1 {
		margin-top: 70px;
	}
	.l2_etc .sec01 {
		padding-bottom: 80px;
	}
	#sitemap .wrap_flex {
		flex-wrap: wrap;
	}
	#sitemap .wrap_flex .colmun:nth-of-type(1),
	#sitemap .wrap_flex .colmun:nth-of-type(2),
	#sitemap .wrap_flex .colmun:nth-of-type(3) {
		width: calc(100% / 3);
	}
	#sitemap .wrap_flex .colmun:nth-of-type(3) {
		padding-right: 0;
	}
	#sitemap .wrap_flex .colmun:nth-of-type(4) {
		width: 100%;
		margin-top: 50px;
	}
	#sustainability .fukidashi {
		height: 220px;
	}
	#sustainability .fukidashi h2 .brackets_before,
	#sustainability .fukidashi h2 .brackets_after {
		width: clamp(20px, 3.9062vw, 40px);
		height: clamp(20px, 3.9062vw, 40px);
	}
	#sustainability .mask::after {
		width: 51px;
		height: 46px;
		background-size: cover;
		bottom: -30px;
	}
	#strength .sec01 .wrap_flex .left {
		width: 50%;
		margin-right: 40px;
	}
	#strength .sec01 .wrap_flex .right {
		width: calc(50% - 40px);
	}
	#strength .sec01 .bg_white {
		padding-bottom: 70px;
	}
	#clearmysunny.l3_skill ul.menu_scroll li a {
		padding: 15px 15px 15px 30px;
	}
	#clearmysunny.l3_skill ul.menu_scroll li a::before {
		left: 12px;
	}
	#clearmysunny.l3_skill .bgbox01 {
		padding: 60px 40px;
	}
	#clearmysunny.l3_skill .bgbox02 {
		padding: 60px 40px;
	}
	#clearmysunny.l3_skill .bgbox01 p {
		font-size: 2.8rem;
	}
	#clearmysunny.l3_skill .bgbox03 div,
	#clearmysunny.l3_skill .bgbox03,
	#clearmysunny.l3_skill .bgbox04 .header,
	#clearmysunny.l3_skill .contactbox {
		padding: 40px;
	}
	#clearmysunny.l3_skill .bgbox04 .contents {
		padding: 0 40px 40px;
	}
	#clearmysunny.l3_skill .contactbox .left {
		padding-top: 6px;
		margin-right: 25px;
	}
	#clearmysunny .list_features ul li:nth-child(2n-1) {
		margin-right: auto;
	}

	#clearmysunny .list_features ul li p {
		width: 70%;
		margin-right: 30px;
	}

	#clearmysunny .list_features ul li div {
		position: relative;
		top: 0;
		right: 0;
		width: 172px;
		height: auto;
	}

	#clearmysunny .list_features ul li div::after {
		width: auto;
	}
	#field_trip header {
		padding-top: 20px;
		position: relative;
	}
	#field_trip section.main {
		margin-bottom: 7px;
	}
	#field_trip .main::before {
		content: "";
		position: absolute;
		background: url(../images/field_trip/img_circle01_md.png) no-repeat;
		width: 154px;
		height: 215px;
		left: -51px;
		top: 4px;
		z-index: 2;
	}
	#field_trip .box_white::before {
		content: none;
	}
	#field_trip .box_white::after {
		width: 154px;
		height: 203px;
		right: -77px;
		bottom: 4px;
	}
	#field_trip .box_white {
		padding: 30px 40px 48px;
	}
	#field_trip h1 {
		max-width: 626px;
		margin: auto;
	}
	#field_trip	.img2colmu {
		max-width: 322px;
	}
	#field_trip .sec03 {
		padding-bottom: 80px;
	}
	#field_trip address {
		padding: 30px;
	}
	#field_trip address .wrap_flex02 {
		flex-direction: column;
		margin-top: 20px;
	}
	#field_trip address .wrap_flex02 .left {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}
	#field_trip address dl dt {
		width: clamp(110px, 21.77vw, 223px);
	}
	#field_trip address .wrap_flex02 .right {
		width: 100%;
		max-width: 480px;
	}
	#field_trip .fukidashi::after {
		border-width: 12px 10px 0 10px;
		bottom: -10px;
	}
	#field_trip address dl dt {
		font-size: 15px;
	}
	#clearmysunny .list_features ul {
		flex-direction: column;
	}
	#clearmysunny .list_features ul li {
		width: 100%;
		max-width: 728px;
		margin-left: auto;
		margin-right: auto;
		min-height: 150px;
		padding: 15px 30px;
		justify-content: space-between;
	}
	#system.l3_skill .contactbox {
		padding: 30px 30px 30px;
	}



	.form table tr th {
		width: 260px;
	}
	.form table tr td {
		width: calc(100% - 260px);
	}
	.form table tr td {
		padding-left: 20px;
	}
	.form table tr th span.required,
	.form table tr th span.gray {
		margin-right: 15px;
	}
	.form .sec01 {
		padding-bottom: 80px;
	}
	.inquiry .box_policy {
		margin-top: 75px;
		padding: 40px;
	}
	.inquiry h1 {
		margin-top: 75px;
		padding-bottom: 35px;
	}
	.mt5 {
	margin-top: 3px !important;
	}
	.mt10 {
		margin-top: 7px !important;
	}
	.mt15 {
		margin-top: 10px !important;
	}
	.mt20 {
		margin-top: 14px !important;
	}
	.mt25 {
		margin-top: 18px !important;
	}
	.mt30 {
		margin-top: 20px !important;
	}
	.mt40 {
		margin-top: 25px !important;
	}
	.mt45 {
		margin-top: 30px !important;
	}
	.mt50 {
		margin-top: 35px !important;
	}
	.mt55 {
		margin-top: 35px !important;
	}
	.mt60 {
		margin-top: 40px !important;
	}
	.mt70 {
		margin-top: 50px !important;
	}
	.mt80 {
			margin-top: 55px !important;
		}
	.mt90 {
		margin-top: 60px !important;
	}
	.mt95 {
		margin-top: 65px !important;
	}
	.mt100 {
		margin-top: 70px !important;
	}
	.mt110 {
		margin-top: 70px !important;
	}
	.mt120 {
		margin-top: 80px !important;
	}
	.mt130 {
		margin-top: 80px !important;
	}
	.mb40 {
		margin-bottom: 30px !important;
	}
	.mb50 {
		margin-bottom: 35px !important;
	}
	.mb60 {
		margin-bottom: 40px !important;
	}
	.pt120 {
		padding-top: 70px !important;
	}
	#field_trip .mt20 {
		margin-top: 10px !important;
	}
	#field_trip .mt45 {
		margin-top: 15px !important;
	}
	#field_trip .mt60 {
		margin-top: 20px !important;
	}
	#field_trip .mt65 {
		margin-top: 25px !important;
	}
	#field_trip .mt80 {
		margin-top: 30px !important;
	}
	#field_trip .mt100 {
		margin-top: 40px !important;
	}
	#field_trip .mt110 {
		margin-top: 40px !important;
	}
}
@media screen and (max-width: 1024px) and (min-width: 481px) {
	.maxw1024min481none {
		display: none;
	}
	/*.t-widthfix {
		table-layout: fixed;
	}*/
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
	.minw769maxw1024none {
		display: none;
	}
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
	.minw768maxw1024none {
			display: none;
	}
	#works.l2 .panel ul li {
		width: calc((100% - 60px) / 3);
		margin-bottom: 50px;
	}
	#works.l2 .panel ul li:not(:nth-child(3n)) {
		margin-right: 30px;
	}
	.l2 ul.menulist li:not(:nth-child(3n)) {
		margin-right: 30px;
	}
	.l2 ul.menulist li {
		margin-bottom: 50px;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun04 li {
		width: calc((100% - (3.333% * 2)) / 3);
		margin-right: 3.333%;
		margin-bottom: 30px;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun04 li:nth-child(3n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 1024px) and (min-width: 767px) {
	.l2 ul.menulist li {
			width: calc((100% - 60px) / 3);
	}
}
@media screen and (min-width: 769px) {
	.minw769none {
		display: none;
	}
	.l3 aside ul li {
		width: calc((100% - 80px) / 3);
		position: relative;
		margin-bottom: 47px;
	}
	.l3 aside ul li a {
		padding-bottom: 28px;
	}
	.l3 aside ul li:not(:nth-child(3n)) {
		margin-right: 40px;
	}
}
@media screen and (min-width: 768px) {
	.minw768none {
		display: none;
	}
	#home .sec01 .txt_role.animarion,
	#home .sec01 .txt_role02.animarion {
		font-size: clamp(72px, 12vw, 126px);
	}
	#link.l3_company section ul li:last-child,
	#link.l3_company section ul li:nth-last-child(2) {
		margin-bottom: 0;
	}
	#topics.l2 ul.archive-year li {
	width: calc((100% - 80px) / 5);
	margin-bottom: 40px;
	}
	#topics.l2 ul.archive-year li:not(:nth-child(5n)) {
		margin-right: 20px;
	}
	.l3_aboutus ul.list_scroll li {
		width: calc(100% / 5);
		border-right: 1px solid #E1E1E1;
	}
	.l3_aboutus ul.list_scroll li:first-child {
		border-left: 1px solid #E1E1E1;
	}
	#sustainability .sec02 ul.wrap_flex li {
		width: calc((100% - 3.5%) / 3);
		margin-right: 3.5%;
	}
	#sustainability .sec02 ul.wrap_flex li:last-child {
		margin-right: 0;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun03 li {
		margin-right: 3.333%;
		margin-bottom: 40px;
		max-width: calc((100% - (3.333% * 2)) / 3);
	}
	#topics_detail.l3 .sec01 .img_flex_colmun03.maxw890 li {
		margin-right: 4.494%;
		max-width: calc((100% - (4.494% * 2)) / 3);
	}
	#topics_detail.l3 .img_flex_colmun03 li:nth-child(3n),
	#topics_detail.l3 .sec01 .img_flex_colmun03.maxw890 li:nth-child(3n) {
		margin-right: 0;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun02 li {
		margin-right: 3.333%;
		margin-bottom: 40px;
		max-width: calc((100% - (3.333%)) / 2);
	}
	#topics_detail.l3 .img_flex_colmun02 li:nth-child(2n) {
		margin-right: 0;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun02.maxw580 li {
		margin-right: 6.896%;
		margin-bottom: 40px;
		max-width: calc((100% - (6.896%)) / 2);
	}
	#topics_detail.l3 .img_flex_colmun02.maxw580 li:nth-child(2n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 768px) {
	html {
		font-size: 50%;
	}
	.maxw768none {
		display: none;
	}
	sup {
		bottom: 5px;
	}
	#home .sec01 {
		min-height: auto;
		/*max-height: 600px;*/
		height: 100vh;
		height: 100dvh;
	}
	#home .sec03 h2::after,
	#home .sec04 h2::after,
	#home .sec05 h2::after,
	#home .sec06 h2::after {
		bottom: 30px;
	}
	#home .sec03 h2 span,
	#home .sec04 h2 span,
	#home .sec05 h2 span,
	address.contact h2 span {
		margin-bottom: 0;
	}
	#home .sec04 {
		background-position: 200px bottom;
	}
	.l2 h1 {
		padding-right: 100px;
	}
	.l2 h1::after {
		width: 80px;
	}
	.l2 ul.menulist figcaption {
		padding: 0 60px 20px 20px;
		margin-top: 20px;
	}
	.l2 ul.menulist figcaption::after {
		right: 20px;
	}
	#company.l2 section.main,
	#ship.l2 section.main,
	#skill.l2 section.main,
	#topics.l2 section.main,
	#aboutus.l2 section.main,
	#recruit.l2 section.main,
	#sustainability.l2 section.main {
		height: 400px;
	}
	#works.l2 .cate {
		padding-top: 30px;
	}
	#works.l2 section.main {
		/*height: 500px;*/
		height: 400px;
	}
	#works.l2 ul.tab-menu li {
		padding: 20px;
	}
	#works.l2 .tab-wrap {
		top: -77px;
	}
	#works.l2 .txt_wrap {
		bottom: 30px;
	}
	#ship.l2 .sec02::before {
		height: clamp(100px, calc(27.994vw + 20px), 215px);
	}
	#ship.l2 .sec02 {
		padding-bottom: 80px;
	}
	#ship.l2 .bg_blue {
		height: 80px;
	}
	.l3_skill .wrap_title .category,
	.l3_skill .wrap_title02 .category {
		margin-top: 3px;
	}
	.l3_skill ul.list_number li {
		padding-left: 30px;
	}
	.l3 aside h2::before {
		top: 9px;
	}
	.l3 aside h3::before {
		height: 20px;
		top: 4px;
	}
	.l3 aside ul li a {
		font-size: 16px;
	}
	#network .modal__content {
		padding: 40px;
	}
	#network .modal h3::before {
		top: 6px;
	}
	#network .modal .btn_pdf {
		margin: 60px auto;
	}
	#history.l3_company dl dt {
		width: 100px;
		padding: 25px 20px;
	}
	#history.l3_company dl dd {
		width: calc(100% - 100px);
		padding: 25px 20px;
	}
	#topics.l2 section.main {
		background-position: 60% bottom;
	}
	#aboutus.l2 section.main {
		background-position: 75% bottom;
	}
	.l3_workdetail dl dt::after {
		height: 16px;
		top: 6px;
	}
	.l3_workdetail dl::before {
		top: 9px;
	}
	.l3_ship .sec01 h2::before {
		top: 14px;
	}
	.l3_ship .contents_flex .right dl::before {
		top: 8px;
	}
	.l3_ship .contents_flex .right dt::after {
		top: 5px;
		height: 16px;
	}
	#policy.l3_company section h2::before,
	.l2_etc section.item h2::before,
	#sustainability .sec02 h3::before,
	.l3_skill section.item h2::before,
	#field_trip h2.type01::before {
		top: 13px;
	}
	#sustainability.l2 .txt_wrap .en_txt {
		font-size: clamp(8rem, 10.416vw, 10rem);
	}
	#sustainability .sec02 h4 span {
		bottom: -4px;
	}
	#strength .sec01 .wrap_flex {
		flex-direction: column;
	}
	#strength .sec01 .wrap_flex .left {
		width: 100%;
		margin-right: 0;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px;
	}
	#strength .sec01 .wrap_flex .right {
		width: 100%;
	}
	#strength .sec01 .wrap_title .txt_en::after {
		height: 100%;
	}
	#strength .sec01 .wrap_title .txt_en {
		padding-right: 35px;
		line-height: 1;
	}
	#strength .sec01 .wrap_title .txt_en span {
		margin-bottom: 4px;
	}
	#strength .sec01 .wrap_title h2 {
		padding-left: 35px;
		padding-bottom: 0;
	}
	#field_trip .sec02 .wrap_flex {
		flex-direction: column;
	}
	#field_trip .sec02 .wrap_flex .left {
		width: 100%;
		max-width: 100%;
		margin-right: 0;
		margin-bottom: 32px;
	}
	#field_trip .sec02 .wrap_flex .right {
		width: 100%;
	}
	#field_trip .sec02 .wrap_flex {
		margin-top: 32px;
	}
	#field_trip .sec02 .wrap01,
	#field_trip .sec03 .box_white03 {
		padding-top: 33px;
		padding-bottom: 50px;
	}
	#field_trip .sec02 {
		background-size: 122%;
		padding-top: 180px;
		padding-bottom: 70px;
		margin-top: -96px;
	}
	#field_trip h4::before {
		top: 7px;
	}
}

@media screen and (max-width: 767px) {
	footer .footer-menu,
	#home .md-area,
	.max-w767none {
		display: none;
	}
	.maxw767none {
		display: none;
	}
	#home footer {
		border-top: none;
	}
	#home .sec04 {
		flex-direction: column;
	}
	#home .sec04 .contents_right {
		width: 100%;
		padding: 60px 40px 0;
	}
	#home .sec06 {
		flex-direction: column;
		padding-top: 50px;
		padding-bottom: 50px;
		padding-left: clamp(20px, 5.2151vw, 40px);
		padding-right: clamp(20px, 5.2151vw, 40px);
	}
	#home .sec06 .contents_left {
		width: 100%;
		margin-right: 0;
		order: 2;
		padding-left: 0;
	}
	#home .sec06 .contents_right {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
		order: 1;
	}
	#works.l2 footer,
	.inquiry footer,
	.l3_workdetail footer,
	.l3_ship footer,
	.l2_etc footer {
		border-top: none;
	}
	footer .footer-contents .logo_footer {
		margin-left: 25px;
	}
	footer .footer-contents ul {
		margin-right: 25px;
	}
	footer ul.footer-under_menu li:not(:last-child) {
		margin-right: 20px;
	}
	footer .instagram a {
		max-width: 26px;
	}
	.l2 .sec02 .img_wrap {
		width: auto;
		max-width: 400px;
		position: static;
		margin-top: -200px;
		margin-left: auto;
		margin-bottom: 50px;
	}
	#sustainability .l2 .sec02 .img_wrap {
		margin-bottom: 0;
	}
	.l2 .sec02 .flex_space-between {
		flex-direction: column;
	}
	.l2 .txt_wrap {
		order: 2;
	}
	.l2 ul.menulist li {
		width: calc((100% - 20px) / 2);
		margin-bottom: 30px;
	}
	.l2 ul.menulist li:not(:nth-child(2n)) {
		margin-right: 20px;
	}
	#works.l2 ul.tab-menu li {
		font-size: 18px;
		padding: 10px;
	}
	#works.l2 .tab-wrap {
		top: -55px;
	}
	.l3_skill .contents_flex {
		flex-direction: column;
	}
	.l3_skill .contents_flex .left {
		margin-right: 0;
		margin-bottom: 30px;
		width: 100%;
	}
	.l3_skill .contents_flex .right {
		width: 100%;
	}
	.l3_skill .contents_flex .right {
		max-width: 480px;
	}
	.l3_skill .wrap_title,
	.l3_skill .wrap_title02 div {
		flex-direction: column;
		margin-top: 0;
	}
	.l3_ship .wrap_title {
		flex-direction: column;
		margin-top: 0;
		align-items: flex-start;
	}
	.l3_skill .wrap_title .category,
	.l3_skill .wrap_title02 .category,
	.l3_ship .wrap_title .category {
		min-width: 120px;
		height: 36px;
		margin-top: 10px;
	}
	.l3_skill ul.list_modal {
		flex-direction: column;
	}
	.l3_skill ul.list_modal li:first-child {
		margin-right: auto;
		margin-bottom: 30px;
	}
	.l3_skill ul.list_modal li {
		width: 100%;
		max-width: 480px;
		margin: auto;
	}
	.l3_skill ul.flex2column_mr40 {
		flex-direction: column;
	}
	.l3_skill ul.flex2column_mr40 li {
		width: 100%;
		max-width: 480px;
		margin: auto;
	}
	.l3_skill ul.flex2column_mr40 li:first-child {
		margin-right: auto;
		margin-bottom: 30px;
	}
	.l3_skill section.item .flex_wrap_type02 {
		flex-direction: column;
	}
	.l3_skill section.item .flex_wrap_type02 .left {
		margin-right: 0;
		margin-bottom: 20px;
	}
	.l3_skill section.item .flex_wrap_type03 .right {
		margin-bottom: 20px;
	}
	.l3_skill section.item th,
	.l3_skill section.item td {
		width: 100%;
		display: block;
	}
	.l3_skill section.item th {
		border-bottom: none;
	}
	.l3_skill section.item td {
		border-top: none;
		border-color: #9E9E9E;
	}
	.modal__content,
	#record .modal__content {
		padding: 10px;
	}
	.icon_close {
		width: 20px;
		height: 20px;
		top: 10px;
		right: 10px;
	}
	.icon_close_bg {
		max-width: 10px;
	}
	.l3 aside {
		padding: 70px 0;
	}
	.l3_company table th,
	.l3_recruit table th {
		display: block;
		width: 100%;
		border-bottom: none;
	}
	.l3_company table td,
	.l3_recruit table td {
		display: block;
		width: 100%;
		border-top: none;
		border-bottom: none;
	}
	.l3_company .contents_flex {
		flex-direction: column;
	}
	.l3_company .contents_flex .left {
		margin-right: 0;
		width: 100%;
		order: 2;
	}
	.l3_company .contents_flex .right {
		width: 100%;
		order: 1;
		max-width: 480px;
		margin-bottom: 30px;
	}
	#link.l3_company section ul {
		flex-direction: column;
	}
	#link.l3_company section ul li {
		width: 100%;
	}
	#link.l3_company section ul li:nth-child(2n-1) {
		margin-right: 0;
	}
	#link.l3_company section ul li:last-child {
		margin-bottom: 0;	
	}
	#topics.l2 ul.article li a {
		flex-direction: column;
	}
	#topics.l2 ul.article li a div {
		margin-bottom: 15px;
	}
	#topics.l2 ul.article time {
		margin-right: 15px;
	}
	#topics.l2 ul.archive-year li {
		width: calc((100% - 40px) / 3);
		margin-bottom: 20px;
	}
	#topics.l2 ul.archive-year li:not(:nth-child(3n)) {
		margin-right: 20px;
	}
	#sustainability.l2 .sec02 {
		padding-top: 110px;
	}
	#topics_detail.l3 .sec01 .wp-block-table table th,
	#topics_detail.l3 .sec01 .wp-block-table table td {
		font-size: 15px;
		display: block;
	}
	#topics_detail.l3 .sec01 .wp-block-table table th {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #ccc;
		text-align: left;
	}
	#topics_detail.l3 .sec01 .wp-block-table.type03 table th {
		width: auto;
		border-right: 1px solid #ccc;
	}
	#topics_detail.l3 .sec01 .wp-block-table.type03 table th,
	#topics_detail.l3 .sec01 .wp-block-table.type03 table td {
		display: table-cell;
	}
	#topics_detail.l3 article .flex_wrap {
		flex-direction: column;
	}
	#topics_detail.l3 .img_flex_colmun02.nowrap li {
		max-width: calc((100% - 20px) / 2);
		margin-right: 20px;
	}
	#topics_detail.l3 .img_flex_colmun02.nowrap li:nth-child(2n) {
		margin-right: 0;
	}
	#topics_detail.l3 article .flex_wrap .left {
		margin-right: 0;
		margin-bottom: 30px;
	}
	#topics_detail.l3 .f-18 {
		font-size: 16px;
	}
	#record section dl dt p span {
		font-size: clamp(48px, 7.82vw, 60px);
		letter-spacing: -0.05em;
	}
	#record section dl dt {
		padding-right: 20px;
	}
	.l3_aboutus ul.list_scroll {
		flex-wrap: wrap;
	}
	.l3_aboutus ul.list_scroll li {
		border-right: 1px solid #E1E1E1;
	}
	.l3_aboutus ul.list_scroll li:nth-child(1),
	.l3_aboutus ul.list_scroll li:nth-child(2) {
		width: calc(100% / 2);
	}
	.l3_aboutus ul.list_scroll li:nth-child(1),
	.l3_aboutus ul.list_scroll li:nth-child(4) {
		border-left: 1px solid #E1E1E1;
	}
	.l3_aboutus ul.list_scroll li:nth-child(1),
	.l3_aboutus ul.list_scroll li:nth-child(2),
	.l3_aboutus ul.list_scroll li:nth-child(3) {
		width: calc(100% / 3);
		margin-bottom: 30px;
	}
	.l3_aboutus ul.list_scroll li:nth-child(4),
	.l3_aboutus ul.list_scroll li:nth-child(5) {
		width: calc(100% / 2);
	}
	.l3_workdetail dl {
		margin-right: 0;
	}
	.l3_workdetail dl dt {
		padding-right: 10px;
	}
	.l3_workdetail dl dd {
		padding-left: 10px;
	}
	.l3_workdetail .list_overview {
		flex-direction: column;
	}
	.l3_ship h1 {
		margin-right: 18px;
	}
	.l3_ship .contents_flex {
		flex-direction: column;
	}
	.l3_ship .contents_flex .left {
		width: 100%;
		max-width: 480px;
		margin-right: 0;
		order: 2;
	}
	.l3_ship .contents_flex .right {
		width: 100%;
		margin-bottom: 40px;
		order: 1;
	}
	#steelpipeconcrete .flex01,
	#steelpipeconcrete .flex02,
	#steelpipeconcrete .flex03 {
		flex-direction: column;
	}
	#steelpipeconcrete .flex01 .left,
	#steelpipeconcrete .flex01 .right,
	#steelpipeconcrete .flex03 .right {
		width: 100%;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#steelpipeconcrete .flex01 .left,
	#steelpipeconcrete .flex02 .left {
		margin-bottom: 30px;
	}
	#steelpipeconcrete .flex02 .right {
		width: 100%;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	#steelpipeconcrete .flex03 .left {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}
	.l3_skill .box_border {
		flex-direction: column;
		padding: 30px 0;
	}
	.l3_skill .box_border .left {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid #C8C8C8;
		padding-right: 0;
		padding-bottom: 30px;
	}
	.l3_skill .box_border .right {
		width: 100%;
		padding-left: 0;
		padding-top: 30px;
	}
	.l3_skill .box_border figure {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	.l3_skill .box_border .right .mb30 {
		margin-bottom: 30px !important;
	}
	#metalroad section .flex01 {
		flex-direction: column;
	}
	#metalroad section .flex01 .left_flex01 {
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
	}
	#sitemap .wrap_flex .colmun:nth-of-type(1),
	#sitemap .wrap_flex .colmun:nth-of-type(2),
	#sitemap .wrap_flex .colmun:nth-of-type(3),
	#sitemap .wrap_flex .colmun:nth-of-type(4) {
		width: calc(100% / 2);
	}
	#sitemap .wrap_flex .colmun:nth-of-type(3) {
		margin-top: 50px;
	}
	#sustainability .sec02 ul.wrap_flex {
		flex-direction: column;
	}
	#sustainability .sec02 ul.wrap_flex li {
		width: 100%;
		margin-bottom: 50px;
	}
	#sustainability .sec02 ul.wrap_flex li:last-child {
		margin-bottom: 0;
	}
	#sustainability .sec02 ul.wrap_flex li .wrap_title {
		max-width: 400px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	#sustainability .sec02 .img {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#sustainability .sec02 ul.wrap_flex li:nth-child(2) p:last-of-type,
	#sustainability .sec02 ul.wrap_flex li:nth-child(3) p:last-of-type {
		margin-bottom: 35px;
	}
	#clearmysunny.l3_skill ul.menu_scroll,
	#topics_detail.l3 ul.menu_scroll {
		flex-wrap: wrap;
	}
	#clearmysunny.l3_skill ul.menu_scroll li,
	#topics_detail.l3 ul.menu_scroll {
		width: calc((100% - 20px) / 2);
	}
	#clearmysunny.l3_skill ul.menu_scroll li:nth-child(2n-1),
	#topics_detail.l3 ul.menu_scroll li:nth-child(2n-1) {
		margin-right: 20px;
	}
	#clearmysunny.l3_skill ul.menu_scroll li:nth-child(2n),
	#topics_detail.l3 ul.menu_scroll li:nth-child(2n) {
		margin-right: 0;
	}
	#clearmysunny.l3_skill ul.menu_scroll li:nth-child(1),
	#clearmysunny.l3_skill ul.menu_scroll li:nth-child(2) {
		margin-bottom: 20px;
	}
	#clearmysunny.l3_skill .bgbox03 {
		flex-direction: column;
	}
	#clearmysunny.l3_skill .bgbox03 div {
		width: 100%;
	}
	#clearmysunny.l3_skill .bgbox03 div.left {
		margin-right: 0;
		margin-bottom: 30px;
	}
	#clearmysunny.l3_skill .contactbox .wrap_flex {
		flex-direction: column;
	}
	#clearmysunny.l3_skill .contactbox .wrap_flex {
		margin-left: auto;
		margin-right: auto;
	}
	#ysmethod.l3_skill section ul.wrap_flex {
		flex-direction: column;
	}
	#ysmethod.l3_skill section ul.wrap_flex li {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#ysmethod.l3_skill section ul.wrap_flex li:first-child {
		margin-right: auto;
		margin-bottom: 30px;
	}
	#field_trip address dl {
		flex-direction: column;
		align-items: flex-start;
	}
	#field_trip address dl dt {
		width: 223px;
		margin-right: 0;
		margin-bottom: 5px;
	}
	#field_trip address dl:first-of-type dd {
		margin-bottom: 10px;
	}
	#field_trip .main::before {
		width: 127px;
		height: 169px;
		top: 5px;
		left: -24px;
		background: url(../images/field_trip/img_circle01_sp.png) no-repeat;
		background-size: cover;
	}
	#field_trip .box_white ul li a {
		max-width: 273px;
		margin-left: auto;
		margin-right: auto;
	}
	#field_trip .box_white::after {
		background: url(../images/field_trip/img_circle02_sp.png) no-repeat;
		width: 123px;
		height: 161px;
		right: -53px;
	}
	#field_trip .sec03 .wrap_flex .left {
		margin-right: 20px;
	}
	#system.l3_skill ul.wrap_flex {
		flex-direction: column;
	}
	#system.l3_skill ul.wrap_flex li {
		width: 100%;
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#system.l3_skill ul.wrap_flex li:first-child {
		margin-right: auto;
		margin-bottom: 20px;
	}
	#system.l3_skill .contactbox {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	#system.l3_skill .contactbox .wrap_flex {
		flex-direction: column;
	}













	
	.form .btnform-area {
		flex-direction: column;
		margin-top: 40px;
	}
	.form .btnform-area div {
		margin: 0 auto 30px;
	}
	.form .btnform-area div:last-of-type {
		margin-bottom: 0;
	}
	.inquiry .form ul.flow-wrap li p {
		font-size: 15px;
	}
	.form table tr th,
	.form table tr td {
		width: 100%;
	}
	.form table tr th {
		border-right: none;
		border-bottom: 1px solid #DEDEDC;
	}
	.form table tr {
		display: block;
	}
	.form table tr td .flex-field {
		flex-direction: column;
		align-items: flex-start;
	}
	.form table tr td .flex-field p {
		margin-bottom: 10px;
	}
	.form label.radio-label {
		padding-left: 30px;
		text-indent: -30px;
	}
	.form table tr td.policy-wrap label.radio-label {
		padding-left: 0;
		text-indent: 0;
	}
	.form label.radio-label {
		width: calc((100% / 2) - 10px);
		margin-right: 20px;
	}
	.form label.radio-label:nth-child(2n) {
		margin-right: 0;
	}
	.form .suggestion-box ul li {
		width: calc((100% / 2) - 10px);
		margin: 5px;
	}
	.form .suggestion-box ul li:nth-child(2n+1) {
		margin-left: 0;
	}
	.form .suggestion-box ul li:nth-child(2n) {
		margin-right: 0;
	}
	.form .suggestion-box .suggestion-top {
		padding: 20px 15px 60px;
	}
	.form .suggestion-box .item-list {
		padding: 0 15px 15px;
	}
	.form .suggestion-box h3::before {
		right: 320px;
	}
	.form .suggestion-box h3::before {
		background-size: 85%;
		background-position: center;
	}
	.form ul.btn-area {
		flex-direction: column;
	}
	.form ul.btn-area li {
		margin: 0 0 30px;
	}
	.form ul.btn-area li a {
		width: 100%;
		max-width: 400px;
		margin: auto;
	}
	.form ul.btn-area li:last-child {
		margin-bottom: 0;
	}
	input[name="privacypolicy"] {
		margin-right: 7px;
	}
	#confirm .form table tr th,
	#confirm .form table tr td {
		width: 100%;
	}












	
	
}

@media screen and (max-width: 768px) and (min-width: 481px) {
	ul.scrollbtn-list_seasonings {
		flex-wrap: wrap;
	}
	ul.scrollbtn-list_seasonings li {
		width: calc((100% / 3) - 8px);
		margin: 0 6px 12px;
	}
	ul.scrollbtn-list_seasonings li:nth-child(3n+1) {
		margin-left: 0;
	}
	ul.scrollbtn-list_seasonings li:nth-child(3n) {
		margin-right: 0;
	}
	.maxw768minw481none {
		display: none;
	}
	.l3 aside ul li {
		width: calc((100% - 40px) / 2);
		position: relative;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	.l3 aside ul li:not(:nth-child(2n)) {
		margin-right: 40px;
	}
}

@media screen and (max-width: 767px) and (min-width: 481px) {
	#works.l2 .panel ul li {
		width: calc((100% - 30px) / 2);
	}
	#works.l2 .panel ul li:not(:nth-child(2n)) {
		margin-right: 30px;
		margin-bottom: 50px;
	}
	#ship.l2 .en_txt {
		font-size: clamp(8rem, 13.03vw, 10rem);
	}
	#topics_detail.l3 .sec01 .img_flex_colmun03 li {
		max-width: calc((100% - 20px) / 2);
		margin-bottom: 20px;
		margin-right: 20px;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun03 li:nth-child(2n) {
		margin-right: 0;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun04 li {
		max-width: calc((100% - (3.333%)) / 2);
		margin-right: 3.333%;
	}
	#topics_detail.l3 .sec01 .img_flex_colmun04 li:nth-child(2n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 625px) {
	.maxw625none {
		display: none;
	}
	#home .sec01 .txt_wrap {
		margin-right: 25px;
		bottom: 25px;
		left: 25px;
	}
	#home .sec01 .txt_wrap h2 {
		letter-spacing: 0.15em;
	}
	#home .sec03 ul.menulist {
		flex-direction: column;
	}
	#home .sec03 ul.menulist li {
		width: 100%;
		height: 200px;
		overflow: hidden;
	}
	#home .sec03 ul.menulist li a img {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#home .sec03 ul.menulist li:not(:last-child) {
		margin-right: 0;
		margin-bottom: 1px;
	}
	#home .sec04 {
		padding: 50px 0 30px;
	}
	#home .sec04 .contents_left {
		padding-left: 25px;
		margin-right: 25px;
	}
	#home .sec06 .contents_right {
		margin-bottom: 30px;
	}
	footer .footer-contents {
		flex-direction: column;
		padding: 20px 0 15px;
	}
	footer .footer-contents .logo_footer {
		margin: 0 auto 10px;
	}
	footer .footer-contents ul {
		margin-right: 0;
	}
}

@media screen and (min-width: 481px) {
	.minw481none {
		display: none;
	}
	#home .main_sp {
		display: none;
	}
	.thumbnail-img:nth-child(4n) {
		margin-right: 0 !important;
	}
	#ourproducts .img_sp {
		display: none;
	}
}

@media screen and (max-width: 480px) {
	.wrap_main,
	.wrap01,
	.wrap02,
	.footer-contents,
	#ship.l2 .table_list {
		padding-left: 20px;
		padding-right: 20px;
	}
	p {
		font-size: 14px;
	}
	.maxw480none {
		display: none;
	}
	.element.start01,
	.element.start02,
	.element.start03 {
		transition-delay: 0s;
	}
	#home .sec04 .element.start02 {
		transition-delay: .25s;
	}
	header .logo a {
		max-width: 230px;
		padding-right: 5px;
	}
	/*
	#home .sec01 {
		min-height: auto;
		max-height: 500px;
		background-position: 27% center;
	}
	*/
	#home .sec01 {
		/*height: calc(100vh - 65.34px);
		height: calc(100dvh - 65.34px);*/
		height: 100vh;
		height: 100dvh;
	}
	#home .sec03 h2 span,
	#home .sec04 h2 span, 
	#home .sec05 h2 span,
	address.contact h2 span {
		margin-bottom: -4px;
	}
	#home .sec01 .txt_wrap h2 {
		font-size: clamp(32px, 9.17vw, 38px);
		line-height: 1.6;
	}
	#home .sec04 h2,
	#home .sec05 h2,
	#home .sec06 h2 {
		font-size: 5.2rem;
		padding-right: 60px;
	}
	#home .sec03 h2::after,
	#home .sec04 h2::after,
	#home .sec05 h2::after,
	#home .sec06 h2::after {
		width: 50px;
	}
	#home .sec01 .txt_wrap p {
		font-size: 16px;
		margin-bottom: 13px;
	}
	#home .sec02 .contents_left {
		padding: 15px 20px;
	}
	#home .sec02 h2 span {
		font-size: 4.2rem;
	}
	#home .sec02 .contents_right ul li a {
		flex-direction: column;
	}
	#home .sec02 .contents_right ul li:first-child a {
		padding-top: 0;
	}
	#home .sec02 .contents_right ul li a div {
		margin-bottom: 8px;
	}
	#home .sec02 .contents_right {
		padding: 30px 25px 0;
	}
	#home .sec03 h2 {
		padding-left: 25px;
	}
	#home .sec02 .btn01 {
		margin-top: 15px;
	}
	#home .sec03 .txt_wrap {
		padding-bottom: 20px;
	}
	#home .sec03 .txt_wrap p {
		margin-left: 25px;
		padding-right: 25px;
		font-size: 17px;
	}
	#home .sec03 {
		padding-top: 40px;
	}
	#home .sec03 .txt_wrap::after {
		background-size: cover;
		height: 200px;
		right: -100px;
		bottom: -40px;
	}
	#home .sec04 h3 {
		margin-top: 25px;
		font-size: 17px;
	}
	#home .sec03 ul.menulist li a p {
		font-size: 3rem;
	}
	#home .sec04 .contents_left p {
		margin-top: 15px;
	}
	#home .sec04 .contents_left .btn01 {
		margin-top: 40px;
	}
	#home .sec05 h3 {
		font-size: 17px;
	}
	#home .sec04 .contents_right {
		padding: 50px 25px 0;
	}
	#home .sec05 .contents_left {
		min-height: 220px;
	}
	#home .sec05 .contents_right {
		padding: 30px 25px 50px;
	}
	address.contact .txt_wrap {
		padding-left: 25px;
		margin-right: 25px;
	}
	address.contact .contents_right {
		margin-left: 25px;
		padding: 25px;
	}
	address.contact .contents_right .btn01 {
		margin-top: 10px;
	}
	address.contact .contents_right p.tel {
		margin-top: 0;
		font-size: 5rem;
	}
	address.contact .txt_bg {
		right: -25px;
	}
	address.contact .contents_left {
		padding: 7px 0 30px;
	}
	address.contact .contents_left p {
		margin-top: 14px;
	}
	#company.l2 section.main,
	#ship.l2 section.main,
	#skill.l2 section.main,
	#topics.l2 section.main,
	#aboutus.l2 section.main,
	#recruit.l2 section.main,
	#sustainability.l2 section.main {
		height: 300px;
	}
	#skill.l2 section.main,
	#ship.l2 section.main {
		background-position: 80% bottom;
	}
	#topics.l2 section.main {
		background-position: 55% bottom;
	}
	.l2 .sec02 .img_wrap {
		margin-top: -150px;
	}
	.l2 .en_txt {
		font-size: 7rem;
	}
	#ship.l2 .en_txt {
		font-size: clamp(5.8rem, calc(11.66vw + 1.2rem), 7rem);
	}
	.l2 h1 {
		padding-right: 62px;
		font-size: 2.8rem;
		margin-top: -8px;
	}
	.l2 h1::after {
		width: 50px;
	}
	.l2 .sub_txt {
		font-size: 18px;
	}
	.l2 .sec02,
	#skill.l2 .sec02 {
		padding-bottom: 50px;
	}
	#company.l2 .sec02 {
		padding-bottom: 30px;
	}
	.l2 .sec02 .img_wrap {
		border-radius: 15px;
		margin-bottom: 30px;
		margin-left: 0;
	}
	.l2 .sec02 h2 {
		margin-bottom: 15px;
		font-size: 18px;
	}
	.l2 p {
		font-size: 15px;
	}
	.l2 ul.menulist {
		padding-top: 50px;
	}
	.l2 ul.menulist figcaption {
		padding: 0 28px 12px 12px;
		margin-top: 12px;
	}
	.l2 ul.menulist figure {
		border-radius: 15px;
	}
	.l2 ul.menulist figcaption::after {
		right: 10px;
		width: 19px;
		height: 4px;
		background-size: contain;
	}
	.l2 ul.menulist figcaption {
		font-size: 14px;
	}
	footer small {
		padding: 12px;
		font-size: 12px;
	}
	#works.l2 .sec02 {
		padding-bottom: 20px;
	}
	#works.l2 .panel ul li {
		width: calc((100% - 20px) / 2);
		margin-bottom: 30px;
	}
	#works.l2 .panel ul li:not(:nth-child(2n)) {
		margin-right: 20px;
	}
	#works.l2 .panel ul li p {
		font-size: 15px;
		padding-right: 26px;
		margin-top: 8px;
	}
	#works.l2 .panel ul li p::after {
		width: 17px;
		height: 5px;
		background-size: contain;
	}
	#works.l2 section.main {
		height: 300px;
		background-position: 80% bottom;
	}
	#works.l2 ul.tab-menu li {
		font-size: 15px;
		padding: 10px 5px;
	}
	#works.l2 .tab-wrap {
		top: -50px;
	}
	#works.l2 .txt_wrap {
		bottom: 15px;
	}
	#works.l2 h2 {
		font-size: 18px;
	}
	#works.l2 h2::before {
		width: 8px;
		height: 8px;
	}
	#works.l2 .cate {
		padding-top: 10px;
	}
	#ship.l2 .sec02 {
		padding-top: 40px;
	}
	#ship.l2 .table_list h2 {
		margin-bottom: 20px;
		font-size: 18px;
		margin-top: 40px;
	}
	#ship.l2 .table_list h2::after {
		height: 22px;
		width: 3px;
	}
	#ship.l2 .table_box table thead th,
	#ship.l2 .table_box table th,
	#ship.l2 .table_box table td,
	#ship.l2 .table_box table tbody th a,
	#ship.l2 .table_box .icon_pdf {
		font-size: 15px;
	}
	#ship.l2 .table_list {
		padding-top: 50px;
	}
	#ship.l2 .sec02 {
		padding-bottom: 50px;
	}
	#ship.l2 .sec02::before {
		top: 0;
	}
	#ship.l2 .txt_wrap {
		padding-bottom: 0;
	}
	#ship.l2 .bg_blue {
		height: 50px;
	}
	#skill.l2 ul.menulist figcaption {
		padding-right: 20px;
	}
	#skill.l2 ul.menulist,
	#aboutus.l2 ul.menulist,
	#recruit.l2 ul.menulist,
	#sustainability.l2 .contents {
		padding-top: 50px;
		margin-top: 50px;
		padding-bottom: 50px;
	}
	#skill.l2 .bg_white,
	#aboutus.l2 .bg_white,
	#recruit.l2 .bg_white,
	#sustainability.l2 .bg_white {
		border-radius: 0 50px 0 0;
	}
	.l3 aside ul li {
		width: 100%;
		position: relative;
		margin-bottom: 20px;
	}
	.l3 aside ul li a {
		font-size: 14px;
		padding-bottom: 14px;
	}
	.l3 aside ul li a::after {
		width: 26px;
		background-size: contain;
	}
	.l3 aside {
		padding: 30px 0 40px;
		border-radius: 25px 0 0;
		margin-top: 50px;
	}
	.l3 aside h3:first-of-type {
		margin-top: 34px;
	}
	.l3 aside ul {
		margin-top: 15px;
	}
	.l3_company .l3 aside ul,
	.l3_aboutus .l3 aside ul,
	.l3_recruit .l3 aside ul {
		margin-top: 22px;
	}
	.l3 aside ul li {
		margin-bottom: 10px;
	}
	.l3_skill h1 {
		font-size: 3.2rem;
		font-feature-settings: "palt";
	}
	.l3_skill p.sub_txt,
	.l3_ship p.sub_txt {
		margin-top: 37px;
		font-size: 2rem;
	}
	.l3_skill .wrap_title,
	.l3_skill .wrap_title02,
	.l3_ship .wrap_title {
		padding-bottom: 28px;
	}
	.l3_skill .contents_flex {
		padding: 50px 0 0;
	}
	.l3_skill section.item h2 {
		padding-left: 20px;
		font-size: 2.8rem;
	}
	.l3_skill section.item h2::before {
		width: 9px;
		height: 9px;
	}
	.l3_skill section.item ul li {
		font-size: 15px;
	}
	.l3_skill .box_type01 {
		border-radius: 10px;
		padding: 15px;
	}
	.l3_skill ul.list_modal li a::after {
		width: 20px;
		height: 20px;
		background-size: cover;
	}
	.l3_company table th,
	.l3_recruit table th {
		font-size: 15px;
		padding: 20px;
	}
	.l3_company table td,
	.l3_recruit table td {
		font-size: 15px;
		padding: 20px;
	}
	.l3_company table td ul li {
		font-size: 15px;
	}
	#network .modal__content {
		max-width: calc(100% - 40px);
		padding: 20px;
	}
	#network .modal h2 {
		margin-top: 4px;
		margin-bottom: 10px;
	}
	#network .modal hr {
		margin: 18px 0 21px;
	}
	#network .modal h3 {
		margin-top: 20px;
		margin-bottom: 10px;
	}
	#network .modal dl {
		margin-top: 15px;
	}
	#network .modal .btn_pdf {
		margin: 40px auto 0;
		padding: 15px 30px 15px 30px;
		font-size: 15px;
	}
	#network .modal .btn_pdf::after {
		right: 15px;
		width: 17px;
		height: 21px;
		background-size: cover;
	}
	.l3_company .modal__content .wrap_map {
		margin-top: 40px;
	}
	.l3_company p.sub_txt,
	.l3_aboutus p.sub_txt,
	.l3_workdetail p.sub_txt {
		margin-top: 35px;
	}
	.l3_company h1,
	.l3_aboutus h1,
	.l3_recruit h1,
	.l3_workdetail h1,
	.l2_etc h1 {
		padding-bottom: 25px;
		line-height: 1.4;
		margin-top: 35px;
	}
	.l3_skill section.item h2.style_h1 {
		padding-bottom: 25px;
		line-height: 1.4;
	}
	.l3_company .btn_map {
		min-width: 60px;
		height: 40px;
	}
	.l3_company table td p {
		margin-right: 15px;
	}
	#policy.l3_company ul.lsit-box_blue {
		padding: 25px 20px;
		border-radius: 10px;
	}
	#policy.l3_company ul.lsit-box_blue li {
		font-size: 17px;
		margin-bottom: 10px;
	}
	#history.l3_company section h2 {
		font-size: 23px;
	}
	#history.l3_company dl dt {
		font-size: 15px;
		padding: 15px;
		width: 70px;
	}
	#history.l3_company dl dd {
		width: calc(100% - 70px);
		font-size: 15px;
		padding: 15px 10px 15px 20px;
	}
	#history.l3_company a.txt_link {
		font-size: 15px;
	}
	#link.l3_company section ul li {
		margin-bottom: 20px;
	}
	#link.l3_company section ul li a {
		padding-left: 30px;
		padding-bottom: 20px;
		font-size: 15px;
	}
	#link.l3_company section ul li a::before {
		left: 10px;
		top: 7.5px;
	}
	#topics.l2 .sec01 {
		padding: 50px 0;
	}
	#topics.l2 .sec01 .bg_white {
		border-radius: 0 50px 0 0;
		padding: 50px 0 30px;
	}
	#topics.l2 ul.article li a {
		padding: 25px 15px;
	}
	#topics.l2 ul.article li a div {
		margin-bottom: 10px;
	}
	#topics.l2 ul.article time,
	#topics.l2 ul.article p {
		font-size: 15px;
	}
	#topics.l2 ul.article li a span {
		font-size: 14px;
		top: 4px;
	}
	#topics.l2 ul.article,
	#topics.l2 ul.pager {
		margin-bottom: 50px;
	}
	#topics.l2 ul.archive-year li a {
		font-size: 16px;
		padding-left: 14px;
		padding-bottom: 10px;
	}
	#topics.l2 ul.archive-year li a::before {
		width: 4px;
		height: 4px;
	}
	#topics_detail.l3 .sec01 .wp-block-table table th,
	#topics_detail.l3 .sec01 .wp-block-table table td {
		padding: 15px;
	}
	#topics_detail.l3 .txt_wrap {
		padding-top: 50px;
	}
	#topics_detail.l3 h1 {
		padding-bottom: 14px;
		margin-top: 3px;
	}
	#topics_detail.l3 .sec01 {
		padding-top: 30px;
		padding-bottom: 50px;
	}
	#topics_detail.l3 .sec01 h4 {
		font-size: 17px;
	}
	#topics_detail.l3 .sec01 ul li,
	#topics_detail.l3 .sec01 ol li {
		font-size: 16px;
	}
	#topics_detail.l3 .sec01 a {
		font-size: 15px;
	}
	#topics_detail.l3 .sec01 .wp-block-table {
		margin: 10px 0 0;
	}
	#topics_detail.l3 .sec01 ul.type02 li {
		font-size: 15px;
		padding-left: 15px;
		text-indent: -15px;
	}
	#topics_detail.l3 footer {
		margin-top: 50px;
	}
	.archive h2 {
		padding-bottom: 20px;
	}
	#company.l2 .txt_wrap,
	#skill.l2 .txt_wrap,
	#aboutus.l2 .txt_wrap,
	#sustainability.l2 .txt_wrap {
		margin-right: 0;
	}
	#aboutus.l2 section.main {
		background-position: 70% bottom;
	}
	#record .sec01,
	#strength .sec01 {
		padding: 40px 20px 40px;
	}
	#record section dl dt::after {
		top: 6px;
	}
	#record section dl dt p span {
		font-size: 32px;
		letter-spacing: -0.05em;
		margin-top: 5px;
	}
	#record .sec01 .bg_white {
		border-radius: 20px;
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#strength .sec01 .bg_white {
		border-radius: 20px;
		padding-top: 28px;
		padding-bottom: 50px;
	}
	#record section dl dt {
		min-width: 85px;
	}
	#record section dl dd {
		padding: 15px 0 25px 20px;
		top: 11px;
		width: 100%;
	}
	#record section dl dt p {
		font-size: 15px;
	}
	#record section dl dd ul li {
		font-size: 14px;
		line-height: 1.75;
		padding-left: 12px;
	}
	.l3_aboutus ul.list_scroll li a {
		font-size: 15px;
		padding: 0 15px 15px
	}
	#record section dl dd ul li::before {
		top: 9px;
	}
	#record section h2 span {
		font-size: 40px;
		letter-spacing: -0.03em;
		margin-right: 4px;
	}
	#record section dl dd ul li::before {
		width: 6px;
		height: 6px;
	}
	#record section dl dd .img {
		margin-top: 20px;
	}
	#record section h2 {
		font-size: 20px;
	}
	#record section h2 span.ml7 {
		margin-left: 3px;
	}
	#record section dl dd ul li a {
		font-size: 14px;
	}
	.l3_aboutus ul.list_scroll li a::after {
		bottom: 0;
	}
	#career section a {
		font-size: 15px;
	}
	.l3_workdetail dl {
		margin-bottom: 10px;
	}
	.l3_workdetail .btn01 {
		margin: 50px auto;
	}
	.l3_ship .sec01 .btn01 {
		margin: 50px auto 0;
	}
	.l3_ship .sec01 {
		padding-bottom: 50px;
	}
	.l3_ship .contents_flex .right dt {
		padding-right: 12px;
	}
	.l3_ship .contents_flex .right dd {
		padding-left: 12px;
	}
	.l3_ship .sec01 h2 {
		padding-left: 20px;
	}
	.l3_ship .sec01 h2::before {
		width: 10px;
		height: 10px;
		top: 16px;
	}
	.l3_ship .wrap_title .name {
		flex-direction: column;
		align-items: flex-start;
	}
	.l2_etc h1 {
		margin-top: 50px;
	}
	.l2_etc .sec01 {
		padding-bottom: 50px;
	}
	#sitemap .sec01 h2 a {
		font-size: 16px;
		padding-left: 16px;
	}
	#sitemap .sec01 h2 a::before {
		left: 0;
		top: 8px;
	}
	#sitemap .sec01 li a {
		font-size: 14px;
		padding-left: 16px;
	}
	#sitemap .sec01 li a::before {
		left: 0;
		top: 6px;
	}
	#sitemap .wrap_flex .colmun:nth-of-type(2) {
		padding-right: 0;
	}
	#sitemap .wrap_flex .colmun:nth-of-type(3) {
		padding-right: 20px;
	}
	#sitemap .sec01 a span.icon_pdf {
		top: 4px;
	}
	.l2_etc section.item h3 {
		font-size: 18px;
	}
	.l2_etc section.item ul li {
		font-size: 15px;
		text-indent: -15px;
		padding-left: 15px;
	}
	#sustainability .fukidashi {
		height: 150px;
		border-radius: 14px;
	}
	#sustainability .fukidashi h2 {
		font-size: 3.1rem;
		font-feature-settings: "palt";
		padding: 20px;
	}
	#sustainability .fukidashi h2 .brackets_before {
		margin-right: 10px;
		margin-bottom: 77px;
	}
	#sustainability .fukidashi h2 .brackets_after {
		margin-left: 10px;
		margin-top: 77px;
	}
	#sustainability.l2 .txt_wrap .en_txt {
		font-size: clamp(4.8rem, 13.333vw, 8rem);
	}
	#sustainability .sec02 ul.wrap_flex li .wrap_title {
		padding: 15px;
	}
	#sustainability .sec02 ul.wrap_flex li small {
		margin-top: 2px;
	}
	#sustainability .sec02 ul.wrap_flex li p {
		margin-top: 4px;
	}
	#sustainability .mask::after {
		width: 36px;
		height: 33px;
		bottom: -21px;
	}
	#sustainability .sec02 ul.wrap_flex li:nth-child(2) p:last-of-type,
	#sustainability .sec02 ul.wrap_flex li:nth-child(3) p:last-of-type {
		margin-bottom: 25px;
	}
	#strength .sec01 .wrap_title .txt_en {
		padding-right: 20px;
		font-size: 5.2rem;
	}
	#strength .sec01 .wrap_title h2 {
		padding-left: 20px;
		font-feature-settings: "palt";
		font-size: 2.6rem;
	}
	#strength .sec01 .wrap_title .txt_en span {
		font-size: 8px;
	}
	#strength .sec01 .wrap_title .txt_en.adjust span {
		padding-left: 4px;
	}
	#strength .sec01 .wrap_flex .left {
		margin-bottom: 20px;
	}
	#strength .sec01 .wrap_flex .left img {
		border-radius: 12px;
	}
	#clearmysunny.l3_skill .bgbox01 {
		padding: 20px;
		border-radius: 10px;
	}
	#clearmysunny.l3_skill .bgbox02 {
		padding: 20px;
		border-radius: 10px;
	}
	#clearmysunny.l3_skill .bgbox02 ul li {
		font-size: 2.5rem;
		padding-left: 20px;
	}
	#clearmysunny.l3_skill .bgbox02 ul li::before {
		width: 8px;
		height: 8px;
		top: 10px;
	}
	#clearmysunny.l3_skill .bgbox03,
	#clearmysunny.l3_skill .bgbox03 div {
		padding: 20px;
		border-radius: 10px;
	}
	#clearmysunny.l3_skill .bgbox04 {
		border-radius: 10px;
	}
	#clearmysunny.l3_skill .bgbox04 .header {
		padding: 20px;
	}
	#clearmysunny.l3_skill .bgbox04 .contents {
		padding: 0 20px 20px;
	}
	#clearmysunny.l3_skill .bgbox04 ul.wrap_flex {
		flex-direction: column;
	}
	#clearmysunny.l3_skill .bgbox04 ul.wrap_flex li:first-child {
		margin-right: auto;
		margin-bottom: 20px;
	}
	#clearmysunny.l3_skill .bgbox04 ul.wrap_flex li {
		width: 100%;
		max-width: 300px;
		margin-left: auto;
		margin-right: auto;
	}
	#clearmysunny.l3_skill .contactbox {
		border-radius: 10px;
		padding: 20px;
	}
	#clearmysunny.l3_skill .contactbox .left {
		padding-top: 0;
		margin-right: 0;
	}
	#clearmysunny.l3_skill .sec04 .wrap_flex {
		flex-direction: column;
	}
	#clearmysunny.l3_skill .sec04 .wrap_flex p {
		margin-right: 0;
		margin-bottom: 20px;
	}
	.l3_workdetail h1 {
		font-size: 3.8rem;
	}
	.l3_workdetail h1 small {
		margin-top: 6px;
	}
	#field_trip header {
		padding-top: 10px;
	}
	#field_trip .fukidashi {
		font-size: 14px;
	}
	#field_trip .fukidashi::after {
		border-width: 6px 4.5px 0 4.5px;
		bottom: -6px;
	}
	#field_trip h1 {
		margin-top: 10px;
	}
	#field_trip section.main,
	#field_trip .sec01 {
		padding-left: 13px;
		padding-right: 13px;
	}
	#field_trip section.main {
		margin-bottom: 3px;
	}
	#field_trip .fukidashi {
		max-width: 295px;
		margin-left: auto;
		margin-right: auto;
	}
	#field_trip .box_white ul li a {
		height: 48px;
		margin-left: 0;
	}
	#field_trip .box_white {
		padding: 24px 20px 33px;
	}
	#field_trip h2.type02 {
		font-size: 16px;
	}
	#field_trip .box_white {
		border-radius: 20px;
	}
	#field_trip .box_white ul {
		margin-top: 30px;
	}
	#field_trip p,
	#field_trip a {
		font-size: 14px;
	}
	#field_trip .sec02 {
		background-size: 139%;
		margin-top: -52px;
		padding-top: 80px;
		padding-left: 13px;
		padding-bottom: 50px;
	}
	#field_trip .sec02 .box_white02 {
		border-radius: 20px 0 0;
		padding-left: 20px;
		padding-right: 20px;
	}
	#field_trip .sec02 .wrap01 {
		padding-bottom: 30px;
	}
	#field_trip h2.type01 {
		font-size: 22px;
		padding-bottom: 10px;
	}
	#field_trip h2.type01::before {
		width: 13px;
		height: 13px;
		top: 10px;
	}
	#field_trip .sec02 h3.type01 {
		font-size: 16px;
	}
	#field_trip .sec02 .wrap_flex {
		margin-top: 20px;
	}
	#field_trip .sec03 {
		padding-right: 13px;
		padding-bottom: 50px;
	}
	#field_trip .sec03 .box_white03 {
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 30px;
		border-radius: 0 20px 0 0;
	}
	#field_trip .sec03 .wrap_flex03 {
		flex-direction: column;
	}
	#field_trip .sec03 .wrap_flex03 .left {
		margin-right: 0;
		margin-bottom: 20px;
	}
	#field_trip .sec03 .wrap_flex03 .right {
		max-width: 180px;
		margin-bottom: 30px;
		margin-left: auto;
		margin-right: auto;
	}
	#field_trip h3.type02 {
		padding-bottom: 8px;
	}
	#field_trip h4 {
		font-size: 16px;
		padding-left: 15px;
	}
	#field_trip .sec03 p.txt_access {
		font-size: 15px;
	}
	#field_trip .sec03 .wrap_flex .left {
		margin-right: 10px;
	}
	#field_trip .map02 {
		padding: 36%;
	}
	#field_trip .mt110 {
		border-radius: 20px;
	}
	#field_trip address {
		padding: 20px;
	}
	#field_trip address .wrap_flex02 {
		margin-top: 10px;
	}
	#field_trip address dl dt {
		font-size: 12px;
		width: 180px;
	}
	#field_trip address dl dd, #field_trip address dl dd a {
		font-size: 2.6rem;
	}
	#field_trip address .wrap_flex02 .left {
		margin-bottom: 10px;
	}
	#field_trip footer {
		padding: 5px;
	}
	#clearmysunny .list_features ul li {
		padding: 0 10px 0 15px;
		min-height: auto;
		border-width: 3px;
		margin-bottom: 17px;
	}
	#clearmysunny .list_features ul li p {
		font-size: 20px;
		margin-right: 10px;
	}
	#clearmysunny .list_features ul li div {
		border-width: 5px;
		top: -10px;
	}
	#clearmysunny .list_features ul li div::after {
		bottom: -15px;
	}
	#clearmysunny.l3_skill .bgbox04 .header dl dt,
	#clearmysunny.l3_skill .bgbox04 .header dl dd {
		font-size: 14px;
	}
	#system.l3_skill .contactbox {
		border-radius: 10px;
		padding: 20px 20px 15px;
	}


	



	.form.input p.txt_explanation span,
	.form.confirm p.txt_explanation {
		font-size: 16px;
	}
	.form.input p.txt_explanation {
		font-size: 15px;
	}
	.inquiry .box_scroll {
		margin-top: 20px;
		padding: 20px;
	}
	.inquiry .box_scroll h2 {
		font-size: 16px;
		margin-bottom: 18px;
	}
	.inquiry .box_scroll dl dt,
	.inquiry .box_scroll dl dd {
		font-size: 14px;
	}
	.inquiry .box_scroll dl {
		margin-bottom: 15px;
	}
	.form input[type="submit"],
	.form .btn-formback input[type="button"] {
		width: 100%;
	}
	.form .button-form,
	.form .btn-formback {
		width: 100%;
		max-width: 320px;
	}
	.form h2.table-title {
		margin-bottom: 15px;
	}
	.inquiry .thanks p.txt-form {
		font-size: 15px;
	}
	.inquiry .form ul.flow-wrap li div {
		width: 64px;
		height: 64px;
	}
	.inquiry .form ul.flow-wrap li div::after {
		width: 84px;
		height: 84px;
		left: -10px;
	}
	.inquiry .form ul.flow-wrap::after {
		top: -75px;
	}
	.inquiry .form ul.flow-wrap li div span {
		font-size: 15px;
	}
	.inquiry .form ul.flow-wrap li p {
		font-size: 13px;
		margin-top: 10px;
	}
	.inquiry .form ul.flow-wrap li div {
		font-size: 24px;
	}
	.inquiry .form ul.flow-wrap::after {
		top: -30px;
	}
	.inquiry form table td p {
		font-size: 14px;
	}
	.form table tr th {
		padding: 6px 10px 10px;
	}
	::placeholder {
		padding-left: 0 !important;
		font-size: 15px !important;
	}
	.form table tr td,
	.form table tr td.policy-wrap {
		padding: 20px 10px;
	}
	.form table tr th span.required,
	.form table tr th span.gray {
		width: 44px;
		min-width: 44px;
		margin-right: 10px;
		font-size: 14px;
	}
	.form .sec01 {
		padding-bottom: 50px;
	}
	.inquiry .form ul.flow-wrap {
		margin: 40px 0;
	}
	.form .confirm p.txt-form {
		margin: 50px 0 30px;
	}
	.form .button-form {
		margin-top: 40px;
	}
	.form ul.btn-area {
		margin-top: 50px;
	}
	.form ul.btn-area li {
		margin: 0 0 20px;
	}
	.form .btn-areaone a {
		width: 100%;
		max-width: 400px;
	}
	.form .btn-areaone {
		margin-top: 50px;
	}
	.inquiry .form ul.flow-wrap::after {
		background-image: url(../images/contact/border.png);
		background-repeat: repeat-x;
	}
	.inquiry h1 {
		font-size: 3.2rem;
		padding-bottom: 20px;
		margin-top: 50px;
	}
	.inquiry .box_policy {
		margin-top: 50px;
	}
	.inquiry .box_policy {
		padding: 20px;
	}
	.inquiry .box_policy h2 {
		margin-top: 20px;
	}
	.inquiry .box_policy ul li {
		font-size: 15px;
		padding-left: 38px;
		text-indent: -38px;
	}
	.inquiry .box_policy ul {
		margin: 15px 0;
	}
	input,
	.form label {
		font-size: 15px;
	}
	.form input[type="text"],
	.form input[type="tel"],
	.form input[type="email"] {
		padding: 5px 10px;
	}
	.form table tr td {
		font-size: 15px;
	}






	#topback {
		transition: .5s ease-in-out;
	}
	#topback.add {
		bottom: 96px;
	}
	.mt5 {
	margin-top: 2.5px !important;
	}
	.mt10 {
		margin-top: 5px !important;
	}
	.mt15 {
		margin-top: 7.5px !important;
	}
	.mt20 {
		margin-top: 10px !important;
	}
	.mt25 {
		margin-top: 12.5px !important;
	}
	.mt30 {
		margin-top: 15px !important;
	}
	.mt35 {
		margin-top: 15px !important;
	}
	.mt40 {
		margin-top: 20px !important;
	}
	.mt45 {
		margin-top: 20px !important;
	}
	.mt50 {
		margin-top: 25px !important;
	}
	.mt60 {
		margin-top: 30px !important;
	}
	.mt70 {
		margin-top: 35px !important;
	}
	.mt80 {
		margin-top: 40px !important;
	}
	.mt90 {
		margin-top: 45px !important;
	}
	.mt95 {
		margin-top: 45px !important;
	}
	.mt100 {
		margin-top: 50px !important;
	}
	.mt110 {
		margin-top: 50px !important;
	}
	.mt120 {
		margin-top: 50px !important;
	}
	.mt130 {
		margin-top: 50px !important;
	}
	.mt140 {
		margin-top: 70px !important;
	}
	.mt150 {
		margin-top: 70px !important;
	}
	.mt200 {
		margin-top: 100px !important;
	}
	.mt180 {
		margin-top: 90px !important;
	}
	.mb10 {
		margin-bottom: 5px !important;
	}
	.mb20 {
		margin-bottom: 10px !important;
	}
	.mb30 {
		margin-bottom: 15px !important;
	}
	.mb40 {
		margin-bottom: 20px !important;
	}
	.mb50 {
		margin-bottom: 25px !important;
	}
	.mb60 {
		margin-bottom: 30px !important;
	}
	.mb70 {
		margin-bottom: 35px !important;
	}
	.mb80 {
		margin-bottom: 40px !important;
	}
	.mb90 {
		margin-bottom: 45px !important;
	}
	.mb100 {
		margin-bottom: 50px !important;
	}
	.mb120 {
		margin-bottom: 60px !important;
	}
	.mb150 {
		margin-bottom: 70px !important;
	}
	.ml100 {
		margin-left: 50px !important;
	}
	.pb30 {
		padding-bottom: 15px !important;
	}
	.pb200 {
		padding-bottom: 100px !important;
	}
	.pb220 {
		padding-bottom: 110px !important;
	}
	.md-mb20 {
		margin-bottom: 20px !important;
	}
	.md-mb30 {
		margin-bottom: 30px !important;
	}
	.md-mb40 {
		margin-bottom: 40px !important;
	}
	.md-pb30 {
		padding-bottom: 30px !important;
	}
	.md-pb50 {
		padding-bottom: 50px !important;
	}
	.md-pb70 {
		padding-bottom: 70px !important;
	}
	.ml40 {
		margin-left: 20px !important;
	}
	#field_trip .mt40 {
		margin-top: 10px !important;
	}
	#field_trip .mt60 {
		margin-top: 15px !important;
	}
	#field_trip .mt100 {
		margin-top: 30px !important;
	}
	#field_trip .mt110 {
		margin-top: 30px !important;
	}
	#system.l3_skill .mt150 {
		margin-top: 50px !important;
	}






	







	

	.sp-mt20 {
		margin-top: 20px !important;
	}
	.sp-mt30 {
		margin-top: 30px !important;
	}
	.sp-mt40 {
		margin-top: 40px !important;
	}
	.sp-mt90 {
		margin-top: 90px !important;
	}
	.sp-mb30 {
		margin-bottom: 30px !important;
	}
	.sp-mb70 {
		margin-bottom: 70px !important;
	}
	main nav.pankuzu ol li span {
		line-height: 1.5;
		display: inline-block;
	}
	ul.scrollbtn-list_seasonings li a {
		font-size: 13px;
	}
}
/*
@media screen and (max-width: 480px) and (max-height: 667px) {
	#home .sec01 {
		height: calc(100vh - 65.34px);
		height: calc(100dvh - 65.34px);
	}
}
*/
@media screen and (max-width: 413px) {
}
@media screen and (min-width: 376px) {
	.minw376none {
		display: none;
	}
}
@media screen and (max-width: 375px) {
	.maxw375none {
		display: none;
	}
	.inquiry .form ul.flow-wrap li {
		margin: 0 5px;
	}
	.inquiry .form ul.flow-wrap li:first-child {
		margin-left: 0;
	}
	.inquiry .form ul.flow-wrap li:last-child {
		margin-right: 0;
	}
	.inquiry .form ul.flow-wrap li p {
		font-size: 13px;
	}
}
@media screen and (max-width: 374px) {
	.maxw374none {
		display: none;
	}
	#home .sec01 .txt_wrap h2 {
		font-size: clamp(27px, 8.55vw, 32px);
	}
	#home .sec01 .txt_wrap p {
		font-size: clamp(13px, 4vw, 15px);
	}
	.l3_aboutus ul.list_scroll li a {
		font-size: clamp(12px, 3.5vw, 14px);
		padding: 0 10px 10px;
	}
	#record section h2 span {
		font-size: clamp(26px, 9.69vw, 40px);
	}
	#record section h2 {
		font-size: clamp(15px, 5.34vw, 20px);
	}
	#sustainability.l2 h1 {
		font-size: clamp(2rem, 5.882vw, 2.8rem);
	}
}
@media screen and (min-width: 350px) {
	.minw350none {
		display: none;
	}
}
@media screen and (max-width: 349px) {
	#works.l2 ul.tab-menu li {
		font-size: 13px;
	}
	#works.l2 .tab-wrap {
		top: -45px;
	}
}