@charset "UTF-8";
/* CSS Document */

#sec01 {
	background-image: url("../img/bg-01.jpg");
	background-position: center top;
	background-size: cover;
	color: #fff;
	padding-bottom: 10%;
}
.pageTit {
	padding: 8% 0 0%;
}
#sec01 .pageTit p.engTxt {
	position: absolute;
	font-size: clamp(28px, 6vw, 50px);
	left: 1em;
	top: 1em;
}
.pageTit h3 {
	text-align: center;
	font-size: 32px;
	line-height: 2;
	padding: 2em 0 2em;
	letter-spacing: 0.2em;
}
#sec01 .cnt01 {
	background-color: #000;
	padding: 3% 0;
}
#sec01 .cnt01 .lead,
#sec02 .cnt02 .lead{
	text-align: center;
	font-size: 21px;
	line-height: 2;
	padding: 1em 0 1em;
}
#sec01 .cnt01 > div,#sec02 .cnt02 > div {
	max-width: 960px;
	margin: 0 auto;
}
#sec01 .cnt01 .flex {
	padding: 30px 0;
}
#sec01 .cnt01 .flex .itemBox {
	width: 47%;
}
#sec01 .cnt01 .flex .itemBox .imgBox {
	width: 37%;
}
#sec01 .cnt01 .flex .itemBox .txtBox {
	width: 60%;
}
#sec01 .cnt01 .flex .itemBox .txtBox .cap,
#sec02 .cnt02 .flex .txtBox .cap{
	font-size: 13px;
	line-height: 1.3;
	display: flex;
	align-items: center;
	height: 3em;
	letter-spacing: 0.1em;
}
#sec01 .cnt01 .flex .itemBox .txtBox .name,
#sec02 .cnt02 .flex .txtBox .name{
font-size: 20px;
	line-height: 1.3;
	padding: 0.5em 0;
	letter-spacing: 0.4em;
}
#sec01 .cnt01 .flex .itemBox .txtBox .name span,
#sec02 .cnt02 .flex .txtBox .name span {
font-size: 65%;
	display: block;
	letter-spacing: 0.1em;
		
}
#sec01 .cnt01 .flex .itemBox .txtBox .desc,
#sec02 .cnt02 .flex .txtBox .desc {
font-size: 13px;
}

#sec01 .matBox {
	padding: 30px 0;
	border-top: #990 solid 1px;
	border-bottom: #990 solid 1px;
}
#sec01 .matBox dl {
	width: 44%;
}
#sec01 .matBox dt,
#sec02 .flex02 dt,
#sec02 .cnt02 .div02 dt {
	font-size: 18px;
	padding-bottom: 0.5em;
	line-height: 1.3;
}
#sec01 .matBox dd,
#sec02 .flex02 dd,
#sec02 .cnt02 .div02 dd {
	font-size: 13px;
}
#sec01 .matBox .imgWrap {
	width: 54%;
}
#sec01 .matBox .imgWrap .imgBox {
	width: 22%;
	max-width: 122px;
}

#sec01 .gaikanBox,#sec02 .gaikanBox {}
#sec01 .gaikanBox h4,
#sec02 .gaikanBox h4 {
	text-align: center;
	font-size: 30px;
	padding: 1em 0;
}
#sec01 .gaikanBox .flex,
#sec02 .gaikanBox .flex {
	position: relative;
	padding-top: 0!important;
}
#sec01 .gaikanBox .flex .imgBox,
#sec02 .gaikanBox .flex .imgBox {
	width: 50%;
}
#sec01 .gaikanBox .flex p.kakudai,
#sec02 .gaikanBox .flex p.kakudai{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(255,255,255,0.7);
	color: #000;
	font-size: 16px;
	height: 2.5em;
	width: 20em;
}

#sec02 {
	background-image: url("../img/bg-02.jpg");
	background-position: center top;
	background-size: cover;
	color: #fff;
	padding-bottom: 10%;
}
#sec02 .cnt02 {
	background: #FFFFFF;
background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(231, 228, 207, 1) 100%);
	color: #000;
	padding: 3% 5%;
}
#sec02 .cnt02 .flex {
	padding: 5% 0;
}
#sec02 .cnt02 .flex h4 {
	width: 100%;
	color: #706951;
	font-size: 30px;
	padding-bottom: 0.3em;
}
#sec02 .cnt02 .flex .phBox {
	width: 19%;
}
#sec02 .cnt02 .flex .txtBox {
	flex: 1;
	padding: 0 5%;
}
#sec02 .cnt02 .prof .imgBox {
	width: 41.4%;
	max-width: 397px;
}
#sec02 .cnt02 .flex02,
#sec02 .cnt02 .div02 {
	padding: 30px 0;
	border-top: #231815 solid 1px;
	border-bottom: #231815 solid 1px;
}
#sec02 .cnt02 .flex02 .imgWrap {
	width: 41.4%;
	max-width: 397px;
	
}
#sec02 .cnt02 .flex02 dd .cap {
	display: block;
	font-size: 11px;
}
#sec02 .cnt02 .flex02 .imgWrap .itemBox {
	width: 48%;
	max-width: 194px;
}
#sec02 .cnt02 .flex02 .imgWrap .itemBox p {
	font-size: 13px;
}
#sec02 .cnt02 .flex02 dl {
	flex: 1;
	padding-right: 5%;
	
}
#sec02 .cnt02 .div02 {}

