@charset "utf-8";

html {
	overflow-y: scroll;
}

body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	color: #324E72;
	background-color: #FFF;
	margin: 0px;
	padding: 0px;
	line-height: 1em;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
}


h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.8em;
	margin: 0px;
	padding: 0px;
	font-weight: bold;
}

p {
	line-height: 1.5em;
	margin: 1em 0px;
	padding: 0px;
	font-weight: normal;
	color: #324E72;
}

a {
	color: #539DFF;
	text-decoration: none;
	word-break: break-all;
}

div {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

pre {
	padding: 1em;
	background-color: rgba(0, 0, 0, 0.05);
	border: 1px solid #CCC;
}

li {
	line-height: 1.8em;
}

section {
	clear: both;
	padding-top: 32px;
	padding-right: 0;
	padding-bottom: 32px;
	padding-left: 0;
	position: relative;
	box-sizing: border-box;
	scroll-margin-top: 120px;
}

section h2 {
	clear: both;
	text-align: center;
	margin-bottom: 20px;
	padding: 10px;
	font-size: 38px;
	line-height: 1.1em;
}


/*WordPress画像クラス*/

.alignleft {
	clear: both;
	float: left;
	margin-right: 32px;
	/* margin-bottom: 8px; */
}

.aligncenter {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	display: block;
}

.alignright {
	clear: both;
	float: right;
	margin-left: 16px;
	/* margin-bottom: 8px; */
}

.alignnone {
	clear: both;
}


/* Flexbox */
.flex-around {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}


/* テンプレートCSSクラス */

.in100per {
	margin: 0px;
	padding: 0px;
	width: 100%;
}

.in400 {
	max-width: 400px;
	margin-right: auto;
	margin-left: auto;
}

.in600 {
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
}

.in960 {
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
}

.in1200 {
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
	padding: 0px 26px;
}


.col16 {
	width: 15%;
}

.col20 {
	width: 18%;
}

.col25 {
	width: 23.5%;
}

.col30 {
	width: 30%;
}

.col33 {
	width: 31.3333%;
}

.col40 {
	width: 38%;
}

.col50 {
	width: 48%;
}

.col60 {
	width: 58%;
}

.col70 {
	width: 68%;
}

.col80 {
	width: 78%;
}

.col100 {
	width: 100%;
}

/**
 * ワイド幅、全幅のスタイル定義
 */

.alignwide {
	width: calc(100% + 200px);
	margin: 0 0 1rem -100px;
}

.alignfull {
	width: calc(100% + 100vw);
	margin: 0 0 1rem -50vw;
}

.alignfull img {
	display: block;
	margin: 0 auto;
	max-width: 100vw;
	height: auto;
}

#main.in100per {
	padding: 0;
}


/*リード・セクションのバックカラー設定*/

.white {
	background-color: #FFF;
}

.limegreen {
	background-color: #97CF56;
}

.goldenyellow {
	background-color: #F2D14C;
}

.lightgray {
	background-color: #E6E6E6;
}

/* 色指定 */
.fontcolor-red {
	color: #FF3333;
}


/* 改行 */

.br-sm,
.br-tb {
	display: none;
}

.br-pc {
	display: block;
}

.br-inline {
	display: inline-block;
}


/* body */

#template {
	text-align: right;
	position: fixed;
	top: 0px;
	right: 0px;
	display: none;
}


/* ヘッダー */
#header {
	margin-bottom: 14px;
	position: relative;
	z-index: 100;
	height: 120px;
	width: 100%;
	display: flow-root;
}

#header>.in100per {
	display: flex;
	align-items: center;
	padding: 15px 40px;
	gap: 40px;
	height: 120px;
	width: 100%;
	background: #539DFF;
	position: fixed;
	top: 0;
	left: 0;
}


#header .logo {
	float: left;
	text-align: center;
}

#header .logo:hover {
	opacity: .8;
}

#header h1 {
	line-height: 1em;
	font-size: 12px;
	font-weight: normal;
}

#header .logo a {
	color: #4d4d4d;
}

#header .logo .img {
	font-size: 32px;
	font-weight: bold;
	padding-top: 1px;
	padding-bottom: 2px;
	max-width: 356.76px;
	max-height: 93.72px;
}

#header .contact {
	font-size: 14px;
	position: relative;
	line-height: 1.5em;
	color: #ffffff;
	padding-top: 10px;
	font-weight: bold;
}

#header .contact .header {
	display: inline-block;
}

#header .contact .tel {
	font-size: 28px;
	padding-top: 6px;
	display: inline-block;
}

#header .contact .tel a {
	color: #ffffff;
	pointer-events: none;
}


/* グローバルナビゲーション */

#g-navi {
	clear: both;
	position: absolute;
	top: 38px;
	right: 20px;
	z-index: 100;
}

#g-navi ul {
	display: flex;
	align-items: center;
	justify-content: space-around;
	gap: 40px;
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}

#g-navi ul li {
	overflow: hidden;
	flex-grow: 1;
	padding: 0;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}

#g-navi ul li.toppage {
	display: none;
}

#g-navi ul li:first-child {
	margin-left: 0;
}

#g-navi ul li.last {
	width: 15%;
	background: none;
}

#g-navi ul li:last-of-type a {
	background: #FE4545;
	border-radius: 23px;
	padding: 2px 30px;
}

#g-navi ul li:nth-last-of-type(2) a {
	font-size: 16px;
}



#g-navi ul li:last-of-type a:hover {
	opacity: .8;
}

#g-navi ul li a {
	position: relative;
	display: block;
	height: 100%;
	font-size: 22px;
	font-weight: bold;
	color: #fff;
	background: none;
	line-height: 2em;
}

#g-navi .g-navi-footer,
#g-navi .g-navi-head {
	display: none;
}

#s-menu {
	display: none;
}



/* リード文 */
#lead {
	padding: 26px 0 6px;
}

#lead h1 {
	text-align: center;
	font-weight: normal;
	font-size: 32px;
	line-height: 1em;
}

#lead h1 img {
	margin-bottom: 0px;
}

#lead h2 {
	text-align: center;
	font-weight: normal;
	font-size: 32px;
	line-height: 1.4em;
	margin-bottom: 22px;
}

#lead h1 em,
#lead h2 em {
	font-size: 50%;
	font-style: normal;
	line-height: 1ex;
}

/* リード文(トップ、会社案内) */
#top #lead {
	height: 1000px;
	width: 100%;
	background-image: url("../img/haikei.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	padding: 0 9.5vw 50px 0;
	display: flex;
	justify-content: flex-end;
	align-items: end;
}

#top #lead .in100per,
#top #lead .in1200 {
	margin: initial;
}


#products #lead .flex-around,
#top #lead .flex-around {
	gap: 40px;
	justify-content: space-between;
}

#products #lead .flex-item .col50,
#top #lead .flex-around .col50 {
	margin: 0 auto;
	position: relative;
}

#top #lead .flex-around .col50 {
	max-width: 455px;
}

#products #lead .flex-item .col50 {
	max-width: 555px;
}


#top #lead .flex-item {
	max-width: 985px;
}

#products #lead .flex-item {
	max-width: 1166px;
	margin: 60px auto 0;
}


