html,body {display: flex; flex-direction: column; width: 100%; min-height: 100vh; overflow-x: hidden;} .sp {display: none!important;} .container {width: 1120px; margin: 0px auto;} .flex {display: flex;} .no-column {margin: 60px auto 120px;} .col_box {width: 100%; display: flex; justify-content: center; margin: 0 auto;}
.col_box #main {width: 664px; margin: 60px 0 120px; padding: 0 25px;} .grecaptcha-badge {bottom: 160px !important; z-index: 100;} header {position: relative; width: 100%; background: #fff; transition: all .3s ease; z-index: 1000;}
header:before {display: block; content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 7px; background-image: repeating-linear-gradient(90deg, #F2D680, #F2D680 83px, #F2916D 0, #F2916D 166px, #F26E50 0, #F26E50 249px, #6DD9BF 0, #6DD9BF 332px, #50A18E 0, #50A18E 415px); z-index: 50;}
header .top {padding: 47px 0 40px;}
header .top > .flex {justify-content: space-between; align-items: flex-end;}
header .top .main {align-items: flex-end;}
header .top .logo {width: 277px;}
header .top .descri {font-size: 1.025rem; font-weight: 700; letter-spacing: 0; margin: -20px 0 0 25px;}
header .top .sub {align-items: center;}
header .top .sub .search {width: 155px; margin-right: 15px; padding: 4px 8px; border: 2px solid #e6e6e6; border-radius: 16px;}
header .top .sub .search .box {width: 135px; font-size: .85rem!important; line-height: 1.25; color: #999;}
header .top .sub .search .btn {display: block; position: relative; width: 20px; height: 20px;}
header .top .sub .search .btn:before {position: absolute; left: 2px; top: 2px; content: "\f002"; font-family: "Font Awesome 5 Free"; font-size: .975rem; color: #999; font-weight: 900; line-height: 1;}
header .top .sub .search .btn .submit {display: block; width: 20px; height: 20px;}
header .top .sub .sns a {margin: 0 3px;}
header .top .sub .sns a i {font-size: 1.9rem; line-height: 2rem; transition: .3s ease;}
header .top .sub .sns a:hover {opacity: 1;}
header .top .sub .sns a:hover i.fa-twitter {color: #55acee;}
header .top .sub .sns a:hover i.fa-instagram {color: #d93177;}
header .top .sub .login {align-items: center; margin-left: 15px;}
header .top .sub .login img {width: 30px; height: 30px; border-radius: 50%; object-fit: cover; object-position: 50%; overflow: hidden;}
header .top .sub .login .username {display: block; max-width: 180px; color: #666; font-size: .825rem; font-weight: 700; margin-left: 8px;}
header .bottom {border-top: 1px solid #b3b3b3; border-bottom: 1px solid #b3b3b3;}
header .bottom #g-navi {justify-content: center; align-items: center;}
header .bottom #g-navi > li {position: relative;}
header .bottom #g-navi > li > a {display: block; font-family: "TsukuARdGothicStd-B","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif; font-size: 1.3rem; color: #4d4d4d; white-space: nowrap; padding: 10px 25px;}
header .bottom #g-navi > li.current-menu-item a,
header .bottom #g-navi > li > a:hover {background: #f2f2f2; opacity: 1;}
header .bottom #g-navi .sub-menu {position: absolute; top: 50px; left: 0; width: 100%; transform: scale(1,0); transform-origin: top; opacity: 0; transition: .3s ease; z-index: 100;}
header .bottom #g-navi .sub-menu li a {display: block; font-size: 1.1rem; color: #fff; background: #4d4d4d; padding: 10px 15px;}
header .bottom #g-navi .sub-menu li.current-menu-item a,
header .bottom #g-navi .sub-menu li a:hover {background: #F26E50; opacity: 1;}
header .bottom #g-navi > li:hover .sub-menu {transform: scale(1,1); opacity: 1;}
@media all and (-ms-high-contrast:none) {header .bottom #g-navi > li > a {padding: 13px 25px 7px;}}
header #full-navi {display: none;} footer {width: 100%; position: relative; margin-top: auto; padding-top: 7px;}
footer:before {display: block; content: ""; position: absolute; top: 0px; left: 0; width: 100%; height: 7px; background-image: repeating-linear-gradient(90deg, #F2D680, #F2D680 83px, #F2916D 0, #F2916D 166px, #F26E50 0, #F26E50 249px, #6DD9BF 0, #6DD9BF 332px, #50A18E 0, #50A18E 415px); z-index: 50;}
footer .top {justify-content: center; align-items: flex-end; padding: 30px 0; border-bottom: 1px solid #b3b3b3;}
footer .top .logo {width: 277px;}
footer .top .descri {font-size: 1.05rem; font-weight: 700; letter-spacing: 0; margin: -20px 0 0 25px;}
footer .bottom {justify-content: space-between; padding: 15px 0;}
footer .bottom #f-navi li {margin-right: 30px;}
footer .bottom #f-navi li a {font-size: .9rem;}
footer .bottom .copyright {font-size: .85rem;} #sidebar {width: 360px; border-left: 1px solid #b3b3b3;}
#sidebar > div.bottom-sec:before {display: block; content: ""; position: relative; left: -25px; top: -50px; width: 100vw; height: 1px; background: #b3b3b3;} #front .top-slider {width: 100%; height: 450px;}
#front .top-slider #top-slider {width: 1000px; height: 450px;}
#front .top-slider #top-slider .slide-arrow i {font-size: 26px;}
#front .top-slider #top-slider li {width: 1000px; height: 450px;}
#front .g-h {position: relative; margin: 0 auto 60px;}   #single .column-wrap .column-item > * {margin-top: 0;} #recommend h2 {font-size: 1.625rem; margin-bottom: 16px; padding-bottom: 4px;}
#recommend .reco-list {display: flex; flex-wrap: wrap;}
#recommend .reco-list > li {width: calc((100% - 32px) / 3); margin: 0 16px 16px 0;}
#recommend .reco-list > li:nth-of-type(3n) {margin-right: 0;}
#recommend .reco-list > li .txt h3 {font-size: 1rem;}
#recommend .reco-list > li .img {height: 140px;} #page-mailform .form {max-width: 748px; margin: 60px auto 0;} #notfound {height: calc(100vh - 380px);}