@charset "utf-8";

/* 共通 */
body {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 1px;
    min-height:0;
    min-width : 0;

  
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue","Mplus 1p", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}
.hide {
    text-indent:100%;
    white-space:nowrap;
    overflow:hidden;
}

/* #top */
body {
    width:100%;
    height:100vh;
}
.outwrapper {
    width:100%;
    box-sizing:border-box;
    margin:auto;
    padding:60px 0 20px;
}
.flex {
    display:flex;
}
img {
    width:100%;
    max-width:100%;
    height:auto;
}

/* .top */
.header {
    width:100%;
    max-width:980px;
    margin:0 auto 60px;
}
.top_title {
    background:url(../img/top_title.png) no-repeat center/contain;
    height:70px;
    width:100%;
    max-width:360px;
    margin:0 0 30px 90px;
    box-sizing:border-box;
}
.top_text {
    font-size:23px;
    width:100%;
    max-width:800px;
    margin:0 auto 30px;
    line-height:1.4;
    padding:0 10px;
}
.figure_top {
    width:100%;
    max-width:980px;
    margin:auto;
}
.figure_top img {
    width:100%;
    max-width:100%;
    margin:auto;
}

/* con01 */
.con01 {
    width:100%;
    max-width:980px;
    margin:0 auto 60px;
}
.title_con {
    font-size:23px;
    letter-spacing:5px;
    margin:0 auto 20px;
    padding:0 20px;
    width:100%;
    max-width:760px;
}
.title_con_line {
    border-bottom:1px solid #000;
    position:relative;
    display:block;
    width:100%;
    max-width:760px;
    margin:0 auto 90px;
    padding:0 20px;
}
.title_con_line:after {
    content:'';
    display:block;
    box-sizing:border-box;
    width:1px;
    height:5px;
    background:#000;
    position:absolute;
    margin:auto;
    top:auto;bottom:-5px;right:auto;left:0;
}
.item {
    width:100%;
    max-width:800px;
    margin:0 auto 120px;
    padding:0 20px;
}
.item_name {
    border:1px solid #acacac80;
    padding:20px;
    margin:0 auto 30px;
}
.item_name .name {
    font-weight:600;
    font-size:23px;
    margin-bottom:10px;
    vertical-align:baseline;
    line-height:1.4;
}
.item_name .name_text {
    font-size:19px;
    line-height:1.6;
}
.item_name .name span {
    font-size:0.8em;
}

.kome {
    font-size:0.8em;
    vertical-align:5px;
}
.kome_text {
    font-size:0.6em;
    line-height:1.4;
    padding-left:10px;
    margin-top:5px;
}
.kome_text:before {
    content:'※';
    margin-left:-1em;
}

.item_img {
    justify-content:space-between;
    align-items:flex-end;
}
.item_img .left {
    width:100%;
    max-width:210px;
}
.item_img .right {
    width:100%;
    max-width:550px;
    padding-left:20px;
    box-sizing:border-box;
}
.item_pake {
    width:100%;
    max-width:230px;
    margin:0 auto 20px;
}
.item_pake img {
    margin-bottom:10px;
}
.link_konyu {
    display:block;
    text-align:center;
    padding:10px;
    box-sizing:border-box;
    border:1px solid #000;
    border-radius:5px;
    margin-bottom:20px;
    transition:0.3s;
    font-size:14px;
}
.link_movie {
    display:block;
    margin:auto;
    width:60px;
    height:60px;
    transition:0.3s;
}
a:hover {
    opacity:0.3;
}

/* footer */
footer {
  text-align:center;
    padding-bottom:20px;
}
footer ul {
  justify-content:center;
  align-items:center;
  margin-bottom:30px;
}
footer a {
  display:block;
  box-sizing:border-box;
  width:43px;
  height:43px;
  border-radius:3px;
  transition:0.3s;
}
footer a:hover {
  opacity:0.3;
}
footer .link_fb {
  background:url(../img/icon_fb.png) no-repeat center/contain;
}
footer .link_ig {
  margin-right:30px;
  background:url(../img/icon_ig.png) no-repeat center/contain;
}
footer .link_yt {
  background:url(../img/icon_yt.png) no-repeat center/contain;
  margin-right:30px;
}
footer .foo_text {
  font-size:12px;
  margin-bottom:10px;
    color:#727171;
}
footer .last_text {
  font-size:10px;
    color:#727171;
}
footer .nho_t {
  font-size:12px;
  margin:30px 0 10px;
    color:#727171;
}
footer .nho_link a {
  display:block;
  width:100%;
  height:100%;
  max-height:34px;
  max-width:300px;
  margin:0 auto 40px;
    padding:0 10px;
}
footer .pw_link a {
  display:block;
  width:100%;
  height:100%;
  max-height:58px;
  max-width:240px;
  margin:0 auto 40px;
    padding:0 10px;
}

/* topへ */
#page_top {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  opacity: 0.3;
  z-index:900;
  background:#000;
    border-radius:5px;
}
#page_top a {
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  text-decoration: none;
  color:#fff;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 30px;
  height: 30px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
.sp_on {
  display:none;
}
.sp_off {
}

/* nho_link */
footer .foo_text {
  font-size:15px;
  margin-bottom:10px;
    color:#727171;
}
footer .last_text {
  font-size:10px;
  margin-bottom:30px;
    color:#727171;
}
footer .nho_t {
  font-size:12px;
  margin:30px 0 20px;
    color:#727171;
}
footer .nho_link a {
  display:block;
  width:100%;
  height:100%;
  max-height:35px;
  max-width:300px;
  margin:0 auto 40px;
    padding:0 10px;
}
footer .nho_link a img {
    width:100%;
    max-width:100%;
}


/* サイズ別設定 */
@media screen and (max-width: 630px) {
  .br_off {
    display:none;
  }
}
@media screen and (max-width: 520px) {
}
@media screen and (max-width: 560px) {
    .sp_off {
        display:none;
    }
    .sp_on {
        display:block;
    }
    
    .item_img.flex {
        display:inherit;
    }
    .item_img .left,.item_img .right,.item_pake {
        max-width:100%;
    }
    .item_img .right {
        padding-left:0;
    }
    .link_movie {
        margin-bottom:20px;
    }
    .top_title {
        width:100%;
        height:0;
        padding:0 0 18.33%;
        margin:0 auto 30px;
    }
    .top_text {
        font-size:18px;
    }
    .item_name span {
        display:block;
    }
    .item_name .name_text {
        font-size:16px;
    }
    .item_name .name {
        margin-bottom:20px;
    }
    
}