#products #lead .flex-item .item-box,
#top #lead .flex-item .item-box {
	background: #fff;
	border-radius: 25px;
	box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.25);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
}

#top #lead .flex-item .item-box {
	padding: 30px 30px 50px;
	align-items: center;
}

#products #lead .flex-item .item-box {
	padding: 30px;
	align-items: flex-start;
}

#products #lead .flex-item .item-box .contents {
	padding: 0;
}

#products #lead .flex-item .item-box .contents p {
	font-size: 20px;
	line-height: 1.4em;
	text-align: center;
}

#products #lead .flex-item .item-box .text,
#top #lead .flex-item .item-box .text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 auto;
}

#products #lead .flex-item .item-box .text,
#top #lead .flex-item .item-box .text {
	max-width: 230px;
}

#products #lead .flex-item .item-box .text {
	margin-top: 20px;
}


#products #lead .flex-item .item-box h4,
#top #lead .flex-item .item-box .text h4 {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	width: 100%;
	position: relative;
	padding: 10px 0;
	max-width: 160px;
}

#products #lead .flex-around .color-cobaltblue .text h4,
#top #lead .flex-around .color-cobaltblue .text h4 {
	color: #1156B2;
}

#products #lead .flex-around .color-forestgreen .text h4,
#top #lead .flex-around .color-forestgreen .text h4 {
	color: #388E38;
}

#products #lead .flex-around .color-crimsonred .text h4,
#top #lead .flex-around .color-crimsonred .text h4 {
	color: #D6314D;
}

#products #lead .flex-around .color-deepblue .text h4,
#top #lead .flex-around .color-deepblue .text h4 {
	color: #2626B2;
}


#products #lead .flex-item .item-box h4::before,
#products #lead .flex-item .item-box h4::after,
#top #lead .flex-item .item-box .text h4::before,
#top #lead .flex-item .item-box .text h4::after {
	content: "";
	display: block;
	height: 3px;
	background-image: linear-gradient(to right,
			#539DFF,
			#539DFF 2px,
			transparent 2px,
			transparent 8px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
}

#products #lead .flex-item .item-box .text h4::before,
#top #lead .flex-item .item-box .text h4::before {
	margin-bottom: 10px;
}

#products #lead .flex-item .item-box .text h4::after,
#top #lead .flex-item .item-box .text h4::after {
	margin-top: 10px;
}

#products #lead .flex-item .item-box .text p,
#top #lead .flex-item .item-box .text p {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.5em;
	margin: initial;
	text-align: center;
}

#products #lead .flex-around .color-cobaltblue .text p,
#top #lead .flex-around .color-cobaltblue .text p {
	color: #1156B2;
}


#products #lead .flex-around .color-forestgreen .text p,
#top #lead .flex-around .color-forestgreen .text p {
	color: #388E38;
}

#products #lead .flex-around .color-crimsonred .text p,
#top #lead .flex-around .color-crimsonred .text p {
	color: #D6314D;
}

#products #lead .flex-around .color-deepblue .text p,
#top #lead .flex-around .color-deepblue .text p {
	color: #2626B2;
}




#products #lead .flex-item .item-box img,
#top #lead .flex-item .item-box img {
	object-fit: cover;
	border-radius: 50%;
}

/*
#products #lead .flex-item .color-cobaltblue .item-box img,
#top #lead .flex-around .color-cobaltblue .item-box img {
	border: solid 2px #1156B2;
}


#products #lead .flex-item .color-forestgreen .item-box img,
#top #lead .flex-around .color-forestgreen .item-box img {
	border: solid 2px #388E38;
}

#products #lead .flex-item .color-crimsonred .item-box img,
#top #lead .flex-around .color-crimsonred .item-box img {
	border: solid 2px #D6314D;
}

#products #lead .flex-item .color-deepblue .item-box img,
#top #lead .flex-around .color-deepblue .item-box img {
	border: solid 2px #2626B2;
}
*/
#products #lead .flex-item .item-box img {
	height: 184.36px;
	width: 184.36px;
}

#top #lead .flex-item .item-box img {
	height: 164px;
	width: 164px;
}

#products #lead a.item-link:hover,
#top #lead a.item-link:hover {
	opacity: .95;
}


#top #lead .item-bt {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
}

#top #lead .item-bt {
	bottom: -45px;
}

#products #lead .item-bt span,
#top #lead .item-bt span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 220px;
	height: 40px;
	font-size: 20px;
	background: #1156B2;
	color: #fff;
	text-decoration: none;
	border-radius: 9999px;
	border: solid 3px currentColor;
	padding-top: 3px;
}

#products #lead .flex-around .color-cobaltblue .item-bt span,
#top #lead .flex-around .color-cobaltblue .item-bt span {
	background: #1156B2;
}



#products #lead .flex-around .color-forestgreen .item-bt span,
#top #lead .flex-around .color-forestgreen .item-bt span {
	background: #388E38;
}


#products #lead .flex-around .color-crimsonred .item-bt span,
#top #lead .flex-around .color-crimsonred .item-bt span {
	background: #D6314D;
}


#products #lead .flex-around .color-deepblue .item-bt span,
#top #lead .flex-around .color-deepblue .item-bt span {
	background: #2626B2;
}

#products #lead .flex-around .color-deepblue .item-bt span:hover,
#products #lead .flex-around .color-crimsonred .item-bt span:hover,
#products #lead .flex-around .color-forestgreen .item-bt span:hover,
#products #lead .flex-around .color-cobaltblue .item-bt span:hover,
#top #lead .flex-around .color-deepblue .item-bt span:hover,
#top #lead .flex-around .color-crimsonred .item-bt span:hover,
#top #lead .flex-around .color-forestgreen .item-bt span:hover,
#top #lead .flex-around .color-cobaltblue .item-bt span:hover {
	background: #999999;
}


/* リード文(固定ページ) */
#page #lead h1 {
	color: #3A4A9D;
	font-weight: bold;
	font-size: 60px;
}

#page #lead .title {
	display: block;
	font-weight: normal;
	font-size: .4em;
	line-height: 1.5em;
}


/* トップページ */
/* SDGs */
#sdgs {
	padding-top: 45px;
}

#sdgs h2 {
	margin-bottom: 25px;
}

#sdgs .base-sdgs {
	position: relative;
	max-width: 1474px;
	margin: 0 auto;
}

#sdgs .base-sdgs::before {
	content: "";
	position: absolute;
	bottom: -90px;
	left: 175px;
	width: 80.06px;
	height: 100.62px;
	background-image: url("../img/pillar001.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#sdgs .base-sdgs::after {
	content: "";
	position: absolute;
	bottom: -90px;
	right: 125px;
	width: 80.06px;
	height: 100.62px;
	background-image: url("../img/pillar002.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#sdgs .flex-sdgs {
	background: linear-gradient(to top left,
			#d8ebf3 0%,
			#ffffff 30%,
			#ffffff 100%);
	padding: 10px;
	border-radius: 25px;
	box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.25);
	max-width: 1474px;
	margin: 0 auto 75px;
	position: relative;
	z-index: 1;
}

#sdgs .flex-sdgs::before {
	content: "";
	position: absolute;
	top: -40px;
	left: 370px;
	width: 54.16px;
	height: 55.08px;
	background-image: url("../img/bluebird.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#sdgs .flex-sdgs::after {
	content: "";
	position: absolute;
	bottom: -120px;
	right: 200px;
	width: 53.85px;
	height: 88.1px;
	background-image: url("../img/pillar-cat.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}


#sdgs .flex-sdgs .flex-around {
	background: linear-gradient(to bottom right,
			#d8ebf3 0%,
			#ffffff 30%,
			#ffffff 100%);
	border-radius: 25px;
	padding: 60px 50px;
}


#sdgs .flex-sdgs .flex-around .col50:nth-child(2n+1) {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#sdgs .flex-sdgs .flex-around .col50:nth-child(2n+1) p {
	font-size: 20px;
}

#sdgs .flex-sdgs .flex-around .col50:nth-child(2n+2) {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}





/* ニュース */
#info {
	padding-top: 110px;
}

#info h2 {
	margin-bottom: 35px;
}


