@charset "utf-8";
/* CSS Document */

/* ==================== */
/* catch */
/* ==================== */

.bg__company--catch {
	width: 100%;
/*	padding: 50px 20px;*/
	padding: 50px 1.0rem;
}

.wrap__company--catch {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}

.wrap__company--catch h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 2.0rem;
	font-weight: 800;
	color: #1DB1CF;
	line-height: 1.3;
}

.wrap__company--catch h3::before ,
.wrap__company--catch h3::after {
	content: '';
	width: 5px;
	height: 2.0rem;
	background-color: #1DB1CF;
}

.wrap__company--catch h3::before {
	margin-right: 30px;
	transform: rotate(-35deg);
}

.wrap__company--catch h3::after {
	margin-left: 30px;
	transform: rotate(35deg);
}

.fb__catch {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 3.0rem;
	width: 100%;
	margin-top: 2.0rem;
}

.item__catch--catch {
	width: -moz-fit-content;
	width: fit-content;
/*	width: 300px;*/
	text-align: center;
}

.item__catch--catch p {
	display: inline;
	padding: 0 1.0rem;
	font-size: 2.5rem;
	font-weight: 600;
	color: #fff;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-color: #1DB1CF;
	line-height: 1.8;
}

.item__catch--comment {
	flex: 1;
/*	width: calc(100% - 300px - 3.0rem);*/
}

/* ==================== */
/* local menu */
/* ==================== */

.bg__company--lm {
	width: 100%;
/*	padding: 50px 20px;*/
	padding: 50px 1.0rem;
}

.fb__company--lm {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 1.0rem;
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}

ul.fb__company--lm li a {
	display: inline-block;
	padding: 0.5rem 2.0rem;
	font-weight: 700;
	color: #1DB1CF;
	border: 2px solid #1DB1CF;
	border-radius: 100vh;
}

ul.fb__company--lm li a i {
	margin-left: 0.5rem;
}

/* ==================== */
/* h3 */
/* ==================== */

h3.h3__compnay {
	position: relative;
	display: inline-block;
	padding-left: 55px; 
	font-size: 1.75rem;
	font-weight: 700;
	color: #1DB1CF;
}

h3.h3__compnay::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #1DB1CF;
}

/* ==================== */
/* message */
/* ==================== */

.bg__company--message {
	width: 100%;
/*	padding: 100px 20px;*/
	padding: 100px 1.0rem;
	background-color: #F4F9F7;
	background-image: url("../img2/common/bg__circle--brown-03.png") , url("../img2/common/bg__circle--orange-03.png") ;
	background-position: top 10% right 5% , bottom 10% left 5%;
	background-repeat: no-repeat , no-repeat;
}

.wrap__company--message {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 3.0rem;
	background-color: rgba(255 , 255 , 255 , 0.85);
/*	opacity: 0.85;*/
}

.fb__message {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 3.0rem;
	width: 100%;
	margin-top: 3.0rem;
}

.item__message--img {
	width: 300px;
	text-align: center;
}

.item__message--img img {
	width: 100%;
	height: auto;
}

.item__message--img p {
	margin-top: 1.0rem;
}

span.signature__president {
	font-size: 1.125rem;
	line-height: 1.8;
}

.item__message--comment {
	width: calc(100% - 300px - 3.0rem);
}

/* ==================== */
/* profile */
/* ==================== */

.bg__company--profile {
	width: 100%;
/*	padding: 100px 20px;*/
	padding: 100px 1.0rem;
}

.bg-photo__company--profile {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 3.0rem;
	background-image: url("../img2/company/bg__photo--office02.jpg");
	background-size: cover;
	background-position: top;
	background-repeat: no-repeat;
	background-color: rgba(255 , 255 , 255 , 0.1);
	background-blend-mode: lighten;
	border-radius: 20px;
}

.wrap__company--profile {
	width: 100%;
	margin: 0 auto;
	padding: 3.0rem;
/*	background-color: #FFF;*/
	background-color: rgba(255 , 255 , 255 , 0.95);

}

table.tbl__profile {
	width: 100%;
	margin-top: 1.0rem;
	border-collapse: collapse;
}

table.tbl__profile th ,
table.tbl__profile td {
	padding: 2.0rem 1.0rem;
	border-bottom: 1px solid #80BDC9;
}

