@charset "utf-8";

/* 共通 */
/*body {
    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;
}
.flex {
  box-sizing:border-box;
  	display:-webkit-box;
  	display:-ms-flexbox;
  display:flex;
}

/* #top */
body {
    width:100%;
    height:100vh;
}

figure.zoom {
    overflow:hidden;
}
figure.zoom img {
    transition:0.5s;
}
.con_youso:hover figure.zoom img {
    transform:scale(1.05);
    transition:3s;
}

.top_txt {
    width:100%;
    max-width:100%;
    margin:auto;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
    margin-bottom:108px;
    padding:0 20px;
    box-sizing:border-box;
}
.top_txt p {
    line-height:1.6;
    font-size:16px;
}

.top_bottom {
    width:100%;
    max-width:980px;
    height:0;
    padding:0 10px 51.02%;
    box-sizing:border-box;
    margin:auto;
    position:relative;
    margin-bottom:104px;
}
.top_bottom .top_img img {
    display:block;
    position:absolute;
    margin:auto;
}
.top_bottom .top_img01 img {
    width:37.24%;
    top:0;bottom:auto;
    left:0;right:auto;
}
.top_bottom .top_img02 img {
    width:36.73%;
    bottom:0;top:auto;
    left:11.22%;right:auto;
}
.top_bottom .top_img03 img {
    width:50%;
    bottom:0;top:auto;
    right:0;left:auto;
}

/* .con */
.con {
    width:100%;
    max-width:980px;
    margin:auto;
    padding:104px 20px;
    box-sizing:border-box;
}
.con_ttl {
    font-family: 'Oswald', sans-serif;
    font-size:44px;
    font-weight:bold;
    text-align:center;
    margin-bottom:54px;
    letter-spacing:2px;
}
.con_youso {
    margin-bottom:104px;
	-webkit-box-align: center;
	-ms-flex-align: center;
    align-items:center;
}
.con_youso:last-child {
    margin-bottom:0;
}
.youso_gray {
    font-family: 'Oswald', sans-serif;
    color:#d8d8d8;
    font-size:34px;
    margin-bottom:10px;
}
.youso_ttl {
    font-size:20px;
    font-weight:bold;
    margin-bottom:10px;
}
.youso_txt {
    font-size:14px;
    line-height:1.6;
}
.txt_wrap {
    background:#fff;
    padding:54px 27px;
    box-sizing:border-box;
}
.gray {
    width:100%;
    background:#f3f3f3;
}

/* .point */
.point_img {
    width:calc(56.42% + 37px);
    z-index:99;
}
.point_con .con_youso:nth-child(2n) {
    flex-direction:row-reverse;
}
.point_con .con_youso:nth-child(2n) .point_img {
    margin-right:-27px;
}
.point_con .con_youso:nth-child(2n+1) {
    flex-direction:row-;
}
.point_con .con_youso:nth-child(2n+1) .point_img {
    margin-left:-27px;
}
.point_con .txt_wrap {
    width:42.65%;
    z-index:100;
}

/* .item */
.item_con {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
    align-items:center;
}
.item_img {
    width:100%;
    max-width:350px;
    margin-right:54px;
}
.item_txt {
    font-size:14px;
    margin-bottom:15px;
}
.item_name {
    font-size:24px;
    margin-bottom:10px;
}
.item_link a {
    display:block;
    background:#dbdbdb;
    padding:15px;
    text-align:center;
    width:100%;
    max-width:510px;
    margin-top:39px;
    box-sizing:border-box;
    transition:0.6s;
    border:1px solid #dbdbdb;
}

/* .detail */
.detail_img {
    width:48.97%;
    margin-right:27px;
}
.detail_con .txt_wrap {
    width:calc(100% - 48.97% - 27px);
}
.detail_con .youso_gray {
    font-size:40px;
    margin-bottom:15px;
    letter-spacing:2px;
}
.detail04 .txt_wrap {
    width:100%;
    max-width:980px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
    align-items:center;
    padding:54px 10px;
}
.detail04 h3 {
    width:170px;
    text-align:center;
}
.detail04 li {
    line-height:1.6;
}