#info::before {
	content: "";
	position: absolute;
	top: -170px;
	left: 230px;
	width: 81.04px;
	height: 199.2px;
	background-image: url("../img/hito-banner003.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}


#info::after {
	content: "";
	position: absolute;
	top: -180px;
	right: 75px;
	width: 220.5px;
	height: 217.17px;
	background-image: url("../img/hito-banner004.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}


#info .in100per {
	position: relative;
	background: #F2D14C;
	padding-top: 40px;
	padding-bottom: 80px;
}

#info .in100per::before {
	content: "";
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-250px);
	width: 62.94px;
	height: 199.57px;
	background-image: url("../img/hito-banner005.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#info .in100per::after {
	content: "";
	position: absolute;
	top: 65px;
	left: 50%;
	transform: translateX(180px);
	width: 65.01px;
	height: 195.5px;
	background-image: url("../img/hito-banner006.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}



#info .flex-info {
	background: #A7854B;
	padding: 5px;
	border-radius: 25px;
	box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15);
	max-width: 1474px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

#info .flex-info .flex-around {
	background: #3C602F;
	border-radius: 25px;
	padding: 30px;
	justify-content: center;
	gap: 40px;
}

.news_list .col33 {
	position: relative;
}

.news_list .col33::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -20px;
	width: 1px;
	background-image: linear-gradient(to bottom,
			#fff 2px,
			#fff 2px,
			transparent 2px,
			transparent 5px);
	background-size: 2px 5px;
}


.news_list .col33:last-child::after {
	display: none;
}


.news_list a {
	display: block;
	padding: 0;
	color: #333;
	overflow: hidden;
	height: 100%;
}

#top .news_list a {
	display: initial;
	color: #fff;
	text-decoration: underline;
}


.news_list a:hover {
	opacity: .8;
}

.news_list .img {
	height: 0px;
	width: 100%;
	padding-top: 60%;
	padding-bottom: 0%;
	background-image: url("../img/logo_eyecatch.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	padding-right: 0px;
	padding-left: 0px;
	border: 1px solid #CCC;
}

.news_list .img.none {
	background-size: auto;
}

.content {
	position: relative;
}

.news_list h3 {
	color: #FFE74E;
	font-size: 28px;
	font-weight: bold;
	line-height: 1.3em;
	max-width: 395px;
	margin-left: 20px;
	margin-bottom: 10px;
}

.news_list p {
	color: #FFF;
	line-height: 1.5em;
	margin-top: 4px;
	margin-bottom: 4px;
	max-width: 390px;
	margin-left: 30px;
}


.more,
.news_list .more {
	background: #3A4A9D;
	color: #FFF;
	margin: 14px auto 0;
	padding: 8px 24px;
	display: block;
	text-align: center;
	width: fit-content;
	max-width: 176px;
}

.date {
	display: inline;
	position: absolute;
	top: .4em;
	right: 120px;
	line-height: 1em;
}

.news_list .date {
	font-size: 12px;
	top: 1em;
	left: 0;
}

.category {
	display: inline;
	font-size: 14px;
	line-height: 1em;
	position: absolute;
	right: 0;
	top: 0;
	background: #3A4A9D;
	color: #FFF;
	padding: 6px 16px;
}

.category.comp {
	background: #00913A;
}

.category.info {
	background: #00A29A;
}

.category.recruit {
	background: #EE7800;
}

.content_body {
	padding: 1.5em 1em 1em;
	min-height: 300px;
}

.single .category,
.single .date,
.single .post-edit {
	position: relative;
	float: right;
	margin: 0;
}

.single .date {
	right: 22px;
}

.single .post-edit {
	right: 38px;
	margin-top: 2px;
}


/* banner */
#banner {
	padding-top: 220px;
	padding-bottom: 0;
}

#banner .flex-banner {
	background-color: #E6E6E6;
	width: 100%;
	padding: 55px;
	position: relative;
}

#banner .flex-banner::before {
	content: "";
	position: absolute;
	top: -190px;
	left: 225px;
	width: 385.89px;
	height: 212.08px;
	background-image: url("../img/hito-banner001.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#banner .flex-banner::after {
	content: "";
	position: absolute;
	top: -170px;
	right: 175px;
	width: 511.86px;
	height: 209.37px;
	background-image: url("../img/hito-banner002.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

#banner .flex-banner .flex-around {
	gap: 30px;
}

#banner .flex-banner .flex-catch {
	margin: 20px auto;
}


#products #banner {
	padding-top: 120px;
	margin-top: 150px;
}

#products #banner .flex-banner::before {
	top: -190px;
	left: 16vw;
	width: 679.42px;
	height: 209.37px;
	background-image: url("../img/hito-banner009.webp");

}

#products #banner .flex-banner::after {
	top: -170px;
	right: 18vw;
	width: 149.98px;
	height: 200.7px;
	background-image: url("../img/hito-banner008.webp");
}






/* Googleマップ */
#map_canvas {
	padding-top: 100px;
	padding-bottom: initial;
}

#map_canvas .in100per {
	height: 400px;
	width: 100%;
	position: relative;
	overflow: hidden;
	padding: 0;
}

#map_canvas .in100per p {
	margin: 0;
	padding: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

#map_canvas .in100per p iframe {
	width: 100vw;
}


/* tableテーブル共通設定(company-table) */
table.company-table {
	width: 100%;
	max-width: 1010px;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0px 20px;
	margin-top: 20px;
	margin-bottom: 50px;
}

table.company-table th,
table.company-table td {
	padding: 10px 0;
}

table.company-table th {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	width: 305px;
	background: #D5E7FF;
	border: none;
	position: relative;
}