table.tbl__profile th {
	white-space: nowrap;
}

a.btn__profile {
	display: inline-block;
	margin: 0.5rem 0;
	padding: 0.25rem 1.5rem 0.30rem;
	font-size: 0.875rem;
	color: #FFF;
	background-color: #1DC3CF;
	border-radius: 100vh;
}

table.tbl__profile td dl:nth-child(n+2) {
	margin-top: 1.0rem;
}

table.tbl__profile td dl dt i {
	margin-right: 0.5rem;
}

table.tbl__profile td dl dd {
	margin-top: 0.5rem;
}

table.tbl__profile td .block__company--group:nth-child(n+2) {
	margin-top: 1.0rem;
}

.text__company--group {
	display: inline-block;
	margin-bottom: 0.5rem;
	padding: 0.25rem 1.5rem 0.30rem;
	color: #FFF;
	background-color: #1DC3CF;
	border-radius: 100vh;
}


/* ==================== */
/* history */
/* ==================== */

.bg__company--history {
	width: 100%;
/*	padding: 0 20px 100px;*/
	padding: 0 1.0rem 100px;
	background-image: url("../img2/company/bg__history--photo-top.jpg") , url("../img2/company/bg__history--photo-bottom-02.jpg") ;
	background-position: top 100px left 0 , bottom 0 right 0;
	background-repeat: no-repeat , no-repeat;
	background-size: 640px 490px , 640px 360px;
}

p.title__history {
	padding-bottom: 3.0rem;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
	font-size: 12.5rem;
	color: #f6f6f6;
	line-height: 1.0;
	overflow: hidden;
	white-space: nowrap;
}

.wrap__company--history {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: 1.0rem auto 1.0rem;
	padding: 3.0rem;
	background-color: rgba(255 , 249 , 233 , 0.95);
}

.icn__history {
	position: absolute;
	top: -80px;
	right: 50px;
	width: 250px;
}

.icn__history img {
	width: 100%;
	height: auto;
}

table.tbl__history {
	width: 100%;
	margin-top: 1.0rem;
	border-collapse: collapse;
}

table.tbl__history th ,
table.tbl__history td {
	padding: 2.0rem 1.0rem;
	border-bottom: 1px solid #80BDC9;
}

table.tbl__history th {
	white-space: nowrap;
}


/* ==================== */
/* award */
/* ==================== */

.bg__company--award {
	width: 100%;
/*	padding: 150px 20px 100px;*/
	padding: 150px 1.0rem 100px;
	background-color: #F9F4EE;
	background-image: url("../img2/company/icn__award-02.png") , url("../img2/company/img__award-01.png") , url("../img2/common/bg__triangle.png");
	background-position: top 60px right 30% ,  top 50px center , top 0 left 0;
	background-repeat: no-repeat ,  no-repeat , no-repeat;
	background-size: 144px 78px , 300px 167px , auto;
}

.wrap__company--award {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 3.0rem;
	background-color: rgba(255 , 255 , 255 , 1.0);
}

table.tbl__award {
	width: 100%;
	margin-top: 1.0rem;
	line-height: 1.8;
	border-collapse: collapse;
}

table.tbl__award th ,
table.tbl__award td {
	border-bottom: 1px solid #80BDC9;
}

table.tbl__award th {
	width: fit-content;
	padding: 2.0rem 0.5rem 2.0rem 1.0rem;
	text-align: right;
	font-weight: 500;
	white-space: nowrap;
}

table.tbl__award td {
	padding: 2.0rem 1.0rem 2.0rem 0;
}


.dl__award dt , .dl__award dd


@media (max-width: 1280px) {
/* 0.9 */

/* ==================== */
/* catch */
/* ==================== */


/* ==================== */
/* local menu */
/* ==================== */


/* ==================== */
/* message */
/* ==================== */


/* ==================== */
/* profile */
/* ==================== */


/* ==================== */
/* history */
/* ==================== */

.bg__company--history {
	background-position: top 80px left 0 , bottom 0 right 0;
	background-size: 580px 435px , 580px 326px;
}

p.title__history {
	padding-bottom: 2.7rem;
	font-size: 11.25rem;
}


/* ==================== */
/* award */
/* ==================== */

.bg__company--award {
	background-position: top 60px right 20% ,  top 50px center , top 0 left 0;
	background-size: 144px 78px , 270px 150px , auto;
}


}


