*{
box-sizing:border-box;
line-height:1.5em;
}

html {
font-size: 100%;
overflow-y: scroll;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
overflow-x: hidden;
}

body {
color: #575757;
margin: 0;
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 font-weight: 500;
font-size: 14px;
}


/*コンテンツフェードイン
---------------------------------------------------------------------------*/
.fade{
opacity:0;
}

/*SPメニュー用上部マージン
---------------------------------------------------------------------------*/
@media(max-width:768px){
.content{
padding-top:50px;
}
}

/*テキスト
---------------------------------------------------------------------------*/
a {
text-decoration: none;
color:#575757;
}

/*ヘッダーPCメニュー
---------------------------------------------------------------------------*/
header{
width: 100%;
border-bottom: 1px solid #027dc1;
}

@media(max-width:768px){
header{
display:none;
}
}

.header_inner{
max-width: 1100px;
margin: 0 auto;
padding: 10px;
}

.header_logo_box{
width: 100%;
list-style: none;
overflow:hidden;
}

.header_logo{
text-align: left;
float: left;
width: 30%;
}

.header_logo img{
width:100%;
margin-top: 5px;
}

.header_phone{
text-align: right;
float: left;
width: 70%;
}


.header_phone img{
width: 100%;
max-width: 200px;
margin-top: 10px;
margin-right: 20px;
}

#menu{
width: 100%;
list-style: none;
text-align: right;
margin-bottom: 10px;
}

.menu1{
font-size: 14px;
display: inline-block;
padding: 0 10px;
border-left: 1px dashed #BFDB58;
cursor:pointer;
}

.menu1:first-child{
border-left: 0px dashed #BFDB58;
}

.menu1 a{
padding: 5px 15px 5px 15px;
display: block !important;
border-bottom:1px solid #fff;
}

.menu1 a:hover{
color:#027dc1;
border-bottom:1px solid #027dc1;
}


.hd_bg_subpage{
background-color: rgba(242, 242, 242, 0.9);
-webkit-transition: all 0.2s linear;
-moz-transition: all 0.2s linear;
-o-transition: all 0.2s linear;
-ms-transition: all 0.2s linear;
transition: all 0.2s linear;
}

.hd_bg_subpage a{
color:#575757;
text-decoration: none;
padding: 15px 0 15px 0;
display:block!important;
font-size:13px;
}

.hd_bg_subpage a:hover{
text-decoration: none;
background-color:#73d4a6;
color:#fff;
}


ul.child{
display: none;
position: absolute;
width: 200px;
z-index: 9999;
list-style: none;
margin-left: -10px;
text-align: left;
box-shadow: 1px 1px 10px 5px rgba(0,0,0,0.4);
}

ul.child li a{
border-bottom: 1px solid #BFDB58;
padding: 20px;
display: block;
width:200px;
background-color: #fff;
}
ul.child li a:hover{
background-color:#BFDB58;
color:#fff;
}


/*スマホ用ヘッダーメニュー
---------------------------------------------------------------------------*/
.side-open .site,
.side-open .overlay {
-webkit-transform: translate3d(0%, 0, 0);
transform: translate3d(0%, 0, 0);
}

@media(max-width:768px){
.side-open .site,
.side-open .overlay {
-webkit-transform: translate3d(-50%, 0, 0);
transform: translate3d(-50%, 0, 0);
}
}

@media(max-width:480px){
.side-open .site,
.side-open .overlay {
-webkit-transform: translate3d(-70%, 0, 0);
transform: translate3d(-70%, 0, 0);
}
}

/* --------------------------------------------------- btn */
.btn__box {
position: relative;
text-align: center;
z-index: 1;
}

.btn__box a {
display: block;
width: 198px;
height: 38px;
margin: 0 auto;
line-height: 40px;
font-size: 13px;
color: #1a1e24;
-webkit-transition: all .3s ease;
transition: all .3s ease;
border: 1px solid #1a1e24;
}

.btn__box a:hover {
color: #fff !important;
background: #1a1e24;
}

.btn__box--svg {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
width: 214px;
height: 54px;
margin: auto;
z-index: -1;
}

.btn__box--svg rect {
fill: transparent;
stroke: #1a1e24;
stroke-width: 1px;
stroke-dasharray: 242px;
stroke-dashoffset: 256px;
-webkit-transition: all 1s ease-in-out;
transition: all 1s ease-in-out;
}

.btn__box a:hover + .btn__box--svg rect {
stroke-width: 2px;
stroke-dasharray: 600px;
stroke-dashoffset: 0;
}

/* --------------------------------------------------- side menu */
.sp_header_wrap{
display:none;
}

@media(max-width:768px){
.sp_header_wrap{
display:block;
width: 100%;
position: fixed;
padding: 0;
height: 50px;
z-index: 999999;
background-color: #fff;
box-shadow: 0px 1px 10px rgba(0,0,0,0.3);
}
}

