@charset "UTF-8";

/*-----------------------------------------------------	*/
/*	基本設定					                         */
/*-----------------------------------------------------	*/

html {
  -webkit-overflow-scrolling: touch; /* iosバグ回避　スマホスクロールスムーズにする */
  scroll-behavior: smooth; /* スムーススクロール */
}

body {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin: 0px;
  font-size: 1.1em;
  font-weight: 400;
  line-height: 1.7em;
  letter-spacing: 0.05em;
  background: #ffe8e8;
}

ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
	letter-spacing: -.40em; /* inline-block隙間除去 文字間を詰めて隙間を削除する */
}

ol {
    list-style-type: none;
    padding: 0px;
    margin: 0px;    
}

ul li {
	list-style-type: none;
	letter-spacing: normal; /* inline-block隙間除去 文字間を通常に戻す */
}

dt {
	font-weight: 600;
}

dl {
	margin: 0px;
}

dd {
	margin-left: 0px;
}

h1,h2,h3,h4,h5 {
    font-weight: 500;
}

h1,h2,h3,h4,h5,p {
  margin: 0px; /* 初期化 */
}

img {
	width:100%;
	max-width: 100%;
	height: auto;
	vertical-align:bottom; /* img隙間をなくす */
	border: 0px; /* IE10以下で画像周りの青い線を非表示 */
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
}

/* テーブル */
table {
    width: 100%;
}

table th {
    font-weight: 400;
}

table th,table td {
    line-height: 1.4em;
}

/* リンク設定
a:link		{ color:#333333; text-decoration: none; }
a:visited	{ color:#333333; }
a:hover		{ color:#5a5758; }
a:active	{ color:#333333; }

 */

/* フォーカスした際に線が入るのを消す処理 */
*:focus {
  outline: none;
}

/* float 解除 Clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* 改行 */
@media screen and (max-width: 767px) {
    .sp-br767 {
     display: none;   
    }
}

/* 中央揃え */
.text-align-out {
    text-align: center;
}

@media screen and (max-width: 767px) {
    body {
      font-size: 90%;
    }    
}

/* メニュー */
#menu-out {
    position: fixed;
	top: 0px;
    right: -50%;
    background: #e83435;
    width: 50%;
	height: 100vh;
    overflow-y: auto;
    opacity: 0;
    transition: .5s; /* アニメーション秒数 */
    z-index: 9998;
}
    
#menu-inner { /*　プルダウン表示見切れる回避処理 */
    height: 80vh; /* 外側より小さい値を入れる */
   /* overflow: auto;  overflowでスクロール処理 */
}

/* 黒バック */
#menu-cover {
    position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 9997;
	background: rgba(3,3,3,.5);
	display: none;
}

/*　文字サイズ */
.font-s {
    font-size: 70%;
}

/* マージン設定 */
.mt0 {
    margin-top: 0px !important; 
}

.mb0 {
    margin-bottom: 0px !important; 
}

.mt10 {
   margin-top: 10px !important;  
}

/* ブロックレベル要素 */
.dispaly-block {
    display: block;
}

/* inline-block化 */
.inline-block {
    display: inline-block;
}

/*-----------------------------------------------------	*/
/*	全ページ共通					                   　　　*/
/*-----------------------------------------------------	*/

/* 背景 */
#wrapper {
    position: relative;
    max-width: 1200px;
    margin: 0px auto;
    box-shadow: 0px 0px 16px -5px #000000;
    /*
    padding-bottom: 80px;
    */
    background: #a5011c;
}

/* 基本枠 */
.inner-width {
    max-width: 1200px;
    margin: 0px auto;
}


.main-con-inner {
    position: relative;
    z-index: 2;
    max-width: 950px;
    margin: 0px auto;
}

@media screen and (max-width: 1540px) {
    .inner-width {
        max-width: 1240px;
        margin: 0px 20px;
    }    
}

@media screen and (max-width: 990px) {
    .main-con-inner {
        margin: 0px 20px;
    }           
}


/* ヘッダー */
#head-sp {
    display: none;
}

/* フッター */
#footer-out {
    position: absolute;
    bottom: 0px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 340px;
    background: url("../images/common/footer-back.png") no-repeat center bottom #e75550;
    background-size: cover;
}
  
@media screen and (max-width: 767px) {
    #head-pctb {
        display: none;
    }            
    
    #head-sp {
        display: inline;
    }
    
    #footer-out {
        height: 200px;
    }
}