table.company-table th::before {
	content: "";
	background-image: linear-gradient(to right, #539DFF, #539DFF 2px, transparent 2px, transparent 8px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	top: -10px;
	left: 0px;
	height: 3px;
	width: 100vw;
	max-width: 1010px;
}

table.company-table tr:last-child th::after {
	content: "";
	background-image: linear-gradient(to right, #539DFF, #539DFF 2px, transparent 2px, transparent 8px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	bottom: -10px;
	left: 0px;
	height: 3px;
	width: 100vw;
	max-width: 1010px;
}


table.company-table th p {
	font-size: 24px;
	font-weight: bold;
	margin: 5px auto;
}

table.company-table td {
	font-size: 19px;
	padding-left: 20px;
	border: none;
	line-height: 1.5em;
}

table.company-table td p {
	margin: 5px auto;
}


table.company-table .google-bt {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
}

table.company-table .google-bt a {
	font-size: 13px;
	color: #324E72;
	background: #ffffff;
	padding: 3px 25px;
	border-radius: 50px;
	border: solid 1px currentColor;
}

table.company-table .google-bt a:hover {
	opacity: .8;
}



/* お知らせ */
.bread {
	color: #666;
	margin: .5em 1em .5em 0;
}

.bread a {
	text-decoration: underline;
}

#category-nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 20px;
}

#category-nav h3 {
	color: #3A4A9D;
	font-size: 30px;
	font-size: 26px;
	margin-top: 24px;
	margin-bottom: 14px;
	border-bottom: 3px dotted #CCC;
}

#category-nav h3:first-child {
	margin-top: 0;
}

#category-nav a {
	color: #3A4A9D;
	text-decoration: underline;
	padding: 4px 10px;
	font-size: 18px;
	margin: 4px;
}

.single .pagination .next {
	float: left;
}

.single .pagination .prev {
	float: right;
}

.pagination {
	text-align: center;
	margin: 14px;
}

.pagination span,
.pagination a {
	padding: 4px 11px;
	font-weight: bold;
	margin: 1px;
}

.pagination span {
	color: #3A4A9D;
	border: 2px solid;
}

.pagination a {
	color: #FFF;
	background: #3A4A9D;
	border: 2px solid currentColor;
}

.pagination a:hover {
	opacity: .8;
}


/* 固定ページ：会社案内 */
#company #sdgs {
	padding-top: 120px;
	margin-top: 100px;
}

#company #sdgs::before {
	content: "";
	position: absolute;
	top: -170px;
	left: 13vw;
	width: 231.11px;
	height: 220.04px;
	background-image: url("../img/hito-banner007.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}


#company #sdgs::after {
	content: "";
	position: absolute;
	top: -140px;
	right: 20vw;
	width: 81.04px;
	height: 199.2px;
	background-image: url("../img/hito-banner013.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}



#company #sdgs .in100per {
	background: #97CF56;
	padding: 30px 0 25px;
}

#company #sdgs .base-sdgs {
	max-width: 1166px;
}

#company #sdgs .base-sdgs::before,
#company #sdgs .base-sdgs::after {
	content: initial;
}


#company #sdgs .flex-sdgs {
	padding: 0 10px 10px;
}


#company #sdgs .flex-sdgs .flex-around,
#company #sdgs .flex-sdgs {
	background: #fff;
}


#company #sdgs .flex-sdgs::before {
	left: 12vw;
}

#company #sdgs .flex-sdgs::after {
	bottom: -155px;
	right: initial;
	left: -3vw;
}

#company #sdgs .flex-sdgs h2 {
	width: fit-content;
	margin: 0 auto;
	padding: initial;
}

#company #sdgs .flex-sdgs h2 p {
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	background: #2067C7;
	padding: 20px 80px;
	border-radius: 0 0 20px 20px;
	margin: initial;
}


#company #sdgs .flex-sdgs .flex-around {
	padding: 40px 60px 50px;
}


#company #sdgs .flex-sdgs .flex-around .col50:first-child {
	width: 51%;
	position: relative;
}

#company #sdgs .flex-sdgs .flex-around .col50:first-child::before {
	content: "";
	background-image: linear-gradient(to right, #539DFF, #539DFF 2px, transparent 2px, transparent 8px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
}

#company #sdgs .flex-sdgs .flex-around .col50:first-child::after {
	content: "";
	background-image: linear-gradient(to right, #539DFF, #539DFF 2px, transparent 2px, transparent 8px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: 100%;
}

#company #sdgs .flex-sdgs .flex-around .col50:first-child p {
	font-size: 20px;
	line-height: 1.8em;
	margin: 1.3em 1em;
}

#company #sdgs .flex-sdgs .flex-around img {
	max-width: 432.31px;
	max-height: 256.39px;
}

#company #map_canvas::before {
	content: "";
	position: absolute;
	top: -185px;
	left: 19vw;
	width: 81.04px;
	height: 199.2px;
	background-image: url(../img/hito-banner003.webp);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}

#company #map_canvas::after {
	content: "";
	position: absolute;
	top: -205px;
	right: 12vw;
	width: 220.5px;
	height: 217.17px;
	background-image: url("../img/hito-banner004.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
}


#overview,
#greeting {
	max-width: 1166px;
	margin: 60px auto;
	padding-top: initial;
	border-radius: 36px;
	box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.25);
}

#overview .flex-company .flex-around,
#greeting .flex-company .flex-around {
	flex-direction: column;
	align-items: center;
}


#overview .flex-company .flex-around .col50,
#greeting .flex-company .flex-around .col50 {
	width: fit-content;
}

#greeting .flex-company .flex-around .bottom {
	padding: 30px 0 40px;
}


#overview .flex-company .flex-around h2,
#greeting .flex-company .flex-around h2 {
	color: #fff;
	font-size: 40px;
	background: #2067C7;
	padding: 20px 80px;
	border-radius: 0 0 20px 20px;
}



#greeting .flex-company .flex-around .flex-item {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
}

#greeting .flex-company .flex-around .flex-item .col50:first-child {
	position: relative;
}

#greeting .flex-company .flex-around .flex-item .col50:first-child::before {
	content: "";
	background-image: linear-gradient(to right, #539DFF, #539DFF 2px, transparent 2px, transparent 8px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 100%;
}

#greeting .flex-company .flex-around .flex-item .col50:first-child::after {
	content: "";
	background-image: linear-gradient(to right, #539DFF, #539DFF 2px, transparent 2px, transparent 8px);
	background-size: 6px 2px;
	background-repeat: repeat-x;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: 100%;
}


#greeting .flex-company .flex-around .flex-item .text {
	max-width: 680px;
}

#greeting .flex-company .flex-around .flex-item .text p {
	font-size: 20px;
	line-height: 1.8em;
	margin: 1.3em 1em;
}

#greeting .flex-company .flex-around .flex-item .img {
	position: relative;
}

#greeting .flex-company .flex-around .flex-item .img img:first-child {
	position: relative;
	top: -90px;
}

#greeting .flex-company .flex-around .flex-item .img img:last-child {
	position: absolute;
	bottom: -75px;
	right: -8vw;
}



/* 固定ページ：お問い合わせ～404ページ */

body.page-privacy-policy,
body.page-thanks,
body.page-contact {
	background-color: #97CF56;
}


body.page-privacy-policy #header>.in100per,
body.page-thanks #header>.in100per,
body.page-contact #header>.in100per {
	background: #97CF56;
}

body.page-not #banner,
body.page-privacy-policy #banner,
body.page-thanks #banner,
body.page-contact #banner {
	padding-top: 120px;
	margin-top: 150px;
}

#privacy-policy #lead .flex-around,
#contact #lead .flex-around {
	align-items: center;
	padding-top: 40px;
}

#privacy-policy #lead .flex-around p,
#contact #lead .flex-around p {
	color: #fff;
	font-size: 20px;
	line-height: 1.8em;
	text-align: center;
}

#privacy-policy #lead .flex-around p {
	text-align: initial;
}