.header_logo_sp{
position: absolute;
z-index: 99999;
top:0;
width: 70%;
}

.header_logo_sp img {
width:100%;
max-width: 250px;
margin-top: 4px;
margin-left: 10px;
}


.side-menu {
display:none;
}

@media(max-width:768px){
.side-menu {
display:block;
position: fixed;
top: 0;
right: -50%;
width: 50%;
height: 100%;
padding-top: 50px;
padding-bottom: 50px;
text-align: left;
font-size: 15px;
background: #fff;
z-index: -999;
-webkit-transition: all .5s ease;
transition: all .5s ease;
opacity:0;
overflow-x: hidden;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
border-left: 5px solid #0BACF2;
}
}


@media(max-width:480px){
.side-menu {
right: -70%;
width: 70%;
}
}

.side-menu_on {
z-index: 999;
-webkit-transition: all .5s ease;
transition: all .5s ease;
opacity:1;
overflow-y: auto;
right: 0;
}

.site_on {
position:fixed;
overflow-y:hidden;
}

.side-menu__ul {
width: 100%;
height: 100%;
display: block;
overflow: auto;
}

.side-menu__ul span {
padding-left:10px;
}

.side-menu__ul--child {
display: none;
}

.active .side-menu__ul--child {
display: block;
}

.side-menu__ul li a {
border-bottom: 1px solid #dadada;
}

.side-menu__ul--child li a {
display: block;
padding: 8px 0 8px 32px;
color: #ccc;
border-bottom: 1px solid #dadada;
}

.side-menu__ul > li > a,
.side-menu__ul > li h5 {
display: block;
padding: 15px 0 15px 20px;
color: #575757;
}

.side-menu__ul h5 {
font-weight:normal;
cursor: pointer;
-webkit-transition: all .5s;
transition: all .5s;
}

.side-menu__ul > li > h5:after {
content: ' +';
color: #ffd800;
font-size: 20px;
}

.side-menu__ul > li.active h5:after {
content: ' -';
}

.side-menu__ul > li > h5:hover,
.side-menu__ul > li a:hover {
background: #0BACF2;
color: #fff;
}

/* --------------------------------------------------- ellipsis btn */
.side-menu-btn {
position: absolute;
top: 6px;
right: 20px;
width: 40px;
height: 40px;
padding: 5px;
cursor: pointer;
z-index: 4;
}

.ellipsis-v {
position: relative;
display: block;
cursor: pointer;
width: 30px;
height: 30px;
}

.ellipsis-v .point {
position: absolute;
left: 0;
right: 0;
display: block;
width: 35px;
height: 4px;
margin: auto;
background: #575757;
-webkit-transition: all .3s;
transition: all .3s;
}

.ellipsis-v .point.top {
top: 0;
}

.ellipsis-v .point.mid {
top: 0;
bottom: 0;
}

.ellipsis-v .point.bot {
bottom: 0;
}

.side-menu-btn:hover .top {
-webkit-transform: translateY(-2px);
-ms-transform: translateY(-2px);
transform: translateY(-2px);
}

.side-menu-btn:hover .bot {
-webkit-transform: translateY(2px);
-ms-transform: translateY(2px);
transform: translateY(2px);
}