@media (max-width: 1024px) {
/* 0.8 */

/* ==================== */
/* catch */
/* ==================== */

.wrap__company--catch h3 {
	font-size: 1.6rem;
}

.wrap__company--catch h3::before ,
.wrap__company--catch h3::after {
	height: 1.6rem;
}

.wrap__company--catch h3::before {
	margin-right: 24px;
}

.wrap__company--catch h3::after {
	margin-left: 24px;
}

.fb__catch {
	gap: 2.4rem;
}

.item__catch--catch {
/*	width: 250px;*/
}

.item__catch--catch p {
	font-size: 2.0rem;
}

.item__catch--comment {
/*	width: calc(100% - 250px - 2.4rem);*/
}


/* ==================== */
/* local menu */
/* ==================== */

.bg__company--lm {
/*	padding: 40px 20px;*/
	padding: 40px 1.0rem;
}


/* ==================== */
/* h3 */
/* ==================== */

h3.h3__compnay h3 {
	font-size: 1.4rem;
	padding-left: 44px; 
}

h3.h3__compnay::before {
	width: 36px;
}

/* ==================== */
/* message */
/* ==================== */

.bg__company--message {
	background-position: top 10% right 0 , bottom 10% left 0;
}

.wrap__company--message {
	padding: 2.4rem;
}

.fb__message {
	gap: 2.4rem;
}

.item__message--img {
	width: 240px;
}

.item__message--comment {
	width: calc(100% - 240px - 2.4rem);
}


/* ==================== */
/* profile */
/* ==================== */

.bg__company--profile {
/*	padding: 80px 20px;*/
	padding: 80px 1.0rem;
}

.bg-photo__company--profile {
	padding: 2.4rem;
}

.wrap__company--profile {
	padding: 2.4rem;
}

table.tbl__profile th ,
table.tbl__profile td {
	padding: 1.6rem 0.8rem;
}


/* ==================== */
/* history */
/* ==================== */

.bg__company--history {
	background-size: 512px 384px , 512px 288px;
}

p.title__history {
	padding-bottom: 2.4rem;
	font-size: 10.0rem;
}

.wrap__company--history {
	padding: 2.4rem;
}

.icn__history {
	top: -50px;
	right: 30px;
	width: 200px;
/*
	position: absolute;
	top: -80px;
	right: 50px;
	width: 250px;
*/
}

table.tbl__history th ,
table.tbl__history td {
	padding: 1.6rem 0.8rem;
}


/* ==================== */
/* award */
/* ==================== */

.bg__company--award {
	background-position: top 50px right 20px ,  top 50px center , top 0 left 0;
	background-size: 144px 78px , 240px 133px , auto;
}

.wrap__company--award {
	padding: 2.4rem;
}

/*
table.tbl__award th ,
table.tbl__award td {
	padding: 1.6rem 0.8rem;
}
*/

}