@media screen and (max-width: 959px) {
	#sec01 .pageTit p.engTxt {
		font-size: clamp(28px, 3.8vw, 30px);
	}
	.pageTit h3,
	#sec01 .gaikanBox h4, #sec02 .gaikanBox h4{
		font-size: clamp(20px, 2.7vw, 22px);
	}
	
	#sec01 .cnt01 .lead, #sec02 .cnt02 .lead {
		font-size: clamp(14px, 2vw, 16px);
		padding: 1em 2em;
	}
	#sec01 .cnt01 .flex,
	#sec01 .cnt01 > div, #sec02 .cnt02 > div {
		width: 90%;
		align-items: flex-start;
	}
	#sec01 .cnt01 .flex .itemBox {
    width: 45%;
		
	}
	#sec01 .cnt01 .flex .itemBox .imgBox {
		width: 50%;
		margin: 0 auto;
	}
	#sec01 .cnt01 .flex .itemBox .txtBox {
		width: 100%;
	}
	#sec01 .cnt01 .flex .itemBox .txtBox .cap,
		#sec02 .cnt02 .flex .txtBox .cap{
			justify-content: center;
			text-align: center;
		}
	#sec01 .cnt01 .flex .itemBox .txtBox .name,
	#sec02 .cnt02 .flex .txtBox .name{
	text-align: center;
	}
	#sec01 .cnt01 .flex .itemBox .txtBox .name span,
	#sec02 .cnt02 .flex .txtBox .name span {
		text-align: center;

	}
	
	#sec01 .matBox dt, #sec02 .flex02 dt, #sec02 .cnt02 .div02 dt {
		font-size: clamp(14px, 2vw, 16px);
	}
	#sec01 .matBox dd, #sec02 .flex02 dd, #sec02 .cnt02 .div02 dd {
    font-size: clamp(12px, 1.7vw, 14px);
	}
	#sec01 .matBox dl {
    width: 100%;
	}
	#sec01 .matBox .imgWrap {
    width: 70%;
		margin: 0 auto;
		padding-top: 10px;
	}
	#sec01 .cnt01 .flex {
		width: 100%;
	}
	#sec02 .cnt02 .flex .phBox {
		width: 25%;
	}
	#sec02 .cnt02 .flex .txtBox {
		flex: 1;
		padding: 0 5%;
	}
	#sec02 .cnt02 .prof .imgBox {
		width: 100%;
		max-width: 100%;
		padding: 3% 15%;
	}
	#sec02 .cnt02 .flex02 dl {
		flex: none;
		width: 100%;
		padding-right: 0;

	}
	#sec02 .cnt02 .flex02 .imgWrap {
		padding-top: 20px;
    width: 70%;
    max-width: 100%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 599px) {
	#sec01 .pageTit p.engTxt {
		font-size: 24px;
		font-size: clamp(23px, 6.4vw, 25px);
		width: 100%;
		text-align: center;
		left: 0;
	}
	.pageTit h3,
	#sec01 .gaikanBox h4, #sec02 .gaikanBox h4{
		font-size: 19px;
		font-size: clamp(18px, 5.1vw, 20px);
		letter-spacing: 0em;
		padding: 3em 0 2em;
		line-height: 1.5;
	}
	
	#sec01 .cnt01 .lead, #sec02 .cnt02 .lead {
		font-size: 15px;
		font-size: clamp(14px, 4vw, 16px);
		padding: 1em 0em;
	}
	#sec01 .cnt01 .flex,
	#sec01 .cnt01 > div, #sec02 .cnt02 > div {
		width: 90%;
		align-items: flex-start;
	}
	#sec01 .cnt01 .flex .itemBox {
    width: 45%;
		
	}
	#sec01 .cnt01 .flex .itemBox {
    width: 100%;
		padding: 15px 0;
  }
	    #sec01 .cnt01 .flex .itemBox .txtBox {
       padding-top: 10px;
    }
	    #sec01 .matBox .imgWrap {
        width: 100%;
    }
	#sec01 .matBox dt, #sec02 .flex02 dt, #sec02 .cnt02 .div02 dt {
		font-size: 15px;
		font-size: clamp(14px, 4vw, 16px);
		text-align: center;
	}
	#sec01 .matBox dd, #sec02 .flex02 dd, #sec02 .cnt02 .div02 dd {
    font-size: 13px;
		font-size: clamp(12px, 3.5vw, 14px);
	}
	#sec01 .gaikanBox, #sec02 .gaikanBox {
		/*width: 100%!important;*/
		display: block;
	}
	#sec01 .gaikanBox div, #sec02 .gaikanBox div {
		width: 100%!important;
		margin-bottom: 20px;
	}
	#sec01 .gaikanBox h4, #sec02 .gaikanBox h4 {
		padding: 1em 0;
	}
	#sec01 .gaikanBox .flex p.kakudai, #sec02 .gaikanBox .flex p.kakudai{
		display: none;
	}
	#sec02 .cnt02 > div {
		display: block;
		width: 100%;
	}
	    #sec02 .cnt02 .flex .phBox {
        width: 50%;
				margin: 0 auto;
    }
	    #sec02 .cnt02 .flex .txtBox {
				width: 100%;
				padding: 0;
	}
	#sec02 .cnt02 .flex h4 {
		font-size: clamp(23px, 6.4vw, 25px);
		text-align: center;
	}
	#sec02 .cnt02 .prof .imgBox {
     padding: 5% 0%;
    }
	#sec02 .flex02 dt,#sec02 .cnt02 .div02 dt {
		font-size: 17px;
		font-size: clamp(16px, 4.6vw, 18px);
	}
	#sec02 .cnt02 .flex {
    padding: 5% 0 0;
		margin-bottom: 0;
	}
	    #sec02 .cnt02 .flex02 .imgWrap {
       width: 100%;
    }
	#sec02 .cnt02 .flex02 .imgWrap .itemBox p {
    font-size: 13px;
		font-size: clamp(12px, 3.5vw, 14px);
	}
	#sec01 .gaikanBox a, #sec02 .gaikanBox a {
		pointer-events: none;
	}
}