#article_404,
#contact-privacy,
#contact-thanks,
#contact-tel,
#contact-form {
	max-width: 1166px;
	margin: 25px auto 60px;
	padding-top: initial;
	border-radius: 36px;
	box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.25);
}

#contact-thanks {
	padding-top: 40px;
	padding-bottom: 40px;
	margin: 60px auto;
}

#contact-privacy {
	padding-top: 60px;
	padding-bottom: 60px;
}

#contact-privacy .flex-privacy {
	display: flex;
	justify-content: center;
}

#contact-privacy .flex-privacy dl.privacy-list {
	max-width: 825px;
}

#contact-privacy .flex-privacy dl.privacy-list dt {
	color: #1156B2;
	font-size: 30px;
	font-weight: bold;
	line-height: 1em;
	position: relative;
	margin-inline-start: 80px;
}

#contact-privacy .flex-privacy dl.privacy-list dt span.title {
	font-size: 39px;
	font-weight: bold;
	line-height: 1em;
	position: absolute;
	left: -100px;
	top: 50%;
	transform: translateY(-45%);
}


#contact-privacy .flex-privacy dl.privacy-list dd {
	font-size: 18px;
	line-height: 1.5em;
	margin-inline-start: 80px;
	padding-top: 15px;
	padding-bottom: 60px;
}

#contact-privacy .flex-privacy dl.privacy-list dd {
	font-size: 18px;
	line-height: 1.5em;
	margin-inline-start: 80px;
	padding-top: 15px;
	padding-bottom: 60px;
}

#contact-privacy .flex-privacy dl.privacy-list dd:last-child {
	padding-bottom: initial;
}



#article_404 .flex-contact .flex-around,
#contact-privacy .flex-contact .flex-around,
#contact-thanks .flex-contact .flex-around,
#contact-tel .flex-contact .flex-around,
#contact-form .flex-contact .flex-around {
	flex-direction: column;
	align-items: center;
}

#article_404 .flex-contact .flex-around .col50,
#contact-thanks .flex-contact .flex-around .col50,
#contact-tel .flex-contact .flex-around .col50,
#contact-form .flex-contact .flex-around .col50 {
	width: fit-content;
}

#article_404 .flex-contact .flex-around .col50,
#contact-thanks .flex-contact .flex-around .col50 {
	display: flex;
	flex-direction: column;
	align-items: center;
}

#article_404 .flex-contact .flex-around h2,
#contact-thanks .flex-contact .flex-around h2 {
	font-size: 40px;
}

#contact-thanks .flex-contact .flex-around .list ul {
	list-style: none;
	padding-left: 1.6em;
}

#contact-thanks .flex-contact .flex-around .list ul li {
	position: relative;
	margin-bottom: 0.3em;
	line-height: 1.7;
}

#contact-thanks .flex-contact .flex-around .list ul li::before {
	content: "";
	position: absolute;
	left: -1.4em;
	top: 0.4em;
	width: 1em;
	height: 1em;
	background-color: #324E72;
	border-radius: 50%;
}

#article_404 .flex-contact .flex-around .bt,
#contact-thanks .flex-contact .flex-around .bt {
	padding: 30px 40px;
}

#article_404 .flex-contact .flex-around .bt a,
#contact-thanks .flex-contact .flex-around .bt a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 304px;
	height: 60px;
	border-radius: 9999px;
	font-size: 25px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
	color: #ffffff;
	background-color: #1156B2;
	border: solid 3px currentColor;
}


#contact-tel .flex-contact .flex-around h2,
#contact-form .flex-contact .flex-around h2 {
	color: #fff;
	font-size: 40px;
	background: #528A10;
	padding: 20px 60px;
	border-radius: 0 0 20px 20px;
}

#contact-tel .flex-contact .flex-around .text p,
#contact-form .flex-contact .flex-around .text p {
	text-align: center;
}

#contact-tel .flex-contact .flex-around .text {
	padding: 10px 0;
}

#contact-tel .flex-contact .flex-around .text p.time,
#contact-tel .flex-contact .flex-around .text p.tel {
	margin: initial;
	font-weight: bold;
	line-height: 1.15em;
}


#contact-tel .flex-contact .flex-around .text p.tel {
	font-size: 36px;
}

#contact-tel .flex-contact .flex-around .text p.tel a {
	color: #324E72;
	pointer-events: none;
}


#contact-tel .flex-contact .flex-around .text p.time {
	font-size: 20px;
}






/* 個別ページ */
.single #products {
	padding-bottom: initial;
}

.single #lead .description {
	position: relative;
}

.single #lead .description .bt {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%) translateX(340px);
}

.single #lead .description .bt a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 40px;
	font-size: 20px;
	background: #fff;
	color: #1156B2;
	text-decoration: none;
	border-radius: 9999px;
	border: solid 3px currentColor;
	padding-top: 3px;
}

.single #lead .description .bt a:hover {
	opacity: .8;
}



.single article main {
	max-width: 1166px;
	margin: 60px auto 0;
	padding-top: initial;
	padding-left: 16px;
	padding-right: 16px;
	padding-bottom: 20px;
	box-sizing: border-box;
	border-radius: 36px;
	box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.25);
	background: #fff;
}

.single article main h2 {
	color: #fff;
	font-size: 40px;
	text-align: center;
	background: #1156B2;
	padding: 10px;
	border-radius: 0 0 20px 20px;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}

.single article main h2.color-cobaltblue {
	background: #1156B2;
}

.single article main h2.color-forestgreen {
	background: #388E38;
}

.single article main h2.color-crimsonred {
	background: #D6314D;
}

.single article main h2.color-deepblue {
	background: #2626B2;
}


.single article main section {
	max-width: 1050px;
	margin: 70px auto;
	padding-top: 80px;
	padding-left: 80px;
	padding-right: 80px;
	padding-bottom: 40px;
	position: relative;
	border-radius: 20px;
	background: #EBF3FF;
}

.single article main section.color-cobaltblue {
	background: #EBF3FF;
}

.single article main section.color-forestgreen {
	background: #E8F9E8;
}

.single article main section.color-crimsonred {
	background: #FCEBEE;
}

.single article main section.color-deepblue {
	background: #EBEBFE;
}


.single article main section#section1 {
	padding: initial;
	background: initial;
}


.single article main section .flex-around {
	max-width: 710px;
	margin: 30px auto;
}


.single article main section#section1 .flex-around:first-of-type {
	max-width: 1010px;
	margin: 0 auto;
	justify-content: space-between;
}

.single article main section .flex-around.list-loop {
	position: relative;
}

.single article main section .flex-around.list-loop .list-img {
	position: absolute;
	top: -35px;
	right: -100px;
}

.single article main section .flex-around .col100 {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border-radius: 10px;
	padding: 20px 30px;
}

.single article main section .flex-around .col100 figure {
	cursor: pointer;
}


.single article main section .flex-around .col50 {
	background: #fff;
	border-radius: 10px;
}


.single article main section#section1 .flex-around .col50 {
	margin: initial;
	padding: initial;
}

.single article main section#section1 .flex-around .col50:first-of-type {
	width: 515px;
}

