@charset "UTF-8";

/* contents
===================================*/
#contents.about{
    padding-bottom: 4em;
}
@media screen and (max-width: 768px) {
#contents.about{
    padding-bottom: 2em;
}
}

/* mainimage
===================================*/
#mainimage.about{
	height: 580px;
    background-image: url("../images/about/MainVisual.png");
	background-position: center bottom;
}

@media screen and (max-width: 768px) {
#mainimage.about {
    height: 380px;
  }
}
#mainimage.about .logo{
    position: absolute;
    max-width: 1100px;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    top: 38%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
/*#mainimage.about .logo{
    top: 38%;
}*/
}

#mainimage.about .logo p{
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-size: 3.4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #FFFFFF;
	text-align: center;
}
@media screen and (max-width: 768px) {
#mainimage.about .logo p{
    font-size: 1.6rem;
}
}

#mainimage .ttl-eng {
	max-width: 1600px;
	margin: 0 auto;
	padding: 40px;
}


@media only screen and (min-width:1px) and (max-width:768px) {
#mainimage .ttl-eng {
	padding: 20px;
}
} /*@mediaEnd*/

/* about
===================================*/

#about {
    width: 100%;
    position: relative;
    z-index: 2;
    margin-top: -80px;
}
@media screen and (max-width: 768px) {
#about {
    margin-top: -40px;
}
}

#about .inner {
    /*max-width: 1180px; /*1100px*/
	max-width: 1360px; /*1280*/
}

#about p.eng {
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-align: center;
	margin-top: 2em;
}
@media screen and (max-width: 768px) {
#about p.eng {
	font-size: 1.2rem;
}
}

#about .contbox {
    width: 100%;
	/*max-width: 1000px;*/
	max-width: 1080px;
    margin: 8em auto;
    position: relative;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
	align-items: center;
}

#about .contbox.rev {
    flex-direction:row-reverse; 
}

@media screen and (max-width: 1080px) {
#about .contbox {
	align-items: flex-start;
}
}

@media screen and (max-width: 768px) {
#about .contbox {
    margin: 4em auto 0;
}
}

#about .imgbox{
	width: 30%;
	/*max-width: 300px;*/
}

#about .imgbox img{
	max-width: 100%;
}

@media screen and (max-width: 480px) {
#about .imgbox{
    width: 100%;
	/*max-width: 160px;*/
	max-width: 100%;
	margin-bottom: 2em;
}
}

#about .txtbox{
	width: 62%;
	/*max-width: 600px;*/
}
@media screen and (max-width: 480px) {
#about .txtbox{
    width: 100%;
}
}

#about p{
	font-size: 1.6rem;
    line-height: 2.0;
    text-align: justify;
    margin-bottom: 2em;
}

@media screen and (max-width: 480px) {
#about p{
	font-size: 1.4rem;
}
}

#about p.lead{
    text-align: center;
	margin-top: 3em;
}
@media screen and (max-width: 768px) {
#about p.lead{
    text-align: justify;
	margin-top: 2em;
}
}

#about .head{
	max-width: 1000px;
	margin: 6em auto 0;
    text-align: center;
}
@media screen and (max-width: 480px) {
#about .head{
	margin: 3em auto 0;
}
}

#about .head img{
    max-width: 100%;
}

/* information 

#about .information{
    max-width: 740px;
    width: auto;
    margin: 3em auto 0;
}

#about .information dl{
	margin-bottom: 1em;
    display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

#about .information dl:last-child{
	margin-bottom: 0;
}

#about .information dt,
#about .information dd{
    font-size: 1.8rem;
    font-weight: 500;
    vertical-align: top;
}

#about .information dt{
    width: 160px;
    font-weight: 400;
    background-color: #FFFFFF;
    border: 1px solid #072076;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
    text-align: center;
    color: #072076;
    margin-right: 40px;
}

#about .information dd{
    width: calc(100%-200px);
	text-align: left;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px;
}

@media screen and (max-width: 768px) {
#about .information dt,
#about .information dd{
    font-size: 1.4rem;
}
#about .information dt{
    width: 100%;
    margin: 0 auto;
}
#about .information dd{
    width: 100%;
    margin: 0 auto;
}
}
*/


