@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:20px 0;
}
.flex {
    display:flex;
}
figure img {
    width:100%;
    max-width:100%;
    height:auto;
}

/* .top */
nav {
  width:100%;
    max-width:780px;
    margin-bottom:-20px;
    justify-content:space-between;
    padding:0 20px;
    box-sizing:border-box;
    margin:auto;
  /*position:fixed;*/
}
nav a {
    display:block;
    transition:0.3s;
    line-height:0.7em;
}
nav a:hover {
    opacity:0.3;
}
nav img {
    height:1.5em;
    margin-right:0.5em;
}

/* .top */
.top {
    padding:0 20px;
}
.title_top {
    background:url(../img/top_title.png) no-repeat center/contain;
    height:85px;
    width:100%;
    max-width:400px;
    margin:0 auto 20px;
}
.p_top {
    font-size:18px;
    text-align:center;
    margin-bottom:25px;
    line-height:1.4;
}

.figure_top {
    width:100%;
    max-width:740px;
    margin:0 auto 70px;
}
.figure_top img {
    width:100%;
    max-width:100%;
    margin:auto;
}

.top_obi {
    background:#d5ebe7;
    width:100%;
    padding:80px 0;
    margin-bottom:75px;
}
.top_obi p {
    color:#000;
    padding:0 20px;
    margin:auto;
    width:100%;
    max-width:740px;
    line-height:2.0;
    font-size:18px;
    background:url(../img/top_house.png) no-repeat center right/contain;
    background-size:100px auto;
}


/* con01 */
.con01 {
    padding:0 20px;
}
.title_con {
    font-size:40px;
    letter-spacing:10px;
    font-weight:bold;
    text-align:center;
    color:#000;
    margin-bottom:10px;
}
.title_eng {
    text-align:center;
    font-size:20px;
    color:#d5ebe7;
    border-bottom:1px solid #000;
    padding-bottom:15px;
    width:100%;
    max-width:700px;
    margin:auto;
}
.title_p01 {
    margin:30px 0 30px;
    text-align:center;
    font-size:23px;
    color:#81a2ae;
    letter-spacing:3px;
}
.title_p02 {
    text-align:center;
    font-size:17px;
    color:#81a2ae;
    letter-spacing:3px;
    margin-bottom:50px;
}
.list {
    justify-content:space-around;
    flex-wrap:wrap;
    width:100%;
    max-width:740px;
    margin:0 auto 70px;
    padding:0 20px;
    box-sizing:border-box;
}
.list li {
    width:calc((100% - 40px) / 3);
    padding:5px;
    border:1px solid #000;
    box-sizing:border-box;
    margin-right:20px;
    margin-bottom:30px;
}
.list li:nth-child(3n) {
    margin-right:0;
}
.list li figure {
    margin-bottom:5px;
}
.list li p {
    text-align:center;
    font-size:12px;
    line-height:1.4;
}
.list a {
    display:block;
    transition:0.3s;
}
.list a:hover {
    opacity:0.3;
}
.list .little {
    font-size:10px;
}

/* footer */
footer {
  text-align:center;
}
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 li:nth-child(1) a {
  margin-right:30px;
  background:url(../img/icon_fb.png) no-repeat center/contain;
}
footer li:nth-child(2) a {
  margin-right:30px;
  background:url(../img/icon_ig.png) no-repeat center/contain;
}
footer li:nth-child(3) a {
  background:url(../img/icon_yt.png) no-repeat center/contain;
}
footer .foo_text {
  font-size:15px;
  margin-bottom:30px;
    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:24px;
  max-width:300px;
  margin:0 auto 40px;
    padding:0 10px;
}
footer .nho_link a img {
    width:100%;
    max-width:100%;
}