.single article main section#section1 .flex-around .product-description {
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.single article main section#section1 .flex-pr {
	max-width: initial;
	position: relative;
	padding: 50px 0;
	margin: 70px auto;
}

.single article main section .flex-pr::before,
.single article main section .flex-pr::after {
	content: "";
	background-image: linear-gradient(to right, #1156B2, #1156B2 3px, transparent 3px, transparent 8px);
	background-size: 10px 3px;
	background-repeat: repeat-x;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: 100%;
}

.single article main section .flex-pr::before {
	bottom: initial;
	top: 0;
}

.single article main section.color-cobaltblue .flex-pr::before,
.single article main section.color-cobaltblue .flex-pr::after {
	background-image: linear-gradient(to right, #1156B2, #1156B2 3px, transparent 3px, transparent 8px);
}

.single article main section.color-forestgreen .flex-pr::before,
.single article main section.color-forestgreen .flex-pr::after {
	background-image: linear-gradient(to right, #388E38, #388E38 3px, transparent 3px, transparent 8px);
}

.single article main section.color-crimsonred .flex-pr::before,
.single article main section.color-crimsonred .flex-pr::after {
	background-image: linear-gradient(to right, #D6314D, #D6314D 3px, transparent 3px, transparent 8px);
}

.single article main section.color-deepblue .flex-pr::before,
.single article main section.color-deepblue .flex-pr::after {
	background-image: linear-gradient(to right, #2626B2, #2626B2 3px, transparent 3px, transparent 8px);
}




.single article main section .product-description p {
	color: #1156B2;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.5em;
	width: 100%;
	display: flex;
	justify-content: center;
}

.single article main section.color-cobaltblue .product-description p {
	color: #1156B2;
}

.single article main section.color-forestgreen .product-description p {
	color: #388E38;
}

.single article main section.color-crimsonred .product-description p {
	color: #D6314D;
}

.single article main section.color-deepblue .product-description p {
	color: #2626B2;
}

.single article main section h3 {
	color: #1156B2;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.2em;
	position: relative;
	margin-left: 125px;
}

.single article main section.color-cobaltblue h3 {
	color: #1156B2;
}

.single article main section.color-forestgreen h3 {
	color: #388E38;
}

.single article main section.color-crimsonred h3 {
	color: #D6314D;
}

.single article main section.color-deepblue h3 {
	color: #2626B2;
}


.single article main section h3 .block-num {
	position: absolute;
	top: -70px;
	left: -190px;
	background: #fff;
	width: 170px;
	height: 170px;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.single article main section h3 .block-num span.section-num {
	font-size: 106px;
	line-height: 1em;
	font-family: "Segoe UI", "SF Pro Display", "Roboto", "Helvetica Neue", Arial, sans-serif;
	padding-bottom: 10px;
}


.single article main.no_number section h3 {
	max-width: 710px;
	margin: 0 auto;
}

.single article main.no_number section h3 .block-num,
.single article main.no_number section h3 .block-num span.section-num {
	display: none;
}

.single article main section h3 .block-sub {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 30px;
	padding-top: 5px;
}

.single article main section h3 span.supplement {
	font-size: 25px;
	vertical-align: middle;
	padding-left: 10px;
}


.single article main section h3 span.subhead {
	font-size: 25px;
	line-height: 1.2em;
	width: fit-content;
	position: relative;
	padding-left: 10px;
	padding-right: 10px;
}

.single article main section h3 span.subhead::before {
	content: "【";
	position: absolute;
	left: -15px;
	top: 50%;
	transform: translateY(-50%);
}

.single article main section h3 span.subhead::after {
	content: "】";
	position: absolute;
	right: -15px;
	top: 50%;
	transform: translateY(-50%);
}


.single article main section h3 span.subhead-2nd {
	font-size: 18px;
}

.single article main section h3 span.subhead-2nd::before {
	content: "[";
	left: 0;
	transform: translateY(calc(-50% - 2px));
}

.single article main section h3 span.subhead-2nd::after {
	content: "]";
	right: 0;
	transform: translateY(calc(-50% - 2px));
}


.single article main section .mainphoto {
	width: 100%;
}


.single article main section .mainphoto figure {
	padding: 10px;
	box-sizing: border-box;
	border: solid 1px #B2C9E8;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 2.5em;
}


.single article main section .mainphoto figure img {
	object-fit: contain;
}

.single article main section .pdf-loop {
	width: 100%;
	row-gap: 30px;
	column-gap: 14px;
}

.single article main section .list-loop,
.single article main section .pdf-loop {
	margin: 30px auto 0;
}



.single article main section .pdf-loop .col50 {
	padding: 6px;
}

.single article main section .pdf-loop figure {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin: 0 0 3em;
}

.single article main section .pdf-loop figure img {
	object-fit: contain;
	padding-bottom: 25px;
}

.single article main section .pdf-loop figure a.gallery-pdf,
.single article main section .pdf-loop figure a.gallery {
	position: relative;
}

.single article main section .pdf-loop figure a.gallery::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 21px;
	height: 21px;
	background-image: url("../img/glass.webp");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.single article main section .pdf-loop figure a.gallery-pdf::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 5px;
	width: 18px;
	height: 21px;
	background-image: url("../img/icon-pdf.svg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}





.single article main section .pdf-loop figure:last-child,
.single article main section .mainphoto figure:last-child {
	margin: initial;
}


.single article main section ul.features {
	list-style: none;
	margin: 0;
	padding: 20px 30px;
	width: 100%;
	background: #fff;
	border-radius: 10px;
	box-sizing: border-box;
}

.single article main section ul.features li {
	font-size: 18px;
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 0.5em;
	line-height: 1.5em;
}

.single article main section ul.features li:last-of-type {
	margin-bottom: initial;
}


.single article main section ul.features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 1em;
	height: 1em;
	background: #1156B2;
	border-radius: 50%;
}

.single article main section ul.features li p {
	margin: initial;
}

.single article main section.color-cobaltblue ul.features li::before {
	background: #1156B2;
}

.single article main section.color-forestgreen ul.features li::before {
	background: #388E38;
}

.single article main section.color-crimsonred ul.features li::before {
	background: #D6314D;
}

.single article main section.color-deepblue ul.features li::before {
	background: #2626B2;
}



/* フッター */

#footer {
	clear: both;
	width: 100%;
	position: relative;
}

#footer .in100per {
	clear: both;
	width: 100%;
	position: relative;
	padding: initial;
}


#footer .flex-around {
	padding-top: 30px;
	padding-bottom: 30px;
}

#footer .flex-around br {
	display: none;
}

#footer .flex-around>div {
	justify-content: center;
	padding: 20px;
}

#footer .flex-around h4 {
	padding-bottom: 30px;
}

#footer .flex-around h4 img {
	max-width: 389.76px;
	max-height: 102.72px;
}


#footer .flex-around p.copyright {
	color: #539DFF;
	font-size: 14px;
	padding-top: 10px;
}




#footer ul {
	list-style-type: none;
	font-weight: bold;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 50px 6px 0;
	padding-left: 0;
}

#footer li {
	padding: 0 1em;
}

#footer p {
	margin: 2px;
}


#footer-contact {
	display: none;
}


#gotop {
	position: fixed;
	z-index: 50;
	bottom: 18px;
	right: 18px;
	cursor: pointer;
}



