@charset "utf-8";


/*　タイアップサイト用
-------------------------------------------------*/
@media screen and (min-width:768px) {
	body {
	  text-align:center;
	}
}

body {
	text-align:center;
  text-align:center;
  color:#000;
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight:500;
  font-size:14px;
  line-height:1.8em;
  width:100%;
  overflow-x:hidden;
}


@media all and (-ms-high-contrast:none){
  body { 
	  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   } 
}

@media screen and (min-width:950px) {
	body {
		font-size: 17px;
	}
}

#tieup a:link,
#tieup a:visited {
  color:#03030;
}

#tieup a:link {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
  -khtml-opacity: 1;
  -moz-opacity: 1;
  transition:0.5s
}

#tieup a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -khtml-opacity: 0.7;
  -moz-opacity: 0.7;
  transition:0.5s
}

#tieup * {
	box-sizing: border-box;
}

img {
	max-width:100%;
	height: auto;
}

#tieup a:hover {
  text-decoration:none;
  color:#ccc;
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
  -khtml-opacity: 0.5;
  -moz-opacity: 0.5;
  transition:0.5s;
}


/*　枠組み
----------------------------------------------------------*/

.container {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	text-align: justify;
	line-height: 1.8;
    padding-left: 25px;
    padding-right: 25px;
}

/*タブレット対応*/
@media screen and (min-width:758px) {
    
  .container {
       max-width: 650px;
       margin-left: auto;
       margin-right: auto ;
    }  
}

@media screen and (min-width:950px) {
    
    .container {
        max-width: 750px;
        box-sizing: content-box !important;
    }
    
    .container--920 {
        max-width: 920px;
    }
}


/*mainv*/

.mainv {
    width: 100vw;
    height: 50vw;
    background: url("mainv.jpg") no-repeat center center;
    background-size: cover;
}

.bg-green {
    background: #074944;
    color: #FFF;
    text-align: center;
}

.mainv-logo {
    width: 70vw;
    margin: -6.2vw auto 10px auto;
    text-align: center;
}

.lead {
    text-align: justify;
    font-weight: bold;
    font-size: 103%;
    padding: 20px 0 35px 0;
    line-height: 1.5;
}

.mainv-ttl img {
    width: 100%;
    max-width: 600px;
}

@media screen and (min-width:950px) {
    .mainv {
        height: 38vw;
        max-height: 500px;
    }
    
    .mainv-logo {
        width: auto;
        margin: -54px auto 15px auto;
    }
    
    .lead {
        padding: 35px 0 60px;
    }
}



/*２段組*/
@media screen and (min-width:758px) {
 
    .c-d-md-flex {
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    
    .sec-01-txt {
        width: 49%;
    }
    
    .sec-01-img {
        width: 43.5%;
    }
}

/*写真*/

.img-02-caption {
    line-height: 1.5;
    font-size: 85%;
    padding-top: 0.8em;
}

@media screen and (min-width:758px) {
    .img-02 {
        padding: 0 50px;
    }
}


/*本文*/

.ttl-01 {
    font-weight: bold;
    color:#074944 ;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 20px;
}

.ttl-01 h2 {
    padding: 0 0 10px 0;
    border-bottom: 3px solid #074944 ;
}

.txt-01 + .txt-01 {
    padding-top: 20px;
}
@media screen and (min-width:500px) {
    .ttl-01 h2 {
        display: inline-block;
        padding: 0 15px 15px 15px;
        border-bottom: 3px solid #074944 ;
    }  
}

@media screen and (min-width:950px) {
    .ttl-01 {
        font-size: 31px;
        margin-bottom: 45px;
    }
    
    .ttl-01 h2 {
        display: inline-block;
        padding: 0 25px 20px 25px;
        border-bottom: 5px solid #074944 ;
    }  
    
    .txt-01 + .txt-01 {
        padding-top: 35px;
    }
}



/*profile*/

.profile {
    line-height: 1.3;
}

.profile-ttl {
    font-weight: bold;
    padding: 1em 0 0.2em;
}

.profile-name {
    font-weight: bold;
}

.profile-name span {
    font-size: 1.3em;
}

.profile-detail {
    font-size: 90%;
    line-height: 1.4;
    padding-top: 0.8em;
    text-align: left;
}


@media screen and (max-width:757.9px) {
    
    .profile {
        padding: 0 20px 30px 20px;
    }
    
    .profile-img {
        text-align: center;
    }
    
    .profile-img img {
        width: 80%;
        max-width: 400px;
    }
    
    .profile-name, .profile-ttl {
        text-align: center;
    }
    
}

/*フッター*/

.footer {
    text-align: center !important;
    padding-bottom: 35px;
}

.btn-01 {
    text-align: center;
}

.btn-01 li {
    padding-bottom: 20px;
}

.btn-01 a {
    display: inline-block;
    width: 95%;
    max-width: 524px;
    padding: 15px;
    background: url("bg_btn.svg") no-repeat right center;
    background-size: cover;
    color: #FFF;
    font-weight: bold;   
    text-decoration: none;
    line-height: 1.2;
    margin-left: auto;
    marign-right:auto;
    box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}

.footer-txt {
    color: #444;
    line-height: 1.5;
}

.footer-logo img {
    width: 75%;
    max-width: 335px;
}

.footer-img {
    width: 100vw;
    height: 30vw;
    background: url("img_03.jpg") no-repeat center center;
    background-size: cover;
}

@media screen and (min-width:758px) {
    
    .footer {
        padding-bottom: 80px;
    }
    
    .btn-01 a {
        padding: 20px 0;
        font-size: 22px;
    }
    
    .footer-img {
        height: 31vw;
        max-height: 426px;
    }
}

.bg-01 {
    background: url("bg-01.svg") left top repeat-y;
    background-size: 130% auto;
}


