@charset "utf-8";

/*-------------------------------
	メインタイトル
-------------------------------*/
.maintitle{
	margin-bottom:113px;
}

/*----- コピーライト */
.maintitle .copyright{
	justify-content:flex-end;
}

/*----- コンテンツ */

/* ビジュアル */
.maintitle .visual{
	background-image:url("../images/corporate/mt.png");
}
/* Retina */
@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
    .maintitle .visual{
        background-image:url("../images/corporate/mt@2x.png");
    }
}


/*-------------------------------
	共通
-------------------------------*/

/*----- セクションタイトル */
.sec-title{
	font-size:3.8rem;
	font-weight:500;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: .12em;
}
.sec-title::before{
	content: attr(data-en-title);
	display: block;
	font-size: 1.3rem;
	line-height: 1;
	margin-left: auto;
	margin-right: auto;
	margin-bottom:1em;
	font-family: 'Jost', sans-serif;
	letter-spacing:normal;
}

/*----- ボタン */
.button{
	display: flex;
}
.button a{
	font-size:1.4rem;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items:center;
	width:210px;
	height:50px;
	border:#1e1e1e solid 1px;
	border-radius: 25px;
	background: #1e1e1e url("../images/btn-arrow-wh.png") no-repeat 90% 50%/6px auto;
	font-weight:bold;
}
.button a:not(:last-child){
	margin-right:20px;
}
/* Retina */
@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
    .button a{
        background-image:url("../images/btn-arrow-wh@2x.png");
    }
}
.button a:hover{
	background-color:transparent;
	background-image:url("../images/btn-arrow-bk.png");
	color:#1e1e1e;
	opacity: 1;
}
/* Retina */
@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
    .button a:hover{
        background-image:url("../images/btn-arrow-bk@2x.png");
    }
}

/*----- テーブル */
.table-area{
	wwidth:100%;
	max-width:1000px;
	margin-right:auto;
	margin-left:auto;
}
.table-area .tbl{
	width:100%;
	font-size:1.4rem;
	line-height: 2.1;
}
.table-area .tbl th{
	border-bottom:#1e1e1e solid 1px;
	font-weight:bold;
	padding:.87em 0;
	width:165px;
}
.table-area .tbl td{	
	border-bottom:#e6e7e7 solid 1px;
	padding:.87em 1.3em;
}
.table-area .tbl tr:first-child th{
	border-top:#1e1e1e solid 1px;
}
.table-area .tbl tr:first-child td{	
	border-top:#e6e7e7 solid 1px;
}
.table-area .tbl .indent{
	display:inline-block;
	margin-left:-.5em;
}
.table-area .tbl .button{
	display:inline-block;
	margin-left:17px;
}
.table-area .tbl .button a{
	font-size:1.2rem;
	width:150px;
	height:30px;
	background-size:4px auto;
}


/*-------------------------------
	トップメッセージ (.sec1)
-------------------------------*/
.sec1{
	padding-bottom: 140px;
}

/*----- コンテンツ */
.message-conts{
	display: flex;
	justify-content: space-between;
}

/* イメージ */
.message-conts .image-area{
	width:440px;
	margin-left:100px;
}
.message-conts .image-area .image{
	width:100%;
	height:670px;
	position: relative;
	overflow:hidden;
	border-radius: 6px;
}
.message-conts .image-area .image img{
	width: auto;
	height: 100%;
	max-width: none;
	max-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	}
.message-conts .image-area .name{
	display:block;
	width:100%;
	position: absolute;
	right:0;
	bottom:0;
	color:#fff;
	font-family: 'Noto Serif JP', serif;
	font-weight:600;
	font-size:1.3rem;
	text-align: right;
	padding:15px 20px;
	text-shadow:0 0 4px rgba(0,0,0,.6);
	line-height: 1.8;
	letter-spacing: .09em;
}

/* テキスト */
.message-conts .text-area{
	width:calc(100% - 540px);
}
.message-conts .text-area .sec-title{
	margin-bottom:60px;
	letter-spacing:normal;
	margin-left:-.24em;
}
.message-conts .text-area .sec-title::before{
	margin-left:.7em;
}
.message-conts .text-area .ttl{
	font-size:3.4rem;
	line-height: 1.4;
	margin-bottom:35px;
	letter-spacing: .03em;
}
.message-conts .text-area .txt{
	font-size:1.4rem;
	line-height: 2;
	letter-spacing: -.07em;
}
.message-conts .text-area .txt p:not(:last-child){
	margin-bottom:1em;
}


/*-------------------------------
	企業理念 (.sec2)
-------------------------------*/
.sec2{
	padding-top: 150px;
	padding-bottom: 150px;
	background: #ebf1f5;
}

/*----- セクションタイトル */
.philosophy .sec-title{
	margin-bottom:60px;
	text-align: center;
}

/*----- コンテンツ */
.philosophy-conts{
    display: flex;
    flex-direction: column; /* ← これで縦並びになる */
}