@media (min-width: 1921px) {
	#top #lead {
		height: 52.08vw;
	}
}



@media (max-width: 1700px) {

	#header .logo .img {
		max-width: 213.76px;
		max-height: 56.72px;
	}

	#header .contact {
		font-size: 13px;
	}

	#header .contact .tel {
		font-size: 26px;
	}

	#g-navi {
		top: 40px;
	}

	#g-navi ul li a {
		font-size: 18px;
	}

	#g-navi ul li:nth-last-of-type(2) a {
		font-size: 13px;
	}


	/* リード文(トップ、会社案内) */
	#top #lead {
		padding: 0 6vw 50px 0;
	}

	#top #lead .flex-around .col50 {
		max-width: 346px;
		min-width: 345px;
	}

	#top #lead .flex-item {
		max-width: 760px;
	}

	#top #lead .flex-item .item-box {
		padding: 20px 15px 30px;
	}

	#top #lead .flex-item .item-box img {
		height: 144px;
		width: 144px;
	}

	#top #lead .flex-item .item-box .text {
		max-width: 171px;
	}

	#products #lead .flex-item .item-box h4,
	#top #lead .flex-item .item-box .text h4 {
		font-size: 22px;
		padding: 10px 0;
		max-width: 130px;
	}

	#products #lead .flex-item .item-box .text p,
	#top #lead .flex-item .item-box .text p {
		font-size: 13px;
	}


	#top #lead .item-bt span {
		width: 190px;
		height: 30px;
		font-size: 16px;
	}

	/* フッター */
	#gotop {
		max-width: 80px;
		max-height: 80px;
	}

}

@media (max-width: 1500px) {

	#header>.in100per {
		align-items: flex-start;
		padding: initial;
		gap: initial;
		height: 75px;
		flex-direction: column;
	}

	#header .logo {
		float: initial;
		text-align: initial;
		height: 75px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0 15px;
	}

	#header .contact {
		display: none;
	}

	#g-navi {
		top: 20px;
	}

	#sdgs .base-sdgs {
		max-width: 900px;
	}

	#sdgs .flex-sdgs::before {
		left: 30px;
	}

	#sdgs .flex-sdgs .flex-around {
		gap: 20px;
		padding: 20px;
	}

	#sdgs .flex-sdgs .flex-around .col50:nth-child(2n+1) p {
		font-size: 16px;
	}

	#info::before {
		top: -130px;
	}

	#info::after {
		top: -130px;
	}


	#info .flex-info {
		max-width: 900px;
	}

	#info .flex-info .flex-around {
		padding: 30px 15px;
		gap: 20px;
	}

	.news_list .col33::after {
		right: -10px;
	}


	.news_list h3 {
		font-size: 24px;
		margin-left: initial;
	}

	.news_list p {
		font-size: 14px;
		margin-left: initial;
	}


	/* 固定ページ：会社案内 */
	#company #sdgs .flex-sdgs::after {
		left: 1vw;
	}

	#company #map_canvas::before {
		left: 13vw;
	}



	#company #sdgs .flex-sdgs .flex-around {
		gap: initial;
	}

}