/* #con */
#con .wrap {
    margin:auto;
    width:100%;
    max-width:740px;
}
#con .in_wrap {
  margin-bottom:210px;
}
#con .out_title,#con .in_title {
    width:100%;
    background:#cae3df;
    padding:45px 20px;
    margin-bottom:10px;
}
#con .out_title h2,#con .out_title p,#con .in_title h2,#con .in_title p {
    max-width:700px;
    margin:auto;
}
#con .out_title h2,#con .in_title h2 {
    font-size:25px;
    font-weight:bold;
    margin-bottom:10px;
}
#con .out_title p,#con .in_title p {
    font-size:20px;
    color:#81a2a2;
}
#con .con_sub_title {
    width:100%;
    padding:20px 20px calc(20px - 1em);
    background:rgba(213, 235, 231, 0.72);
    margin-bottom:110px;
}
#con .con_sub_title .flex_wrap {
    width:100%;
    max-width:700px;
    justify-content:flex-start;
    align-items:center;
    margin:auto;
}
#con .con_sub_title h3 {
    font-size:20px;
    font-weight:bold;
    margin:0 20px 0 1em;
    position:relative;
}
#con .con_sub_title h3::before {
    display:block;
    content:'';
    width:0.8em;
    height:0.8em;
    background:#000;
    border-radius:50%;
    position:absolute;
    top:45%;left:-1em;right:auto;bottom:50%;
    margin:auto;
}
#con .con_sub_title figure {
    width:100%;
    max-width:150px;
}
#con .con_sub_title figure img {
    width:100%;
    max-width:150px;
}

.con_item {
    width:100%;
    max-width:740px;
    margin:auto;
    padding:0 20px;
}



.p_con {
    font-size:14px;
    line-height:1.8;
    margin-bottom:25px;
    box-sizing:border-box;
    letter-spacing:0.5px;
}
#con h4 {
    font-size:25px;
    margin-bottom:25px;
    display: flex;
    align-items:center;
}
#con h4:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #000;
	display: block;
    margin-left: 1em;
    margin-right:5px;
}
.flex_box {
    display:flex;
    box-sizing:border-box;
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;
    margin-bottom:110px;
}
.flex_box .left {
    width:40%;
}
.flex_box figure,.flex_box img {
    margin-bottom:25px;
}
.flex_box .left img {
    width:160px;
    margin:auto;
    display:block;
}
.flex_box .item_link a {
    display:block;
    margin:0 40px;
    border:1px solid #000;
    padding:15px;
    box-sizing:border-box;
    text-align:center;
    font-size:12px;
    transition:0.3s;
}
.flex_box .item_link a:hover {
    opacity:0.3;
}
.right {
  position: relative;
  width: 60%;
  padding-bottom: 33.75%;
}
.right.img {
    width:60%;
  padding-bottom:inherit;
}
.right iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  border:1px solid #000;
}
.right.img figure {
  margin-bottom:0;
}
.right.img img {
  border:1px solid #000;
  margin-bottom:0;
}
.right.sashikae {
    width:60%;
    padding:inherit;
}
.right.sashikae img {
    width:100%;
    max-width:435px;
}

/* topへ */
#page_top {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  opacity: 0.6;
  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 {
}



/* サイズ別設定 */
@media screen and (max-width: 630px) {
.outwrapper {
    }
  .br_off {
    display:none;
  }
}
@media screen and (max-width: 520px) {
.flex_box {
    display:inherit;
    padding:0;
}
.flex_box .left {
    width:100%;
    margin-bottom:35px;
}
    
.right {
    width:100%;
    padding-bottom:55.25%;
    }
    .link05 a {
        top:34%;
        left:7%;
    }
    .link04 a {
        top:40%;
        left:89%;
    }
    .link08 a {
        top:94%;
        left:89%;
    }
    .con01 th,.con01 td {
        padding:5px;
    }
  .right.img {
    width:100%;
    
  }
}

    @media screen and (max-width: 376px) {

    .link_top {
        justify-content:center;
    }
    
.sp_on {
  display:block;
    padding:10px;
    margin-bottom:35px;
}
.sp_off {
  display:none;
}
    .sp_title {
        font-weight:bold;
        padding-bottom:1em;
    }
    .sp_p {
        text-align:left;
        padding-bottom:0.5em;
    }
    .sp_pp {
        text-align:right;
        padding-bottom:1em;
    }
        .link a {
            min-width:inherit;
        }
        title_top,.p_top,.link_top,.title_con,.p_con01,#con h4 {
            padding:10px;
            font-size:18px;
        }
        .p_con {
            font-size:15px;
            padding:10px;
        }
        .item_link {
            padding:0 10px;
        }
        .flex_box .item_link a {
            margin:auto;
        }
      .list li {
        width:100%;
        margin-right:0;
      }
      .title_p01 {
        font-size:20px;
      }
      .title_p02 {
        font-size:12px;
      }
      #con .con_sub_title figure {
        max-width:100px;
      }
      #con .con_sub_title figure img {
        max-width:100px;
      }
}