@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 {
    max-width:980px;
    width:100%;
    box-sizing:border-box;
    padding:35px;
    margin:auto;
}

/* .top */
nav {
    margin-bottom:-20px;
}
nav a {
    display:block;
    transition:0.3s;
    line-height:0.7em;
    text-align:right;
}
nav a:hover {
    opacity:0.3;
}
nav img {
    height:1em;
    margin-right:0.5em;
}

.title_top {
    background:#ddd;
    padding:25px 25px 20px;
    box-sizing:border-box;
    font-size:28px;
    margin-bottom:20px;
}
.p_top {
    font-size:25px;
    margin-bottom:25px;
    padding-left:25px;
}
.link_top {
    box-sizing:border-box;
    display:flex;
    justify-content:flex-start;
    flex-wrap:wrap;
    padding:0 0 0 25px;
    margin-bottom:35px;
}
.link_top li a {
    display:block;
    border:1px solid #000;
    box-sizing:border-box;
    margin-right:8px;
    margin-bottom:8px;
    padding:10px 0;
    text-align:center;
    font-size:15px;
    color:#000;
    width:85px;
    transition:0.3s;
    border-radius:3px;
}
.linl_top li:last-child a {
    margin-right:0;
}
.link_top li a:hover {
    background:#f9f8d0;
}

.figure_box {
    position:relative;
    margin:0 0 35px;
    padding-top:70%;
}
.figure_top {
    position:absolute;
    top:0;bottom:0;right:0;left:0;
    margin:auto;
}
.figure_top img {
    width:100%;
    max-width:100%;
    margin:auto;
}
.link a {
    position:absolute;
    display:block;
    margin:auto;
    box-sizing:border-box;
    transform: translate(-50%, -50%);
    font-size:15px;
    width:10.2%;
    min-width:100px;
    text-align:center;
    padding:2% 0;
    transition:0.3s;
}
.link a:hover {
    font-size:20px;
}
.link01 a {
    top:23%;
    left:87%;
}
.link02 a {
    top:91.5%;
    left:29%;
}
.link03 a {
    top:27%;
    left:16%;
}
.link04 a {
    top:47%;
    left:94%;
}
.link05 a {
    top:39%;
    left:10%;
}
.link06 a {
    top:11%;
    left:71%;
}
.link07 a {
    top:83%;
    left:6%;
}
.link08 a {
    top:88%;
    left:94%;
}


/* con01 */
.title_con {
    background:#ddd;
    padding:20px 25px;
    box-sizing:border-box;
    font-size:24px;
    margin-bottom:35px;
}
.p_con01 {
    font-size:23px;
    margin-bottom:35px;
    padding-left:25px;
    box-sizing:border-box;
    letter-spacing: 0.5px;
}
.p_con {
    font-size:19px;
    line-height:1.7;
    margin-bottom:60px;
    padding-left:25px;
    box-sizing:border-box;
    letter-spacing:0.5px;
}
.con01 table,.con01 th,.con01 td {
    box-sizing:border-box;
}
.con01 table {
    border-collapse: collapse;
    margin:0 auto 60px;
    width:100%;
    font-size:20px;
    width:calc(100% - (2*25px));
}
.con01 th {
    border:1px solid #000;
    padding:20px;
    vertical-align: middle;
    box-sizing:border-box;
    text-align:center;
    font-weight:normal;
}
.con01 td {
    border:1px solid #000;
    padding:30px;
    vertical-align: middle;
    box-sizing:border-box;
}
.red {
    color:#f00;
}
h3 {
    font-size:25px;
    margin-bottom:35px;
    display: flex;
    align-items:center;
    padding-left:25px;
}
h3: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:80px;
}
.flex_box .left {
    width:40%;
}
.flex_box figure {
    margin-bottom:45px;
}
.flex_box img {
    width:230px;
    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:14px;
    transition:0.3s;
}
.flex_box .item_link a:hover {
    background:#f9f8d0;
}
.right {
  position: relative;
  width: 60%;
  padding-top: 33.75%;
}
.right iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.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 {
}
.con02 .p_com {
    letter-spacing: 0px;
}



/* サイズ別設定 */
@media screen and (max-width: 630px) {
.outwrapper {
    padding:10px;
    }
}
@media screen and (max-width: 520px) {
.flex_box {
    display:inherit;
    padding:0;
}
.flex_box .left {
    width:100%;
    margin-bottom:35px;
}
    
.right {
    width:100%;
    padding-top: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;
    }
}

    @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,h3 {
            padding:10px;
            font-size:18px;
        }
        .p_con {
            font-size:15px;
            padding:10px;
        }
        .item_link {
            padding:0 10px;
        }
        .flex_box .item_link a {
            margin:auto;
        }
}