/* イメージ */
.philosophy-conts .image-area{
    width:100%;        /* ← ここを変更する */
    padding-top:10px;
    margin-right:0;    /* ← 縦並びなので余白は不要 */
    position: relative;
}
.philosophy-conts .image-area .image{
	position: relative;
}

.philosophy-conts .image-area .image img{
	width:100%;
	height:auto;
}

/* テキスト */
.philosophy-conts .text-area{
    width:100%;        /* ← 画像と同じ幅にする */
}
.philosophy-conts .text-area .ttl{
	font-size:2.4rem;
	line-height: 1.4;
	margin-bottom:15px;
	letter-spacing: .03em;
}
.philosophy-conts .text-area .txt{
	font-size:1.4rem;
	line-height: 2;
	margin-bottom:35px;
	letter-spacing: -.07em;
}
.philosophy-conts .text-area .txt p:not(:last-child){
	margin-bottom:1em;
}


/*-------------------------------
	会社概要 (.sec3)
-------------------------------*/
.sec3{
	padding-top: 150px;
}

/*----- セクションタイトル */
.overview .sec-title{
	margin-bottom:65px;
	text-align: center;
}


/*-------------------------------
	沿革 (.sec4)
-------------------------------*/
.sec4{
	padding-top: 150px;
	padding-bottom: 150px;
}

/*----- セクションタイトル */
.history .sec-title{
	margin-bottom:65px;
	text-align: center;
}


/*-------------------------------
	ギャラリー (.sec5)
-------------------------------*/

/*----- リスト */
.gallery-list{
	display: flex;
	justify-content: space-between;
}
.gallery-list .list{
	width:calc(100% / 3);
	height:21.917vw;
}
.gallery-list .list .image{
	width:100%;
	height:100%;
	position: relative;
	overflow:hidden;
}
.gallery-list .list .image img{
	width: auto;
	height: 100%;
	max-width: none;
	max-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}


/*-------------------------------
	書籍紹介 (.sec6)
-------------------------------*/
.sec6{
	padding-top: 150px;
	padding-bottom: 120px;
	background: #f2f3f3;
}

/*----- ボックス */
.introduction-box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.introduction-box .box{
	width:calc((100% - 30px) / 2);
	margin-bottom:30px;
	background: #fff;
	border-radius: 6px;
	padding:40px;
	display: flex;
}

/* イメージ */
.introduction-box .image-area{
	width:125px;
	margin-right:35px;
}
.introduction-box .image-area .image img{
	width:100%;
	height:auto;
}

/* テキスト */
.introduction-box .text-area{
	width:calc(100% - 160px);
}
.introduction-box .text-area .ttl{
	font-size:1.8rem;
	line-height: 1.4;
	margin-bottom:20px;
	font-weight:bold;
}
.introduction-box .text-area .txt{
	font-size:1.4rem;
	line-height: 2;
}
.introduction-box .text-area .txt p:not(:last-child){
	margin-bottom:1em;
}


/*-------------------------------
	1110px以下
-------------------------------*/
@media screen and (max-width:1110px){
	
	/*-------------------------------
		トップメッセージ (.sec1)
	-------------------------------*/

	/* イメージ */
	.message-conts .image-area{
		margin-left:50px;
	}

	/* テキスト */
	.message-conts .text-area{
		width:calc(100% - 490px);
	}
	
	
	/*-------------------------------
		企業理念 (.sec2)
	-------------------------------*/
	/* イメージ */
	.philosophy-conts .image-area{
		margin-right:50px;
	}

	/* テキスト */
	.philosophy-conts .text-area{
		width:calc(100% - 415px);
	}
	
}


/*-------------------------------
	980px以下
-------------------------------*/
@media screen and (max-width:980px){
	
	/*-------------------------------
		トップメッセージ (.sec1)
	-------------------------------*/

	/* イメージ */
	.message-conts .image-area{
		width:40vw;
		margin-left:40px;
	}

	/* テキスト */
	.message-conts .text-area{
		width:calc(100% - (40vw + 40px));
	}
	.message-conts .text-area .ttl{
		font-size:3rem;
	}
	
	
	/*-------------------------------
		企業理念 (.sec2)
	-------------------------------*/
	
	/*----- コンテンツ */
	.philosophy-conts{
		flex-direction: column;
	}
	
	/* イメージ */
	.philosophy-conts .image-area{
		margin-right:0;
		margin-bottom:60px;
		width:100%;
	}
	.philosophy-conts .image-area .image{
		width:362px;
		margin-right:auto;
		margin-left:auto;
	}

	/* テキスト */
	.philosophy-conts .text-area{
		width:100%;
	}
	
	
	/*-------------------------------
		書籍紹介 (.sec6)
	-------------------------------*/
	
	/*----- ボックス */
	.introduction-box{
		display: block;
	}
	.introduction-box .box{
		width:100%;
		margin-bottom:0;
	}
	.introduction-box .box:not(:last-child){
		margin-bottom:30px;
	}

}


