@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
.pageTitle .photoBox .about {background: url(../img/about/about/main.webp) no-repeat center / cover;}
.pageTitle .photoBox .comp {background: url("../img/about/company.webp") no-repeat center / cover;}
.pageTitle .photoBox .acc {background: url("../img/about/access.webp") no-repeat center / cover;}
.pageTitle .photoBox .his {background: url("../img/about/history.webp") no-repeat center / cover;}
.pageTitle .photoBox .philo {background: url("../img/about/corporate-philosophy.webp") no-repeat center / cover;}
.pageTitle .photoBox .mem {background: url("../img/about/member.webp") no-repeat center / cover;}
/*--------------------------------------------------------

	COMMONS

--------------------------------------------------------*/
#main.inner {max-width: 1200px;}
.flexbox {display: flex;flex-wrap: wrap;justify-content: space-between;}
.morebox1,
.morebox2 {max-width: 1200px;margin: 10rem auto 0;padding: 0 1rem;}
.morebox1 h2,
.morebox2 h2 {
	margin-bottom: 30px;
	font-family: 'urw-din', sans-serif;
	font-size: 40px;
	font-weight: 600;
	letter-spacing: .07em;
	text-align: center;
}
.morebox1 .flexbox a {width: 46%;}
.morebox2 .flexbox a {width: 32%;}
.morebox1 .flexbox figure {margin-bottom: 20px;}
.morebox1 .flexbox figure img,
.morebox2 .flexbox figure img {transition: .5s;}
.morebox1 .flexbox a:hover figure img,
.morebox2 .flexbox a:hover figure img {opacity: .6;}
.morebox1 .flexbox figcaption,
.morebox2 .flexbox figcaption {font-size: 16px;text-align: center;font-weight: 600;margin-top: 1rem;}
@media all and (min-width: 0) and (max-width: 767px) {
	.pageTitle {margin-bottom: 27px;}
	.pageTitle .keyBox {margin-right: 0;width: auto;}
	.morebox1 h2,.morebox2 h2 {font-size: 24px;}
	.morebox1 .flexbox a,.morebox2 .flexbox a {
		width: 100%;
		margin-bottom: 30px;
	}
}
/*--------------------------------------------------------

	ABOUT

--------------------------------------------------------*/
#about .textBox{text-align: center;}
#about .textBox h2{
	font-size: 60px;
	font-family: 'Libre Baskerville', serif;
	margin-bottom: 0.5em;
	font-weight: 500;
}
#about .textBox h2 span{
	display: block;
	margin-bottom: 6px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.07em;
    font-family: 'urw-din', sans-serif;
}
#about .textBox p {margin-bottom: 32px;}
#about .textBox p.copy{font-size: 1.3em;}
#about .textBox p.en{line-height: 2.15;}
#about .textBox p:last-child {margin-bottom: 0;}