/* 見出し */
.basic-title01 {
    text-align: center;
    font-size: 1.9em;
    padding-top: 60px;
}

.basic-title01 h3 {
    display: inline-block;
    text-align: left;
    font-weight: bold;
    /*
  font-family: 'Noto Sans JP',"游ゴシック体", "游ゴシック", "YuGothic", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    */
    text-decoration: underline;
    line-height: 1.2em;
    /*
    color: white;
    */
    color: #000002;
}

@media screen and (max-width: 767px) {
    .basic-title01 {
        font-size: 1.6em;
    }
}

@media screen and (max-width: 350px) {
    .basic-title01 {
        font-size: 1.4em;
    }
}
        

/*-----------------------------------------------------	*/
/*	TOP					                   　　　*/
/*-----------------------------------------------------	*/

/* メインイメージ */
#main-img-sp {
    display: none;
}

@media screen and (max-width: 767px) {
    #main-img-pctb {
        display: none;
    }            
    
    #main-img-sp {
        display: inline;
    }
}

/* コピー部分 */
#copy-out {
    background: #2eacff;
	color: #fff;
    /*
    background: url("../images/common/yellow-back.jpg") no-repeat center center;
    background-size: cover;
    */
    font-weight: 700;
    padding: 10px 15px;
    font-size: 1.2em;
    text-align: center;
}

@media screen and (max-width: 1199px) {
    #copy-out {
        text-align: left;
    }
}


 /***　コンテンツ部分 ***/
#content-out {
    /*
    background: url("../images/common/back.png") repeat-y top center #a5011c;
    background-size: 100% auto;
    */
    background: #c7ffff;
    padding-bottom: 80px;
}

.bar-access-title {
    background: url("../images/common/moon-back.png") no-repeat center right 8px #fe5c83;
    background-size: 68px auto;
    color: white;
    font-size: 1.1em;
    line-height: 1.3em;
    padding: 7px 40px 7px 20px;
    outline: 2px solid #fe5c83;
}

.bar-con {
    background: white;
    outline: 2px solid white;
    margin-top: 35px;
}

.bar-photo-text-out {
    display: table;
    width: 100%;
    vertical-align: top;
    padding: 10px;
}

.bar-photo {
    display: table-cell;
    width: 38%;
    vertical-align: top;
    padding-right: 2%;
}

.bar-photo img {
    /* ホバーゆっくり */
    -moz-transition-duration:0.3s;
    -webkit-transition-duration:0.3s;
    -o-transition-duration:0.3s;
    -ms-transition-duration:0.3s;    
}

.bar-photo img:hover {
    opacity: 0.8;
}

.bar-text-out {
    display: table-cell;
    vertical-align: top;
    font-weight: 700;
}

.bar-catch {
    font-size: 1.5em;
    color: #fe5c83;
    line-height: 1.3em;
    font-weight: 700;
    margin-top: 5px;
}

.bar-name {
    font-size: 1.4em;
    margin-top: 10px;
}

.bar-name a {
    text-decoration: none;
    color: black;    
}

.bar-name a:hover {
    text-decoration: underline;
}

.yosan-text {
    font-size: 1.2em;
    margin-top: 5px;
}

.bar-link {
    text-align: right;
    padding-right: 5px;
}

.bar-link a {
    color: #fe5c83;
    font-size: 1.1em;
    text-decoration: none;
    margin-top: 5px;
}

.bar-link a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 950px) {
    .bar-photo-text-out {
        display: block;
    }

    .bar-photo-text-out {
        padding: 20px;
    }
    
    .bar-photo {
        display: block;
        width: 100%;
        padding-right: 0px;
        text-align: center;
    }
    
    .bar-photo img {
        display: inline;
        max-width: 500px;
    }
    
    .bar-text-out {
        display: block;
    }
    
    .bar-catch {
        text-align: center;
        margin-top: 10px;
    }
    
    .bar-link {
        padding-right: 0px;
    }
}

@media screen and (max-width: 767px) {
    .bar-con {
        outline: 1px solid white;
        margin-top: 30px;
    }    
    
     .bar-photo-text-out {
        padding: 15px;
    } 
    
    .bar-access-title {
       padding: 7px 30px 7px 10px;
        background: url("../images/common/moon-back.png") no-repeat center right 5px #fe5c83;
        background-size: 46px auto;
    }
    
    .bar-catch {
        text-align: left;
        font-size: 130%;
    }
    
    .bar-catch h5 {
        text-align: left;
    }
    
    .bar-link {
        margin-top: 10px;
    }
}