/* howto */
.howto_con {
    padding:104px 0 0;
}
.howto_con .con_youso {
	-webkit-box-align: start;
	-ms-flex-align: start;
    align-items:flex-start;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.howto_con .left {
    font-family: "kozuka-gothic-pro";
    font-weight:bold;
    font-style:normal;
    color:#d8d8d8;
    font-size:28px;
    margin-bottom:10px;
    padding:10px 27px 0 0;
    box-sizing:border-box;
}
.howto_con .right {
    width:67.34%;
    padding:10px 0 10px 27px;
    border-left:1px solid #d8d8d8;
    box-sizing:border-box;
}
.howto_con .howto_img {
    width:100%;
  	display:-webkit-box;
  	display:-ms-flexbox;
    display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
    margin-bottom:54px;
}
.howto_img li {
    width:calc((100% - 30px) / 3);
    display:block;
    margin-right:15px;
}
.howto_img li:last-child {
    margin-right:0;
}
.howto_con .right li p {
    margin-bottom:10px;
}

/* .others */
.others_txt {
    text-align:center;
    margin-bottom:54px;
}
.others_con {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
    justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
    align-items:center;
  	-ms-flex-wrap: nowrap;
    flex-wrap:nowrap;
}
.others_con .left {
    width:45%;
    max-width:450px;
    margin-right:27px;
}
.others_con .right {
    width:calc(55% - 27px);
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
  	-ms-flex-wrap: wrap;
    flex-wrap:wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
    align-items:center;
}
.others_con .right_left {
    width:150px;
    margin-right:27px;
}
.others_con .item_link {
    width:100%;
}
.others_con .item_link a {
    padding:10px;
    width:100%;
    max-width:100%;
}
.item_link a:hover {
    background:rgba(255,255,255,0);
    color:#aaa;
    border:1px solid #dbdbdb;
}

@media screen and (min-width: 980px) {
    /*.top_bottom {
        width:980px;
        height:643px;
        padding:0;
    }*/
    .con {
        padding:104px 0;
    }
.howto_con {
    padding:104px 0 0;
}
    .top_bottom {
        width:980px;
        height:500px;
        padding:0;
    }
}

@media screen and (min-width: 1960px) {
    .top_area {
        width:1960px;
        height:1286px;
        padding:0;
    }
}
/* .point_con */



/* .con */
/* footer */
footer {
    text-align:center;
    padding:0 20px 20px;
}
footer .bottom {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    max-width:980px;
    margin:auto;
}
footer ul {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
  align-items:center;
  margin-bottom:30px;
}
footer a {
  display:block;
  box-sizing:border-box;
  width:20px;
  height:20px;
  border-radius:3px;
  transition:0.3s;
}
footer .flex a {
  opacity:0.5;
}
footer a:hover {
  opacity:0.3;
}
footer li:nth-child(1) a {
  margin-right:15px;
  background:url(../img/icon_fb.png) no-repeat center/contain;
}
footer li:nth-child(2) a {
  margin-right:15px;
  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: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 .prt_t {
  font-size:12px;
  margin:30px 0 5px;
    color:#727171;
}
footer .prt_link a {
  display:block;
  width:100%;
  height:100%;
  max-height:58px;
  max-width:160px;
  margin:0 auto 40px;
    padding:0 10px;
}

/* topへ */
#page_top{
width: 40px;
height: 40px;
position: fixed;
right: 0;
bottom: 10px;
background: #dbdbdb;
opacity: 0.6;
    transition:0.3s;
    z-index:1000;
}
#page_top a{
position: relative;
display: block;
width: 40px;
height: 40px;
text-decoration: none;
    transition:0.3s;
}

#page_top a::after{
content: '▲';
font-size: 14px;
font-weight: bold;
color: #fff;
position: absolute;
top: 10px;
bottom: 0;
right: 0;
left: 0;
margin: auto;
text-align: center;
}
#page_top:hover {
    background:rgba(255,255,255,0);
    color:#aaa;
    border:1px solid #dbdbdb;
}
#page_top a::after:hover{
color: #dbdbdb;
}


.sp_on {
  display:none;
}
.sp_off {
  display:block;
}


/* サイズ別設定 */
@media screen and (max-width: 850px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 574px) {
}
@media screen and (max-width: 500px) {
}
@media screen and (max-width: 420px) {
  .sp_on {
    display:block;
  }
  .sp_off {
    display:none;
  }
    .flex {
        display:inherit;
    }
    .top_txt p {
        font-size:14px;
    }
    .top_txt,.top_bottom {
    margin-bottom:54px;
    }
    .con_youso {
        margin-bottom:27px;
    }
    .howto_con .con_youso,.others_con .con_youso {
        margin-bottom:54px;
    }
    .howto_con .con_youso:last-child {
        margin-bottom:0;
    }
    .others_con .con_youso:last-child {
        margin-bottom:27px;
    }
    .con {
        padding:54px 20px;
    }
    .con_ttl {
        margin-bottom:27px;
        font-size:30px;
    }
    .point_con .txt_wrap,.point_img,.detail_img,.howto_con .right,.others_con .left,.others_con .right,.detail_con .txt_wrap {
        width:100%;
    }
    .point_con .con_youso:nth-child(2n) {
        flex-direction:row;
    }
    .point_con .con_youso:nth-child(2n+1) .point_img {
        margin-left:0;
    }
    .txt_wrap,.detail04 .txt_wrap {
        padding:27px;
    }
    .howto_con .left {
        padding:0;
    }
    .howto_con .right {
        padding:0;
        border:none;
    }
    .howto_con .howto_img {
        margin-bottom:27px;
    }
    .others_con .left {
        margin:0 0 27px;
    }
    .others_con .right_left {
        margin:0 auto 27px;
    }
    footer .bottom .flex {
  	display:-webkit-box;
  	display:-ms-flexbox;
        display:flex;
    }
    .top_img04 img {
    width:100%%;
        height:auto;
    top:0;bottom:0;
    left:0;right:0;
}
    .top_bottom {
        padding:0 10px 207.73%;
    }
}