@media (max-width: 1199px) {



	#header>.in100per {
		height: 110px;
	}

	#header .logo {
		justify-content: center;
		width: 100%;
	}

	#s-menu {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #fff;
		width: 100%;
		height: 35px;
		cursor: pointer
	}

	#g-navi {
		position: fixed;
		top: -100%;
		right: initial;
		left: 0;
		width: 100%;
		height: 100%;
		background: #539DFF;
		z-index: 9999;
		overflow-y: auto;
	}

	#g-navi .g-navi-head {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 20px 0 30px;
		position: relative;
	}

	#g-navi .g-navi-head .g-navi-bt {
		position: absolute;
		top: 10px;
		right: 10px;
		cursor: pointer
	}

	#g-navi .g-navi-head .img {
		max-width: 213.76px;
		max-height: 56.72px;
	}

	#g-navi .in100per {
		max-width: 285px;
		margin: 0 auto;
		padding: initial;
		position: relative;
	}

	#g-navi .in100per::before {
		position: absolute;
		top: 0;
		height: 3px;
		width: 100%;
		content: "";
		display: block;
		height: 3px;
		background-image: linear-gradient(to right, #FFF, #FFF 2px, transparent 2px, transparent 8px);
		background-size: 8px 2px;
		background-repeat: repeat-x;
	}

	#g-navi .in100per::after {
		position: absolute;
		bottom: 0;
		height: 3px;
		width: 100%;
		content: "";
		display: block;
		height: 3px;
		background-image: linear-gradient(to right, #FFF, #FFF 2px, transparent 2px, transparent 8px);
		background-size: 8px 2px;
		background-repeat: repeat-x;
	}

	#g-navi ul {
		align-items: flex-start;
		gap: 30px;
		padding: 40px 20px;
	}

	#g-navi ul li {
		overflow: visible;
	}


	#g-navi ul li a {
		font-size: 26px;
		line-height: 1em;
		position: relative;
	}

	#g-navi ul li a::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: -35px;
		width: 20.08px;
		height: 16.98px;
		background-image: url("../img/arrow.webp");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
	}

	#g-navi ul li:nth-last-of-type(2) a {
		font-size: 16px;
	}



	#g-navi .g-navi-footer {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 20px;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);

	}

	#g-navi .g-navi-footer img:first-child {
		max-width: 189.56px;
		max-height: 79.21px;
	}

	#g-navi .g-navi-footer img:last-child {
		max-width: 289.14px;
		max-height: 139px;
	}


	#g-navi ul {
		flex-direction: column;
	}

	#g-navi ul li.toppage {
		display: block;
	}

	#g-navi ul li.inquiry {
		display: none;
	}


	/* リード文(トップ、会社案内) */
	#top #lead {
		height: 100%;
		justify-content: center;
		align-items: flex-start;
		background-size: contain;
		background-position: center bottom;
		padding: 6vw 0 58vw;
	}

	#products #lead .flex-around {
		flex-direction: column;
	}

	#products #lead .flex-around .col50 {
		width: 100%;
	}


	/* トップページ */
	#sdgs h2 img {
		width: 211.62px;
		height: 113.88px;
	}

	#info h2 img {
		width: 184.78px;
		height: 70.35px;
	}





	/* tableテーブル共通設定(company-table) */
	table.company-table,
	table.company-table tr:last-child th::after,
	table.company-table th::before {
		max-width: 665px;
	}




	/* 固定ページ：共通設定 */
	#thanks #lead h1 img,
	#contact #lead h1 img {
		max-width: 294.06px;
		max-height: 70.35px;
	}

	#privacy-policy #lead h1 img {
		max-width: 338.41px;
		max-height: 63.08px;
	}

	#company #lead h1 img {
		max-width: 210.72px;
		max-height: 70.35px;
	}

	.single #lead h1 img,
	#products #lead h1 img {
		max-width: 211.53px;
		max-height: 70.35px;
	}

	#contact #lead .flex-around p {
		font-size: 16px;
	}

	#privacy-policy #lead .flex-around p {
		font-size: 14px;
		max-width: 650px;
		margin: 0 auto;
	}

	#article_404,
	.single article main,
	#company #sdgs .base-sdgs,
	#overview,
	#greeting,
	#contact-privacy,
	#contact-thanks,
	#contact-tel,
	#contact-form {
		max-width: 750px;
	}

	#contact-privacy {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	#contact-privacy .in100per {
		padding: 0 7vw;
	}


	#contact-privacy .flex-privacy dl.privacy-list {
		max-width: 500px;
	}

	#contact-privacy .flex-privacy dl.privacy-list dt {
		font-size: 16px;
		line-height: 1.2em;
		margin-inline-start: 40px;
	}

	#contact-privacy .flex-privacy dl.privacy-list dt span.title {
		font-size: 20px;
		left: -50px;
	}

	#contact-privacy .flex-privacy dl.privacy-list dd {
		font-size: 12px;
		margin-inline-start: 40px;
		padding-top: 10px;
		padding-bottom: 20px;
	}

	#article_404 .flex-contact .flex-around h2,
	.single article main section#section1 .flex-around .product-description p,
	.single article main h2,
	#company #sdgs .flex-sdgs h2 p,
	#overview .flex-company .flex-around h2,
	#greeting .flex-company .flex-around h2,
	#contact-thanks .flex-contact .flex-around h2,
	#contact-tel .flex-contact .flex-around h2,
	#contact-form .flex-contact .flex-around h2 {
		font-size: 24px;
	}

	.single article main h2 {
		max-width: 350px;
	}

	#company #sdgs .flex-sdgs h2 p,
	#overview .flex-company .flex-around h2,
	#greeting .flex-company .flex-around h2 {
		padding: 20px 60px;
	}

	#article_404 .flex-contact .flex-around h2,
	#contact-thanks .flex-contact .flex-around h2 {
		margin-bottom: initial;
	}


	/* 個別ページ：商品案内 */
	.single article main {
		margin: 70px auto 0;
	}

	.single #lead .description .bt {
		bottom: -55px;
		transform: translate(-50%) translateX(0px);
	}

	.single #lead .description .bt a {
		width: 200px;
		height: 30px;
		font-size: 16px;
	}


	.single article main section {
		padding-top: 40px;
		padding-left: 40px;
		padding-right: 40px;
		padding-bottom: 40px;

	}

	.single article main section h3 {
		font-size: 20px;
		line-height: 1.5em;
		margin-left: 80px;
	}

	.single article main.no_number section h3 {
		margin-left: 20px;
	}

	.single article main section h3 .block-num {
		top: -5px;
		left: -85px;
		width: 75px;
		height: 75px;
	}

	.single article main section h3 .block-num span.section-num {
		font-size: 44px;
	}

	.single article main section h3 .block-sub {
		column-gap: 10px;
	}

	.single article main section h3 span.supplement {
		font-size: 16px;
		padding-left: initial;
	}


	.single article main section h3 span.subhead {
		font-size: 16px;
	}

	.single article main section h3 span.subhead::before {
		left: -8px;
	}

	.single article main section h3 span.subhead::after {
		right: -8px;
	}

	.single article main section h3 span.subhead-2nd {
		font-size: 12px;
		padding: initial;
	}

	.single article main section h3 span.subhead-2nd::after,
	.single article main section h3 span.subhead-2nd::before {
		content: none;
	}


	.single article main section ul.features li {
		font-size: 14px;
		line-height: 1.2em;
		margin-bottom: 1em;
	}

	.single article main section ul.features li:last-child {
		margin-bottom: initial;
	}


	.single article main section ul.features li::before {
		top: 2px;
		left: 2px;
	}



	.single article main section .flex-around {
		align-items: center;
		justify-content: center;
	}

	.single article main section#section1 .flex-around:first-of-type,
	.single article main section#section1 .flex-around {
		justify-content: center;
	}


	.single article main section#section1 .flex-around .product-description p {
		margin: 1em auto 0.5em;
	}


	.single article main section#section1 .flex-around .product-description img {
		max-width: 113px;
		max-height: 148px;
	}

	.single article main section .flex-around.list-loop .list-img {
		display: none;
	}

	/* 固定ページ：会社案内 */
	#greeting .flex-company .flex-around .bottom {
		padding: initial;
	}

	#company #sdgs .flex-sdgs .flex-around {
		flex-direction: column-reverse;
		padding: 20px 20px 60px;
	}

	#sdgs .flex-sdgs .flex-around .col50:nth-child(2n+2) {
		justify-content: center;
		width: 100%;
	}

	#company #sdgs .flex-sdgs .flex-around .col50:first-child {
		width: 100%;
	}

	#company #sdgs .flex-sdgs .flex-around .col50:first-child p,
	#greeting .flex-company .flex-around .flex-item .text p {
		font-size: 16px;
	}

	#greeting .flex-company .flex-around .flex-item {
		gap: initial;
	}

	#greeting .flex-company .flex-around .flex-item .img {
		height: 210px;
	}

	#greeting .flex-company .flex-around .flex-item .img img:first-child {
		top: 0;
		left: -80px;
		max-width: 270px;
		max-height: 270px;
	}

	#greeting .flex-company .flex-around .flex-item .img img:last-child {
		bottom: -80px;
		left: 50%;
		transform: translateX(0px);
		max-width: 180px;
		max-height: 180px;
	}


	#company #sdgs .flex-sdgs .flex-around .col50:first-child::after,
	#company #sdgs .flex-sdgs .flex-around .col50:first-child::before,
	#greeting .flex-company .flex-around .flex-item .col50:first-child::after,
	#greeting .flex-company .flex-around .flex-item .col50:first-child::before {
		content: initial;
	}


	/* 固定ページ：お問い合わせ */
	#article_404 .flex-contact .flex-around .col50 img,
	#contact-thanks .flex-contact .flex-around .col50 img {
		max-width: 212px;
		max-height: 127.65px;
	}

	#contact-thanks .flex-contact .flex-around .list ul li {
		font-size: 12px;
		line-height: 1.5em;
	}

	#contact-thanks .flex-contact .flex-around .list ul li::before {
		top: 0.3em;
	}

	#article_404 .flex-contact .flex-around .bt,
	#contact-thanks .flex-contact .flex-around .bt {
		padding: 20px 0 0;
	}

	#article_404 .flex-contact .flex-around .bt a,
	#contact-thanks .flex-contact .flex-around .bt a {
		width: 180px;
		height: 30px;
		font-size: 16px;
	}

	#contact-tel .flex-contact .flex-around .text p.time,
	#contact-tel .flex-contact .flex-around .text p.tel {
		line-height: 1.5em;
	}

	#contact-tel .flex-contact .flex-around .text p.tel {
		font-size: 30px;
	}

	#contact-tel .flex-contact .flex-around .text p.time {
		font-size: 18px;
	}




	/* フッター */
	#footer .flex-around {
		padding-top: 10px;
		padding-bottom: 70px;
	}

	#footer .flex-around br {
		display: block;
	}

	#footer .flex-around h4 img {
		max-width: 290.63px;
		max-height: 76.59px;
	}


	#footer-contact {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgba(255, 255, 255, 0.4);
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 10px;
		z-index: 50;
		height: 70px;
	}

	#gotop {
		max-width: 56px;
		max-height: 56px;
		bottom: 5px;
		right: 5px;
	}

}