/* history
===================================*/

.history {
    width: 100%;
}

.history .inner{
	max-width: 1360px; /*1280*/
}

@media only screen and (max-width: 768px){
.history .inner {
}
}

.history h3 {
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-size: 3.2rem!important;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-align: left;
	margin-bottom: 1.5em!important;
}

.history h3 span{
    font-size: 2.4rem;
}

.history h4 {
	font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: left;
	margin-bottom: 1em;
}

@media only screen and (max-width: 768px){
.history h3{
    font-size: 2.2rem!important;
}
.history h3 span{
    font-size: 1.6rem!important;
}
.history h4{
    font-size: 1.6rem;
}
}

.flow_wrap {
    width: 100%;
    padding: 30px 0;
	text-align: center;
}
@media only screen and (max-width: 768px){
.flow_wrap {
    padding: 30px 0;
}
}

.flow {
	width: 100%;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media only screen and (max-width: 768px){
.flow {
    width: 100%;
}  
}

.flow::before{
    position: absolute;
    content: "";
    background-color: #707070;
    top: 0;
    left: 120px;
	transform: translateX(-50%);
	width: 1px;
    height: 100%;
}
@media only screen and (max-width: 768px){
.flow::before{
    left: 50px;
}
}

.flow .item{
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-bottom: 6em;
}

.flow .item:first-child{
	padding-top: 3em;
}
.flow .item:last-child{
	margin-bottom: 3em;
}

@media only screen and (max-width: 768px){
.flow .item{
	margin-bottom: 3em;
}
.flow .item:first-child{
	padding-top: 1em;
}
.flow .item:last-child{
	margin-bottom: 1em;
}
}

/*
.flow .item.rev{
	flex-direction:row-reverse;
	margin-right: auto;
}
*/
.flow .item p.chapter{
	/*font-family: 'Shippori Mincho B1', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "ＭＳ 明朝", "MS Mincho", serif;*/
	font-family: 'Oswald', 'Noto Sans JP', "Helvetica Neue", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
	font-size: 2.0rem;
	font-weight: 400;
	width: 140px;
	height: 36px;
	line-height: 36px;
	position: relative;
	text-align: left;
}

.flow .item p.chapter::before{
	position: absolute;
	content: '';
	width: 40px;
	height: 1px;
	background-color: #707070;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
@media only screen and (max-width: 768px){
.flow .item p.chapter::before{
	width: 20px;
}
}

.flow .item p.chapter span{
	font-size: 2.4rem;
}
@media only screen and (max-width: 768px){
.flow .item p.chapter{
	font-size: 1.2rem;
	width: 60px;
	height: 36px;
	line-height: 1.5;
	text-align: right;
	padding-right: 30px;
}

.flow .item p.chapter::before{
	width: 20px;
}

.flow .item p.chapter span{
	display: block;
	font-size: 1.4rem;
}
}


.flow .item .detail{
	width: calc(100% - 140px);
	padding-left: 80px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
@media only screen and (max-width: 768px){
.flow .item .detail{
	width: calc(100% - 60px);
	padding-left: 20px;
}
}

.flow .item .detail .col-2{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flow .item .detail .col-2 .col-img{
	width: 34%;
    max-width: 360px;
}
@media only screen and (max-width: 768px){
.flow .item .detail .col-2 .col-img{
	width: 100%;
    margin-bottom: 1.5em;
}
}

.flow .item .detail .col-2 .col-img img{
	max-width: 100%;
}

.flow .item .detail .col-2 .col-txt{
	width: 62%;
    max-width: 680px;
	text-align: left;
}
@media only screen and (max-width: 768px){
.flow .item .detail .col-2 .col-txt{
	width: 100%;
}
}

.flow .item .detail .col-2 .col-txt p{
	color: #4B4B4B;
	line-height: 2.0;
}
@media only screen and (max-width: 768px){
.flow .item .detail .col-2 .col-txt p{
	font-size: 1.4rem;
	line-height: 1.8;
}
}
