﻿@charset "UTF-8";
/*sec01*/
#sec01{
	padding: 20vh 0 0;
}
#sec01 .wrap{
	max-width: 895px;
}
#sec01 .title_area{
	margin-bottom: 5%;
}
#sec01 .title_area p{
	margin-right: 0.5em;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1;
}
#sec01 .title_area .main_title{
	font-size: 1.2rem;
	font-weight: bold;
}
#sec01 .txt{
	margin-bottom: 10%;
}
#sec01 .txt p{
	line-height: 2.2;
	letter-spacing: 1.2px;
}
#sec01 .photo{
	width: 100%;
}
#sec01 .photo img{
	width: 100%;
}

/*sec02*/
#sec02{
	padding: 8% 0 7%;
}
#sec02 .wrap{
	max-width: 910px;
}
#sec02 .content{
	width: 100%;
}
#sec02 .content .title_area{
	margin-top: 0;
	margin-bottom: 5%;
}
#sec02 .content .title_area p{
	margin-right: 0.5em;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1;
}
#sec02 .content .title_area h2{
	font-size: 1.4rem;
	font-weight: bold;
}
#sec02 .content .txt p{
	font-size: 1.1rem;
	line-height: 2;
	letter-spacing: 1.0px;
}
#sec02 .content .txt .name {
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 1.5px;
    font-weight:bold;
    text-align:right;
}
#sec02 .image{
	width: 40%;
}
#sec02 .image .photo{
	margin-bottom: 3%;
}
#sec02 .image .photo img{
	width: 100%;
}
#sec02 .image .name{
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 2.6;
}
#sec02 .overview{
	padding-top: 5%;
	margin-top: 5%;
	border-top: 1px solid #1c3039;
}
#sec02 .overview h3{
	margin-bottom: 1.5em;
	font-size: 2rem;
	font-weight: bold;
}
#sec02 .overview dl dt{
	position: absolute;
	font-size: 1.2rem;
	font-weight: bold;
}
#sec02 .overview dl dd{
	padding-left: 5em;
	margin-bottom: 1em;
	font-size: 1.2rem;
	letter-spacing: 0;
}
#sec02 .overview dl dd span{
	font-size: 1rem;
}
#sec02 .overview + .tiles{
	margin-top: 5%;
}
#sec02 .tiles .tile{
	width: calc(96% /3);
	margin-bottom: 2%;
}
#sec02 .tiles .tile2{
	width: calc(96% /3);
	margin-bottom: 2%;
	margin-left: 16% ;
}
#sec02 .tiles .tile3{
	width: calc(96% /3);
	margin-bottom: 2%;
	margin-right: 16% ;
}

#sec02 .tiles .tile .name{
	margin-top: 3%;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 2;
}
#sec02 .tiles .tile2 .name {
    margin-top: 3%;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 2;
}
#sec02 .tiles .tile3 .name {
    margin-top: 3%;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 2;
}
#sec02 .tiles .tile .assign{
	margin-top: 3%;
	font-size: 1.0rem;
	line-height: 2;
	margin-bottom:15px;
}
#sec02 .tiles .tile2 .assign{
	margin-top: 3%;
	font-size: 1.0rem;
	line-height: 2;
	margin-bottom:15px;
}
#sec02 .tiles .tile3 .assign{
	margin-top: 3%;
	font-size: 1.0rem;
	line-height: 2;
	margin-bottom:15px;
}
#sec02 .txt p {
    font-size: 1.2rem;
    letter-spacing: 0;
    line-height: 180%;
}
#sec02 .tiles p img{
	width: 100%;
}
#sec02 .title_area{
	margin-top: 10%;
	margin-bottom: 5%;
}
#sec02 .title_area p{
	margin-right: 1em;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 0.7;
}
#sec02 .title_area h2{
	font-size: 1.2rem;
	font-weight: bold;
}
#sec02 .title_area + .tiles .name{
	margin-bottom: 5px;
}
.adviser .tile{
	display: flex;
	margin-bottom:30px;
}
@media screen and (max-width: 719px) {
.adviser .tile {
    flex-direction: column;
  }
.adviser .txt{
	padding-left:0px;
}
.comment{
margin-top:30px;
}
}
.adviser .profilephoto{
	flex:1;
}
.adviser .txt{
	flex:4;
	padding-left:20px;
}
.comment{
	font-style: italic;
	word-break:keep-all;
}
.comment span{
	font-size:3.0em
}
.adviser .name{
	font-weight:bold;
	margin-bottom:10px;
	text-align:right;
	padding-right:30px;
}
.adviser .assign{
	margin-bottom:5px;
	text-align:right;
	padding-right:30px;
}
/* ▼引用ボックス自体の装飾 */
.big-quotationmark {
    position: relative;        /* 後述の疑似要素の表示位置の基準にする(必須) */
    padding: 1em 3em;        /* 内側の余白(任意) */
}
/* ------------------------------------------ */
/* ▼引用ボックスの先頭(左上)に表示する文字▼ */
.big-quotationmark::before {
    content: "“";      /* 記号 */
    display: block;
    font-size: 300%;    /* 表示サイズ */
    color: #000;     /* 表示色 */
    position: absolute; /* 絶対配置 */
    top: 0px;           /* ボックス上端からの距離 */
    left: 5px;          /* ボックス左端からの距離 */
}
/* ------------------------------------------ */
/* ▼引用ボックスの末尾(右下)に表示する文字▼ */
.big-quotationmark::after {
    content: "”";      /* 記号 */
    display: block;
    font-size: 300%;    /* 表示サイズ */
    color: #000;     /* 表示色 */
    position: absolute; /* 絶対配置 */
    bottom: 0px;        /* ボックス下端からの距離 */
    right: 5px;         /* ボックス右端からの距離 */
}