@media (max-width: 768px) {
/* 0.7 */

/* ==================== */
/* catch */
/* ==================== */

.wrap__company--catch h3 {
	font-size: 1.4rem;
}

.wrap__company--catch h3::before ,
.wrap__company--catch h3::after {
	height: 1.4rem;
}

.wrap__company--catch h3::before {
	margin-right: 21px;
}

.wrap__company--catch h3::after {
	margin-left: 21px;
}

.fb__catch {
	gap: 2.0rem;
}

.item__catch--catch {
/*	width: 240px;*/
}

.item__catch--catch p {
	font-size: 1.75rem;
}

.item__catch--comment {
/*	width: calc(100% - 240px - 2.0rem);*/
}


/* ==================== */
/* local menu */
/* ==================== */

.bg__company--lm {
/*	padding: 35px 20px;*/
	padding: 35px 1.0rem;
}

ul.fb__company--lm {
	gap: 0.5rem;
}

ul.fb__company--lm li a {
	font-size: 0.875rem;
}


/* ==================== */
/* h3 */
/* ==================== */

h3.h3__compnay {
	font-size: 1.25rem;
	padding-left: 39px; 
}

h3.h3__compnay::before {
	width: 32px;
}


/* ==================== */
/* message */
/* ==================== */

.bg__company--message {
	background-position: top 10px right 5px , bottom 10px left 5px;
}

.wrap__company--message {
	padding: 2.1rem;
}

.fb__message {
	gap: 2.1rem;
}

.item__message--img {
	width: 210px;
}

.item__message--comment {
	width: calc(100% - 210px - 2.1rem);
}

/* ==================== */
/* profile */
/* ==================== */

.bg__company--profile {
/*	padding: 70px 20px;*/
	padding: 70px 1.0rem;
}

.bg-photo__company--profile {
	padding: 2.1rem;
}

.wrap__company--profile {
	padding: 2.1rem;
}

table.tbl__profile {

}

table.tbl__profile th ,
table.tbl__profile td {
	display: block;
	padding: 1.4rem 0.7rem;
}

table.tbl__profile th {
	padding-bottom: 0;
	border-bottom: none;
}


/* ==================== */
/* history */
/* ==================== */

.bg__company--history {
	background-size: 448px 336px , 448px 252px;
}

p.title__history {
	padding-bottom: 2.1rem;
	font-size: 8.75rem;
}

.wrap__company--history {
	padding: 2.1rem;
}

.icn__history {
	top: -50px;
	right: 20px;
	width: 175px;
/*
	position: absolute;
	top: -80px;
	right: 50px;
	width: 250px;
*/
}

table.tbl__history th ,
table.tbl__history td {
	display: block;
	padding: 1.4rem 0.7rem;
}

table.tbl__history th {
	padding-bottom: 0;
	border-bottom: none;
}


/* ==================== */
/* award */
/* ==================== */

.bg__company--award {
	background-size: 144px 78px , 210px 116px , auto;
}

.wrap__company--award {
	padding: 2.1rem;
}

table.tbl__award th ,
table.tbl__award td {
	display: block;
}

table.tbl__award th {
	padding: 1.4rem 0.7rem 0.25rem 0.7rem;
/*	padding: 1.4rem 0.7rem;*/
	font-weight: 700;
	border-bottom: none;
}

table.tbl__award td {
	padding: 0 0.7rem 1.4rem 0.7rem;
}


}


@media (max-width: 640px) {
/* 0.6 */

/* ==================== */
/* catch */
/* ==================== */

.fb__catch {
	flex-direction: column;
}

.item__catch--catch {
	width: 100%;
}

.item__catch--comment {
	flex: none;
	width: calc(100% - 80px);
}


/* ==================== */
/* local menu */
/* ==================== */

.bg__company--lm {
/*	padding: 30px 20px;*/
	padding: 30px 1.0rem;
}


/* ==================== */
/* message */
/* ==================== */

.wrap__company--message {
	padding: 1.8rem;
}

.fb__message {
	flex-direction: column;
}

.item__message--img {
	width: calc(100% - 60px);
	margin: 0 auto;
}

.item__message--comment {
	width: 100%;
}


/* ==================== */
/* profile */
/* ==================== */

.bg__company--profile {
/*	padding: 60px 20px;*/
	padding: 60px 1.0rem;
}

.bg-photo__company--profile {
	padding: 1.0rem;
}

.wrap__company--profile {
	padding: 1.0rem;
}

table.tbl__profile {
	
}

table.tbl__profile th ,
table.tbl__profile td {
	padding: 1.2rem 0.6rem;
}

table.tbl__profile th {
	padding-bottom: 0;
}


/* ==================== */
/* history */
/* ==================== */

.bg__company--history {
	background-size: 384px 288px , 384px 216px;
}

p.title__history {
	padding-bottom: 1.8rem;
	font-size: 7.5rem;
}

.wrap__company--history {
	padding: 1.8rem;
}

.icn__history {
	top: -15px;
	right: 15px;
	width: 150px;
/*
	position: absolute;
	top: -80px;
	right: 50px;
	width: 250px;
*/
}

table.tbl__history th ,
table.tbl__history td {
	padding: 1.2rem 0.6rem;
}

table.tbl__history th {
	padding-bottom: 0;
}


/* ==================== */
/* award */
/* ==================== */

.bg__company--award {
	background-size: 144px 78px , 180px 99px , auto;
}

/*
table.tbl__award th ,
table.tbl__award td {
	padding: 1.2rem 0.6rem;
}

.wrap__company--award {
	padding: 1.8rem;
}

table.tbl__award th {
	padding-bottom: 0;
}
*/

}


@page {
   size: A4 portrait; 
   margin: 10mm;
}

@media print {

}