@media all and (min-width: 0) and (max-width: 767px){
	#about .textBox h2{font-size: 54px;}
}
/*--------------------------------------------------------

	COMPANY

--------------------------------------------------------*/
#company .message {
	margin-bottom: 106px;
	padding: 130px 0 20px;
	min-height: 761px;
	background: url("../img/about/company/bg-pc.jpg") no-repeat center bottom / cover;
	box-sizing: border-box;
}
#company .message .headLine02 {text-align: left;}
#company .message p {margin-bottom: 21px;max-width: 630px;}
#company .message .name {margin: 78px 0 0;}
#company .message h3.headLine04{font-weight: 500;font-size: 45px;font-family: 'Libre Baskerville', sans-serif;}
#company .headLine04 {margin-bottom: 48px;text-align: center;}
#company table {width: 100%;border-collapse: collapse;}
#company th,
#company td {border-right: none;border-bottom: 1px solid #B7B7B7;padding: 20px;}
#company th {vertical-align: top;}
#company tr:nth-child(1) th,
#company tr:nth-child(1) td {border-top: 1px solid #B7B7B7;}
#company td a {text-decoration: underline;}
#company td .tel {text-decoration: none;}
#company ol li {margin-left: 20px;list-style-type: decimal;}
#company ul li {position: relative;padding-left: 10px;list-style-type: none;}
#company ul li::before {content: '-';position: absolute;left: 0;}
@media all and (min-width: 0) and (max-width: 767px) {
	#company .message {
		margin-bottom: 40px;
		padding: 20px 10px 300px;
		background: url("../img/about/company/bg-sp.jpg") no-repeat right bottom / cover;
	}
	#company .message .name {margin: 30px 0 0;}
	#company th {display: block;width: 100%;padding: 10px;background: #F4F4F4;}
	#company td {display: block;width: 100%;padding: 10px;}
	#company tr:nth-child(1) td {border-top: none;}
}
/*--------------------------------------------------------

	MEMBER

--------------------------------------------------------*/
#main {margin-bottom: 0;}
.member .headLine04 {text-align: center;}
.member .imgBox {margin: 0 0 130px auto;width: 811px;}
.member .imgBox .photoBox {float: left;position: relative;}
.member .imgBox .photoBox .shadow {
	width: 100%;
	height: 100%;
	position: absolute !important;
	right: -17px;
	bottom: -20px;
	left: inherit !important;
	top: 22px;
	z-index: -1;
	background-color: #F4F4F4;
}
.member .imgBox .textBox {width: 424px;float: right;}
.member .imgBox .textBox p {font-size: 14px;line-height: 1.75;}
.member .imgBox .textBox .post {margin-bottom: -19px;line-height: 1.5;}
.member .imgBox .textBox h4 {margin: 34px 0 22px;font-size: 18px;}
.member .imgBox .textBox h4 .en {
	margin-top: 8px;
	display: block;
	font-size: 13px;
	font-weight: 300;
	font-family: 'urw-din', sans-serif;
}
.member .imgBox01 {margin-bottom: 103px;padding-right: 0;}
.member .imgBox02 {margin: 0 auto 103px 0;}
.member .imgBox:last-child {margin-bottom: 0 !important;}
@media all and (min-width: 0) and (max-width: 767px) {
	.member {width: auto;}
	.member .imgBox {margin: 0 0 30px !important;padding-right: 0 !important;width: auto !important;}
	.member .imgBox .photoBox {
		margin: 0 auto 30px;
		width: 300px;
		float: none !important;
		text-align: center;
	}
	.member .imgBox .photoBox img {max-width: 100%;}
	.member .imgBox .textBox {width: auto;float: none !important;}
	.member .imgBox .textBox p {font-size: 14px;}
	.member .imgBox .textBox .post {margin-bottom: -10px;}
	.member .imgBox .textBox h4 {margin: 15px 0;}
	.member .imgBox .textBox h4 .en {
		margin-top: 8px;
		display: block;
		font-size: 13px;
		font-weight: 300;
		font-family: 'Raleway', sans-serif;
	}
	.member .imgBox01 {margin-bottom: 103px;padding-right: 0;}
	.member .imgBox02 {margin: 0 auto 103px 0;}
}
/*--------------------------------------------------------

	HISTORY

--------------------------------------------------------*/
#history .txtbox {margin: 0 auto 6rem;padding-left: 6rem;}
#history .box {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #B7B7B7;
	height: 12rem;
}
#history .day {position: relative;color: #C7AC5E;font-size: 18px;}
#history .day::before {
	content: '';
	position: absolute;
	top: 1rem;
	left: -4rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: #C7AC5E;
}
#history .day::after {
	content: '';
	position: absolute;
	top: 1rem;
    left: -3.5rem;
    width: .1rem;
	height: 14rem;
	background: #C7AC5E;
}
#history .box:last-child .day::after {display: none;}
#history .box div {margin-left: 8rem;}
#history .box div a {text-decoration: underline;}
@media all and (min-width: 0) and (max-width: 767px) {
	#history .txtbox {padding-left: 0;}
	#history .box {display: block;height: auto;padding: 2rem 0;}
	#history .box div {margin: 0;}
	#history .day {font-size: 15px;}
	#history .day::before,
	#history .day::after {display: none}
	#history h3 {font-size: 13px;}
	#history .box div p {font-size: 13px;}
}
/*--------------------------------------------------------

	ACCESS

--------------------------------------------------------*/
#main .mapBox {margin: 40px auto 20px; max-width: 886px; position: relative;}
#main .mapBox h2{
	margin-bottom: 20px;
	font-family: 'urw-din', sans-serif;
	font-size: 28px;
	font-weight: 600;
	letter-spacing: .07em;
	text-align: center;
}
#main .mapBox .headLine04 {
	margin-left: -584px;
	width: 1168px;
	position: absolute;
	left: 50%;
	top: -55px;
	z-index: 1;
}
#main .mapBox #map {height: 60rem;} 
#main .mapBox .map img {width: 100%;vertical-align: top;}
#main .mapBox irame {width: 100%;height: 382px;vertical-align: top;}
#main .txtbox {padding: 0 3rem;}
#main .txtbox p span {display: block;}
#main .txtbox p a {border-bottom: 1px solid #6DA4DD;padding-bottom: 1px;color: #6DA4DD;}
@media all and (min-width: 0) and (max-width: 767px) {
	#main .mapBox {padding: 0;max-width: inherit;}
	#main .mapBox .headLine04 {
		margin-left: 0;
		width: auto;
		position: inherit;
		left: inherit;
		top: inherit;
		text-align: center;
	}
	#main .mapBox #map {height: 30rem;}
	#main .mapBox irame {height: 250px;}
	#main .txtbox {margin-bottom: 6rem;}
}