/*-------------------------------
	SP専用
-------------------------------*/
@media screen and (max-width:768px){
	
	/*-------------------------------
		メインタイトル
	-------------------------------*/
	.maintitle{
		margin-bottom:10vw;
	}
	

	/*-------------------------------
		共通
	-------------------------------*/

	/*----- セクションタイトル */
	.sec-title{
		font-size:4.8rem;
	}
	.sec-title::before{
		font-size: 2.1rem;
	}

	/*----- ボタン */
	.button{
		display: block;
	}
	.button a{
		width:80%;
		height:12vw;
		border-radius: 6vw;
		margin-right:auto;
		margin-left:auto;
		font-size:2.4rem;
	}
	.button a:not(:last-child){
		margin-bottom:5vw;
		margin-right:auto;
		margin-left:auto;
	}
	.button a:hover{
		background-color:#1e1e1e;
		background-image:url("../images/btn-arrow-wh.png");
		color:#fff;
	}
	/* Retina */
	@media only screen and (-webkit-min-device-pixel-ratio: 2) { 
		.button a:hover{
			background-image:url("../images/btn-arrow-wh@2x.png");
		}
	}

	/*----- テーブル */
	.table-area .tbl{
		font-size:2.3rem;
	}
	.table-area .tbl th{
		padding:.75em 0;
		width:25%;
	}
	.table-area .tbl td{	
		padding:.75em 1em;
	}
	.table-area .tbl .button{
		display:inline-block;
		margin-left:0;
		padding-top:.3em;
		padding-bottom:.3em;
	}
	.table-area .tbl .button a{
		font-size:2rem;
		width:40vw;
		height:8vw;
		background-size:6px auto;
	}


	/*-------------------------------
		トップメッセージ (.sec1)
	-------------------------------*/
	.sec1{
		padding-bottom: 15vw;
	}

	/*----- コンテンツ */
	.message-conts{
		flex-direction: column;
	}

	/* イメージ */
	.message-conts .image-area{
		width:100%;
		margin-left:0;
	}
	.message-conts .image-area .image{
		width:100%;
		height:120vw;
	}
	.message-conts .image-area .image img{
		width: 100%;
		height: auto;
		max-width: 100%;
		max-height: none;
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		}
	.message-conts .image-area .name{
		font-size:2.4rem;
		padding:4vw;
	}

	/* テキスト */
	.message-conts .text-area{
		width:100%;
		margin-bottom:7vw;
	}
	.message-conts .text-area .sec-title{
		margin-bottom:8vw;
	}
	.message-conts .text-area .sec-title::before{
		margin-left:.7em;
	}
	.message-conts .text-area .ttl{
		font-size:4rem;
		margin-bottom:5vw;
	}
	.message-conts .text-area .txt{
		font-size:2.4rem;
	}


	/*-------------------------------
		企業理念 (.sec2)
	-------------------------------*/
	.sec2{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}

	/*----- セクションタイトル */
	.philosophy .sec-title{
		margin-bottom:8vw;
	}

	/* イメージ */
	.philosophy-conts .image-area{
		margin-bottom:10vw;
	}
	.philosophy-conts .image-area .image{
		max-width:362px;
		width:70vw;
	}
	.philosophy-conts .image-area .image::before{
		font-size:2.8rem;
	}
	.philosophy-conts .image-area .image::after{
		font-size:2.6rem;
		margin-top:1em;
	}

	/* テキスト */
	.philosophy-conts .text-area{
		width:100%;
	}
	.philosophy-conts .text-area .ttl{
		font-size:4rem;
		margin-bottom:5vw;
	}
	.philosophy-conts .text-area .txt{
		font-size:2.4rem;
		margin-bottom:7vw;
	}


	/*-------------------------------
		会社概要 (.sec3)
	-------------------------------*/
	.sec3{
		padding-top: 15vw;
	}

	/*----- セクションタイトル */
	.overview .sec-title{
		margin-bottom:8vw;
	}


	/*-------------------------------
		沿革 (.sec4)
	-------------------------------*/
	.sec4{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}

	/*----- セクションタイトル */
	.history .sec-title{
		margin-bottom:8vw;
	}


	/*-------------------------------
		書籍紹介 (.sec6)
	-------------------------------*/
	.sec6{
		padding-top: 15vw;
		padding-bottom: 15vw;
	}

	/*----- ボックス */
	.introduction-box .box{
		padding:5vw;
		display:block;
	}
	.introduction-box .box:not(:last-child){
		margin-bottom:5vw;
	}
	.introduction-box .box:before{
		content:"";
		display: table;
	}
	.introduction-box .box:after{
		content:"";
		display: table;
		clear:both;
	}

	/* イメージ */
	.introduction-box .image-area{
		width:23vw;
		margin-right:5vw;
		float:left;
	}

	/* テキスト */
	.introduction-box .text-area{
		width:auto;
	}
	.introduction-box .text-area .ttl{
		font-size:2.8rem;
		margin-bottom:5vw;
		line-height: 1.8;
	}
	.introduction-box .text-area .txt{
		font-size:2.4rem;
	}


}