@charset "UTF-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');

/*
  Theme Name: GOODCROSS
  Author: GOODCROSS
*/

/*
  common
-----------------------------------------------------------------*/
html {
font-size: 62.5%;
}
body {
  font-family: 'Noto Sans JP', sans-serif!important;
  font-size: 100%;
  line-height: 1.8;
  font-size: 1.6em;
  margin: 0;
  width: 100%;
  height:100%;
  color: #000;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
  font-weight: 600;
  margin-bottom: 1rem;
}
h1{font-size: 3rem;}
h2{font-size: 2.4rem;}
h3{font-size: 2rem;}
h4{font-size: 1.8rem;}
h5{font-size: 1.6rem;}
.num{font-family: 'Oswald', sans-serif;}
.i-pc,.b-pc{display: none;}
.i-sp{display: inline;}
.b-sp{display: block;}

.small{line-height: 1.4;}

a, a:focus, *:focus{
  outline: none;
  word-break: break-all;
}
a,a:visited,a:focus,a:hover{
  color: #4184f3;
  text-decoration: none;
}
.a-bk,a.a-bk:visited,a.a-bk:focus,a.a-bk:hover{color:black;text-decoration: underline;}
dt,dd{
  font-weight: normal;
  line-height: 1.6em;
}


.bk-wh{
  background: #fff;
}
.bk-dgr{ background:#360;}
.bk-gr{ background:#C3D6BA;}
.bk-lgr{ background:#AFD34E;}
.bk-llgr{ background:#F2F7DC;}
.bk-lbr{ background:#EDE3C3;}
.bk-lgy{background:#f2f2f2;}
.bk-dgy{
  background:#434343;
  color: #fff;
}
.cl-pk{color: #ec407a;}
.cl-rd{color: #EF2938;}
.cl-dgr{color: #360;}
.text-ul{text-decoration: underline 2px;}







.hov,.hov img{
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.hov:hover{
  opacity: 0.8;
  filter: alpha(opacity=70);
}
.hov:hover img{
  opacity: 0.8;
  filter: alpha(opacity=70);
}
.hov-tform{
  display: block;
  overflow: hidden;
  position: relative;
}
.hov-tform img {
  -moz-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  height: auto;
  max-width: 100%;
}
a:hover>div img {
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -o-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}


.mb-15{margin-bottom: 15px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-50{margin-bottom: 50px;}
.mt-15{margin-top: 15px;}
.mt-30{margin-top: 30px;}
.mt-40{margin-top: 40px;}
.mt-50{margin-top: 50px;}

img{max-width: 100%;}
.img-70{display: block; max-width: 70%; margin: 0 auto;}
.btn-m{display:inline-block;padding:0.2em 1.5em; background: #ddd ;border-radius: 100vh;border:none;}
.btn-rd{background: #EF2938; color: #fff!important;}
.btn-dgr{background: #360; color: #fff!important;}
.btn-dgr-l{background: #fff; color: #360!important;border: 1px solid #360;}
.btn-inline .btn-m{margin: 0 10px;}


/*layout
-----------------------------------------------------------------*/

.title-container{
  text-align: center;
}
.title-bb{
  border-bottom: 1px solid #ddd;
  margin-bottom: 1em;
  padding-bottom: 0.5em;;
}
.title-bk-llgr{padding:0.3em 1em;background: #C3D6BA;}
.content{
  padding:30px 0;
}
.cont{
  padding-bottom: 3rem;;
  }
.cont-bb{
padding-bottom: 3rem;;
margin-bottom: 5rem;
border-bottom: 1px solid #ddd;
}
.container-wrap,.mypage footer .container-wrap{
  margin-left: auto;
  margin-right: auto;
  padding:64px 0 64px 0;
}
.container-fluid-0{
  padding:0;
}
.box-gy-l{
  border: 1px solid #ddd;
  padding: 1rem;
  color: #999;

}
/*.no-hf
-----------------------------------------------------------------*/
.no-hf .container-wrap{
  margin-left: auto;
  margin-right: auto;
  padding:32px 0 64px 0;
}
.no-hf .container{
  max-width: 960px;
}
.container-inner{
  padding:30px 0;
}
#logo-no-hf{
  text-align: center;
}
#logo-no-hf h1{
  width: 160px;
 margin: 0 auto 30px;
}
/*.no-hf h3{
  margin-bottom: 3rem;
}*/
.nav-pills .nav-link {
  background-color: #f2f2f2;
}
.mypage .container-wrap{
  padding-top: 110px;
}
/*mypage
-----------------------------------------------------------------*/
.step-ng,.step-ok{
  background: #ec407a;
  border-radius: 10px;
  color: #fff;
  padding: 1em;
}
.step-no {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  flex-flow: column;
  vertical-align: top;
  width: 36px;
  height: 36px;
  font-size: 1.8rem;
  font-weight: 900;
  color: #ec407a;
  background: #fff;
  margin: 0 auto 0.5em;
}
.step-ok{
  background: #e2e2e2;
  color: #b3b3b3;
}
.step-ok .step-no {
  color: #e2e2e2;
}
.step-ok .btn-dgr{
  background: #e2e2e2;
  border: 1px solid #fff;
}
.step-add{
  color: #333;
  background: #fff;
  padding: 15px;
}
.step-imp{
  color: #ec407a;
  border: 1px solid #ec407a;
  font-size: smaller;
  padding: 0.1em 0.5em;
  margin-right: 0.5em;
}
/*form
-----------------------------------------------------------------*/
.form-group {
  margin-bottom: 1.5rem;
}
.btn,.form-control,.form-control-plaintext,.custom-select{font-size: 100%;}
.form-check-input {
  margin-top: 1rem;
  margin-left: -2rem;
}
textarea{width: 100%;}
.form-changed,.form-changed input{color: #dc3545!important;}
.tooltip .tooltip-inner {
  font-size: 1.6rem;
}
.form-control.is-caution,.form-control-plaintext.is-caution{background:#f7b9c3;}
.form-caution{color: #ec407a!important;}

/*header
-----------------------------------------------------------------*/
body {
  margin: 0;
  font-family: Helvetica, sans-serif;
}


/* header */
.header.fixed{
  background: rgba(255,255,255,1);
  box-shadow: 1px 1px 4px 0 rgba(0,0,0,.1);
}
/* transition */
.header{
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
.header {
  position: fixed;
  width: 100%;
  z-index: 3;
}
.header ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}
.header li a {
  display: block;
  padding: 0.7em 1em;
  text-decoration: none;
  font-weight: 500;
}
.header li a,.header li a:visited,.header li a:focus,.header li a:hover{
  color: #333;
  text-decoration: none;
}
.menu-mypage{background: #ccc; border-radius: 100vh;}
.menu-registry{background: #EF2938; border-radius: 100vh;}
.menu-contact{background: #360; border-radius: 100vh;}
li.menu-registry a,li.menu-registry a:visited,li.menu-registry a:focus,li.menu-registry a:hover,
li.menu-contact a,li.menu-contact a:visited,li.menu-contact a:focus,li.menu-contact a:hover{
  color: #fff;
}
.header .logo {
  display: block;
  float: left;
  font-size: 2em;
  padding: 10px 20px;
  text-decoration: none;
}
#logo{
  width:120px;
  position:absolute;
  top: 10px;
  z-index: 100;
  left: 50%;
  transform: translate(-50%,0);
  -webkit-transform: translate(-50%,0);
  -ms-transform: translate(-50%,0);
}
/* menu */
.header .menu {
  clear: both;
  max-height: 0;
  transition: max-height .2s ease-out;
  font-size: 1.8rem;
}

/* menu icon */
.header .menu-icon {
  cursor: pointer;
  display: inline-block;
  float: right;
  padding: 28px 20px;
  position: relative;
  user-select: none;
}

.header .menu-icon .navicon {
  background: #333;
  display: block;
  height: 4px;
  position: relative;
  transition: background .2s ease-out;
  width: 32px;
  border-radius: 2px
}

.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
  background: #333;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
  border-radius: 2px
}

.header .menu-icon .navicon:before {
  top: 11px;
}

.header .menu-icon .navicon:after {
  top: -11px;
}

/* menu btn */
.header .menu-btn {
  display: none;
}

.header .menu-btn:checked ~ .menu {
  max-height: 440px;
}

.header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}

.header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

.header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}

.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}


/* 48em = 768px */

@media (min-width: 992px) {
  .header li {
    float: left;
  }
  .header li a {
    padding: 0.2em 1em;
  }
  .header .menu {
    clear: none;
    float: right;
    max-height: none;
  }
  .header .menu-icon {
    display: none;
  }
  .menu-mypage,.menu-registry,.menu-contact{
    padding: 0.2em 1.5em;
    margin-right: 10px;
  }
  section{
    padding:0 0 60px;
  }
  
  .container-wrap-top{
    padding:100px 0 40px 0; 
  }
}
@media only screen and (min-width: 230px) and (max-width:992px) {
  .header {
    box-shadow: none !important;
    background-image: none !important;
    position: fixed !important;
  }
  .header li {
    margin:10px auto;
  }
  .header li a{text-align: center;}
  .header li:first-of-type{margin-top:70px;}
  .header li:last-of-type{margin-bottom:30px;}
  .menu-registry,.menu-mypage,.menu-contact{width: 60%;}
}


/*footer
-----------------------------------------------------------------*/

#footer-info,#footer-sitemap,#footer-menu{
  color:#fff;
}
#footer-sitemap a,#footer-menu a,#go-page-top a{
  color:#fff;
}

#footer-sitemap dt{
  color:#999;
  margin:0 0 10px 0;
}
#footer-sitemap dd{
  font-size: 16px;
  line-height: 1.6
}
#footer-sitemap dd >div{
  margin-bottom: 8px;
}
#footer-sns img{width: 25px;margin: 5px 10px 0 0;}
#footer-menu{
  background: #1d2228;
  padding:10px 0 60px;
}
#footer-menu,#footer-menu a{color: #999;}
#footer-menu li{
  padding:  0 20px;
}
#footer-menu li + li{
  border-left: 1px solid #666;
}
#copy{
  text-align: center;
}
#go-page-top a{
  border-top: 1px solid #fff;
}
#go-page-top a{
  padding:15px!important;
  display: block;
  width: 100%;
}


/*
  media queries
-----------------------------------------------------------------*/
@media only screen and (max-width:768px){

}

@media only screen and (min-width : 768px) {
  body {
    font-size: 1.8em;
  }
  h1{font-size: 4rem;}
  h2{font-size: 4.4rem;}
  h3{font-size: 3.4rem;}
  h4{font-size: 2.4rem;}
  h5{font-size: 1.8rem;}
  h1 .main-for{
    font-size: 3.2rem;
  }
  .i-sp,.b-sp{display: none;}
  .i-pc{display: inline;}
  .b-pc{display: block;}

  h1#logo{
    width:120px;
    position: fixed;
    z-index: 1050;
    left: 15%;
    transition: .2s;
  }
  h1#logo.is-small{
    width:100px;
    transition: .2s;
  }
  .container-inner{
    padding:50px 100px 100px;
  }
  #footer-menu li{padding:  0 20px;}
  #copy{
    text-align: right;
    margin: 0;
  }
  #main-view{ padding: 75px 0 0;}
  #h1-top{
    font-size: 6.5rem;
  }
  .bubble-teltol{
    font-size:4.8rem;
    margin-top: -33px;
  }
  .mypage .container-wrap{
    padding-top: 150px;
  }


}


@media only screen and (min-width : 992px) {
  .header{padding: 10px}
  h1#logo{
    left: 15%;
  }
  .col-15 > div ,.col-30 > div ,.col-60 > div { margin-bottom: 0;}
  .container-wrap, .mypage footer .container-wrap{padding:64px 0 64px 0;}
  .container-wrap-top{padding:150px 0 64px 0;}
  .main-price500{
    margin: 0 auto;
  }
  h3#lead{;margin-bottom: 1.4em;}
  .arrow-r{width: 15px;position: absolute;top: calc(50% - 30px);right: -45px;}
  #faq .num{margin-right: 1em; font-size: xx-large;}
  #scene dt {width: 50px;margin-right: 6px;}
  #scene dl{ padding: 0.3em 2em 0.3em 0.5em;}

  .scene-img{width: 100%;}
    
}

@media only screen and (min-width : 1200px) {
  h1#logo{width:180px;left: 18%;}
  .menu{margin-right: 10%!important;}
    
}
@media only screen and (min-width : 1600px) {
  h1#logo{left: 27%;}
  .menu{margin-right: 18%!important;}
  #nav-header{
    padding-right: 20%;
  }

}