/*--------------------------------------------------------

	philosophy

--------------------------------------------------------*/
		.urbanist {
		  font-family: "Urbanist", sans-serif;
		  font-optical-sizing: auto;
		  font-weight: 500;
		  font-style: normal;
		}

		#philosophy {
            min-height: 100vh;
            padding: 60px 0;
        }
        .porpose,
        .mission,
        .vision {
            margin-bottom: 80px;
        }
        #philosophy h3 {
        	font-family: 'urw-din', sans-serif;
        	font-size: 32px;
        }
        #philosophy h4 {
        	font-size: 24px;
        	margin-bottom: 30px;
        	font-weight: bold;
        }
         #philosophy p {
        	font-size: 14px;
        	margin-bottom: 100px;
        }
         #philosophy .mission h4{
         	margin-bottom: 24px;
         } 
         #philosophy .vision h4 span {
         	font-family: "Urbanist", sans-serif;
         	font-size: 2em;
         	color: #1EA5CD;
         	font-weight: 500;
         } 
        #philosophy .philosophy-heading-list {
            list-style: none;
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 20px;
            max-width: 1000px;
            margin: 0 auto;
        }

        #philosophy .philosophy-heading-list li {
            width: 100%;
            height: 280px;
            padding: 20px;
            border: 1px solid #000000;
            position: relative;
            transition: all 0.3s ease;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            align-items: center;
            text-align: center;
        }

        #philosophy .philosophy-heading-list li:hover {
            background-color: #000000;
            color: #ffffff;
        }

        #philosophy .philosophy-heading-list li:nth-child(1),
        #philosophy .philosophy-heading-list li:nth-child(2),
        #philosophy .philosophy-heading-list li:nth-child(3) {
            grid-column: span 2;
        }

        #philosophy .philosophy-heading-list li:nth-child(4){
        	grid-column: 2 / 4;
        }
        #philosophy .philosophy-heading-list li:nth-child(5) {
            grid-column: 4 / 6;
        }

        #philosophy .list-number {
        	font-family: 'Urbanist', sans-serif;
            font-size: 30px;
            font-weight: 500;
            color: #1EA5CD;
            transition: opacity 0.3s ease;
            margin-bottom: 12px;
        }

        #philosophy .philosophy-heading-list li:hover .list-number {
            opacity: 0.6;
        }

        #philosophy .philosophy-heading {
            font-size: 1.8rem;
            font-weight: 600;
            line-height: 1.5;
            margin-bottom: 20px;
            display: block;
        }

        #philosophy .philosophy-txt {
            font-size: 14px;
            line-height: 1.7;
            margin-bottom: 0;
            text-align: left;
        }

        /*#philosophy .philosophy-txt {
            font-size: 0.9rem;
            line-height: 1.8;
            margin-bottom: 0;
        }*/
        
        /*--------------------------------------------------------
		    アコーディオン用のCSS
		--------------------------------------------------------*/
		#philosophy .accordion-content h5 {
            font-weight: 700;
            font-size: 1.4em;
            margin-bottom: 20px;
        }

		#philosophy .accordion {
		    overflow: hidden;
		}

		#philosophy .accordion-header {
		    /*background-color: #f8f9fa;*/
		    max-width: 280px;
		    padding: 10px 20px;
		    cursor: pointer;
		    font-size: 14px;
		    font-weight: bold;
		    display: flex;
		    justify-content: space-between;
		    align-items: center;
		    transition: background-color 0.3s ease;
		    border-bottom: 1px solid #ddd;
		    border-left: 1px solid #ddd;
		}

		#philosophy .accordion-header:hover {
		    background-color: #e9ecef;
		}

		#philosophy .accordion-header.active {
		    background-color: #000000;
		    color: #ffffff;
		}

		#philosophy .accordion-icon {
		    font-size: 18px;
		    transition: transform 0.3s ease;
		}

		#philosophy .accordion-header.active .accordion-icon {
		    transform: rotate(180deg);
		}

		#philosophy .accordion-content {
		    max-height: 0;
		    overflow: hidden;
		    transition: max-height 0.4s ease-out;
		    background-color: #ffffff;
		}

		#philosophy .accordion-content.active {
		    max-height: 2000px;
		    transition: max-height 0.4s ease-in;
		}

		#philosophy .accordion-content-inner {
		    padding: 20px;
		}

		#philosophy .accordion-content p {
		    margin-bottom: 16px;
		    line-height: 1.6;
		    font-size: 14px;
		}

		#philosophy .accordion-content p:last-child {
		    margin-bottom: 0;
		}
     /* レスポンシブ対応 */
    @media (max-width: 768px) {
		#philosophy h4 {font-size: 20px;}

        #philosophy .philosophy-heading-list {
            grid-template-columns: 1fr;
            gap: 15px;
        }
		#philosophy .philosophy-heading-list li {
            height: auto;
            min-height: 250px;
            padding: 25px 20px;
        }
        #philosophy .philosophy-heading-list li:nth-child(1),
        #philosophy .philosophy-heading-list li:nth-child(2),
        #philosophy .philosophy-heading-list li:nth-child(3),
        #philosophy .philosophy-heading-list li:nth-child(4),
        #philosophy .philosophy-heading-list li:nth-child(5) {
            grid-column: 1;
        }
		
        #philosophy .list-number {
            font-size: 22px;
            margin-bottom: 10px;
        }
        #philosophy .philosophy-heading {
            font-size: 20px;
            margin-bottom: 15px;
        }
		
		#philosophy .philosophy-txt {
            font-size: 14px;
            line-height: 1.6;
    }