.side-open .side-menu-btn:hover .top,
.side-open .top {
width: 41px;
height: 2px;
background: #575757;
-webkit-transform-origin: left top;
-ms-transform-origin: left top;
transform-origin: left top;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.side-open .mid {
opacity: 0;
}

.side-open .side-menu-btn:hover .bot,
.side-open .bot {
width: 41px;
height: 2px;
background: #575757;
-webkit-transform-origin: left bottom;
-ms-transform-origin: left bottom;
transform-origin: left bottom;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.side-open .side-menu-btn:hover .bot,
.side-open .side-menu-btn:hover .top {
background: #575757;
}




/*フッター
--------------------------- */
footer{
max-width:1100px;
margin:0 auto;
padding:20px;
overflow:hidden;
color:#fff;
}

.copyright{
text-align: center;
}

.copyright img{
max-width: 200px;
width:100%;
}




/*背景
---------------------------------------------------------------------------*/
.fullscreen{
width: 100%;
}

.bg1{
background-image: url("../img/mv_back.jpg");
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
}

.bg-white{
background-color:#fff;
}

.full{
height: auto;
border-top: 7px solid #000;
}


.fixed{
background-position: center top;
background-attachment: fixed;
}



/*コンテンツアニメーション
---------------------------------------------------------------------------*/
.fadeinonly {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinonly;
 animation-name: fadeinonly;
 visibility: visible !important;
}
@-webkit-keyframes fadeinonly {
 0% { opacity: 0; }
 100% { opacity: 1;}
}
@keyframes fadeinonly {
 0% { opacity: 0;}
 100% { opacity: 1;}
}

.fadeinup{
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinup;
 animation-name: fadeinup;
 visibility: visible !important;
}
@-webkit-keyframes fadeinup {
 0% { opacity: 0; -webkit-transform: translateY(40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeinup {
 0% { opacity: 0; -webkit-transform: translateY(40px); -ms-transform: translateY(40px); transform: translateY(40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


.fadeindown{
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeindown;
 animation-name: fadeindown;
 visibility: visible !important;
}
@-webkit-keyframes fadeindown {
 0% { opacity: 0; -webkit-transform: translateY(-40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeindown {
 0% { opacity: 0; -webkit-transform: translateY(-40px); -ms-transform: translateY(-40px); transform: translateY(-40px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


.fadeinleft {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinleft;
 animation-name: fadeinleft;
 visibility: visible !important;
}
@-webkit-keyframes fadeinleft {
 0% { opacity: 0; -webkit-transform: translateX(-40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes fadeinleft {
 0% { opacity: 0; -webkit-transform: translateX(-40px); -ms-transform: translateX(-40px); transform: translateX(-40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}

.fadeinright {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinright;
 animation-name: fadeinright;
 visibility: visible !important;
}
@-webkit-keyframes fadeinright {
 0% { opacity: 0; -webkit-transform: translateX(40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes fadeinright {
 0% { opacity: 0; -webkit-transform: translateX(40px); -ms-transform: translateX(40px); transform: translateX(40px); }
 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}


.fadeinzoom {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.0s;
 -ms-animation-duration:1.0s;
 animation-duration:1.0s;
 -webkit-animation-name: fadeinzoom;
 animation-name: fadeinzoom;
 visibility: visible !important;
}
@-webkit-keyframes fadeinzoom {
 0% { opacity: 0; -webkit-transform: scale(0.7);}
 100% { opacity: 1; -webkit-transform: scale(1);}
}
@keyframes fadeinzoom {
 0% { opacity: 0; -webkit-transform: scale(0.7); -ms-transform: scale(0.7); transform: scale(0.7); }
 100% { opacity: 1; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1); }
}



/*ボタン
--------------------------- */

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}

.normal-botan{
border: 3px solid #BFDB58;
color: #ADC450;
padding: 10px 30px 10px 30px;
font-size: 16px;
border-radius: 30px;
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 font-weight: 500;
margin-bottom: 10px;
font-weight: bold;
}

.normal-botan:hover{
background-color: #BFDB58;
color: #fff;
}

.contact-botan{
margin-top: -50px;
position: relative;
text-align: right;
margin-right: 20px;
}

.contact-botan button{
font-size: 14px;
background-color: #FFF146;
padding: 10px 30px 10px 30px;
font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 font-weight: 500;
}

.contact-botan button:hover{
background-color: #FFF;
}

@media(max-width:768px){
.contact-botan{
display:none;
}
}

/*トップへボタン
--------------------------- */
#page-top {
width:0px;
height:0px;
position: fixed;
right: 80px;
z-index:9999;
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}

.arrow{
position: relative;
display: inline-block;
padding: 0 0 0 16px;
color: #E0E0E0;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
}
.arrow::before,
.arrow::after{
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

.posi::before{
top:-60px;
width: 50px;
height: 50px;
background: #868686;
border-radius: 10px;
}
.posi::after{
top:-45px;
left:11px;
width: 25px;
height: 25px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

#page-top:hover {
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}

@media(max-width:768px){
#page-top:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}
}

/*メディアクエリ
--------------------------- */

.sp_on_768{
display:none;
}

@media(max-width:768px){
.sp_on_768{
display:block;
}
}

.sp_off_768{
display:block;
}

@media(max-width:768px){
.sp_off_768{
display:none;
}
}

@media(max-width:480px){
.sp_off_480{
display:none;
}
}
/*マージン系
--------------------------- */
.pd10{
padding:10px;
}

.pd20{
padding:20px;
}

.pdt70{
padding-top:70px;
}


.mdb-15{
margin-bottom:15px;
}

.mdb-30{
margin-bottom:30px;
}

.mdb-40{
margin-bottom:40px;
}

.pdt-20{
padding-top:20px;
}

.pdt-30{
padding-top:30px;
}

.pdt-40{
padding-top:40px;
}

.pdb-30{
padding-bottom:30px;
}

.pdb-40{
padding-bottom:40px;
}

.pdb-50{
padding-bottom:50px;
}

.t-center{
text-align:center;
}

/*その他
--------------------------- */
.clear{
clear:both;
}

hr{
height: 0;
margin: 0;
padding: 0;
border: 0;
border-top: 1px solid #d2d2d2;
}

@media(max-width:768px){
.flex-container {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: column-reverse; /* Safari */
  flex-direction: column-reverse;
}
}