/*sec03*/
#sec03{
	padding: 8% 0 10%;
	background: #e7e5de;
}
#sec03 .wrap{
	max-width: 1090px;
	width: 95%;
}
#sec03 .title_area{
	margin-bottom: 5%;
}
#sec03 .title_area p{
	margin-right: 1em;
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 0.7;
}
#sec03 .title_area h2{
	font-size: 1.2rem;
	font-weight: bold;
}
#sec03 .txt{
	margin-bottom: 5%;
}
#sec03 .txt p{
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 2.7;
}
#sec03 .tiles .tile{
	width: calc(96% /4);
	margin-bottom: 2%;
}
#sec03 .tiles .tile .name{
	margin-top: 3%;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2;
}
#sec03 .tiles .tile_in a{
	position: relative;
	display: block;
	opacity: .99;
	overflow: hidden;
}
#sec03 .tiles .tile_in a:before {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(28, 48, 57, 0.7);
	-webkit-transition-property: top, opacity;
        	transition-property: top, opacity;
	-webkit-transition-duration: 0.3s;
        	transition-duration: 0.3s;
	opacity: 0;
}
#sec03 .tiles .tile_in p img{
	width: 100%;
}
#sec03 .tiles .tile_in .details {
	position: absolute;
	top: 50%;
	left: 0;
	padding: 0 12%;
	-webkit-transform: translateY(-50%);
	   -moz-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	     -o-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 3;
}
#sec03 .tiles .tile_in .details p{
	display: block;
	font-size: 1rem;
	color: #fff;
	line-height: 1.9;
	-webkit-transition-property: top, opacity;
        	transition-property: top, opacity;
	-webkit-transition-duration: 0.3s;
        	transition-duration: 0.3s;
	-webkit-transition-delay: 0s;
        	transition-delay: 0s;
	opacity: 0;
}

#sec03 .tiles .tile_in a:hover{
	opacity: 1;
}
#sec03 .tiles .tile_in a:hover:before,
#sec03 .tiles .tile_in a:hover p {
  opacity: 1;
}
#sec03 .tiles .tile_in a:hover:before {
  top: 0;
}
#sec03 .tiles .tile_in .details p{
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

@media screen and (max-width: 1030px){
	#sec01{
		padding: 10vh 0 0;
	}
}

@media screen and (max-width: 896px){
	#sec01{
		padding: 25% 0 0;
	}
	#sec01 .title_area{
		display: block;
	}
	#sec01 .title_area p{
		margin-bottom: 0.2em;
	}

	#sec02 .wrap > .flex{
		display: block;
	}
	#sec02 .content{
		width: 100%;
		margin-bottom: 5%;
	}
	#sec02 .image{
		width: 100%;
		margin: auto;
	}
	#sec02 .image .photo{
		width: 100%;
		margin: 0 auto 3%;
	}
	#sec02 .image .name{
		text-align: center;
	}
	#sec02 .tiles .tile{
		width: 100%;
		margin-bottom: 5%;
	}
		#sec02 .tiles .tile2{
		width: 100%;
		margin-bottom: 5%;
		margin-left:0;
		}
		#sec02 .tiles .tile3{
		width: 100%;
		margin-bottom: 5%;
		margin-right:0;
		}
		#sec02 .tiles .tile p{
		width: 95%;
		margin: auto;
	}
	#sec02 .tiles .tile .txt{
		width: 95%;
		margin: auto;
	}
	#sec02 .tiles .tile .name{
		width: 100%;
		margin-top: 0;
		font-size: 1.2rem;
		padding-left:10px;
	}
	#sec02 .tiles .txt p{
		width: 100%;
	}
	#sec02 .title_area + .tiles .name{
		margin-top: 0.5em;
		margin-bottom: 0.5em;
	}

	#sec03 .tiles .tile{
		width: calc(96% /2);
	}
	#sec03 .tiles .tile_in .details{
		padding: 0 5%;
	}
}

@media screen and (max-width: 480px){
	#sec01{
		padding: 30% 0 0;
	}
	#sec01 .title_area,
	#sec02 .content .title_area,
	#sec03 .title_area{
		display: block;
	}
	#sec01 .title_area p,
	#sec02 .content .title_area p,
	#sec03 .title_area p{
		margin-bottom: 0.2em;
		font-size: 2rem;
	}
	#sec01 .txt p,
	#sec02 .content .txt p,
	#sec02 .image .name,
	#sec03 .txt p{
		font-size: 1rem;
		line-height: 1.8;
	}

	#sec02{
		padding: 10% 0;
	}
	#sec02 .overview h3{
		font-size: 1.6rem;
	}
	#sec02 .overview dl dt,
	#sec02 .overview dl dd{
		font-size: 1.2rem;
	}
	#sec02 .overview dl dt{
		position: relative;
		margin-bottom: 0.5em;
	}
	#sec02 .overview dl dd{
		padding-left: 0;
	}
	#sec02 .overview dl dd span{
		display: block;
		margin-top: 2%;
		font-size: 0.8rem;
	}

	#sec03 .tiles .tile{
		width: 100%;
		margin-bottom: 5%;
	}

	#sec03 .tiles .tile_in a > p{
		width: 50%;
		margin: 0 auto;
	}
	#sec03 .tiles .tile .name{
		font-size: 1.2rem;
		text-align: center;
		line-height: 1.8;
	}
	#sec03 .tiles .tile_in .details{
		padding: 0 5%;
	}
	#sec03 .tiles .tile_in .details p{
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 320px){
	#sec01 .title_area p, #sec02 .content .title_area p, #sec03 .title_area p{
		font-size: 1.8rem;
	}
	#sec03 .tiles .tile_in .details p{
		font-size: 1rem;
	}
}






























