@charset "UTF-8";
/*=======================================================

clear

=======================================================*/
html, body {
    margin: 0;
    padding: 0;
    font-size: 100%;
    font-weight:normal;
    text-align:center;
    font-family:'Lucida Grande','Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
*:before,
*:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6, address {
    margin: 0;
    padding: 0;
    border: 0;
    font-style: normal;
    font-weight: normal;
    font-size: 100%;
}
div, blockquote, p, pre, ul, ol, li, dl, dt, dd {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
}
table,th,td{
    margin: 0;
    padding: 0;
    font-style: normal;
}
ul, li{list-style: none;}
span,a,img,strong {
    margin: 0;
    padding: 0;
    border: 0;
    text-decoration:none;
    border:none;
    font-style: normal;
}
a {
    text-decoration: none;
}
a:visited {
}
a:hover,
a:focus{
    text-decoration: underline;
}
img {
    outline: 0;
    border: none;
    vertical-align:bottom;
}
p {
    text-align:left;
}
  /* clearfix
-------------------------*/
.clearfix:after {
    content:".";
    clear:both;
    height:0;
    display:block;
    visibility:hidden;
}
.clearfix {
    zoom:1;
}

/*=======================================================

common

=======================================================*/
html, body{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 100;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  text-align: left;
  background: #fff !important;
}
@media (max-width: 767px) {
  html, body{
    font-size: ;
    line-height: ;
    overflow-x: hidden;
  }
}
img{max-width: 100%;}
@media (max-width: 767px) {
  img{max-width: 100%;}
}
a{
  color: #3646e0;
  transition: background .3s;
}
a::after,a::before{
  transition: background .3s;
}
a:visited {color: #3646e0;}
a:hover,
a:focus{color: #3646e0;}
.container{/*固定幅を記入*/
  width: 1100px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1099px) {/*固定幅-1を記入*/
  .container{width: auto;}
}
@media (max-width: 767px) {
  .container{width: auto;}
}
.cp{/*common-padding 共通paddingを記入*/
  padding: 30px;
}
@media (max-width: 767px) {
  .cp{
    padding: 8% 5%;
  }
}
iframe[name="google_conversion_frame"] {
  position: absolute;
  top: 0;
}
.bg_blue {
  background-color: #f6f3e2;
}
.bg_blue >*, 
.bg_blue h2 {
  color: #147a4f!important;
}
h2 {
  color: #005bac;
  font-size: 1.4em;
  font-weight: 300;
  line-height: 1.6;
  margin-bottom: 8%;
}
h3 {
  color: #005bac;
  font-size: 1.4em;
  font-weight: 300;
  border-bottom: 1px dashed #005bac;
  margin-bottom: 4%;
}
.btn {
  display: block;
  width: 90%;
  background-color: #0daa00;
  border-radius: 10px;
  line-height: 1;
  font-size: 1.5em;
  font-weight: 600;
  color: #fff!important;
  text-align: center;
  padding: 5% 5% 5% 10%;
  margin: 0 auto;
  position: relative;
}
.btn:hover, .btn:visited {
  text-decoration: none;
  opacity: 0.8;
}
.btn::before {
  position: absolute;
  display: block;
  content: " ";
  width: 0;
  height: 0;
  border: 11px transparent solid;
  border-left: 18px #fff solid;
  top: 50%;
  margin-top: -11px;
  left: 20px;
}
.btn.blue {
  background-color: #005bac;
}
section p+img {
  margin-top: 5%;
}


/* header
-------------------------------------------------------*/
header .wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 4% 2% 3% 6%;
}
header .logo {
  width: 45%;
}
header .menu {
  width: 17%;
  padding: 0% 5% 2%;
}
/*
#menu-right {
  background-color: #114694;
}
#menu-right .ttl{
  background-color: #092d62;	
  font-weight:bold;
  text-align:center;
}
#menu-right li {
  background-color: #114694;
  color: white;
  border-bottom: 1px solid #fff;
  text-align: left;
  font-size: 16px;
  line-height: 1em;
}
#menu-right a{
  font-weight: 300;
  color:#fff;
  text-decoration:none;
  display:block;
  padding: 20px 0 20px 85px;
}
#menu-right a:hover {
  opacity: 0.8;
}
*/
/* メニュー */
#menu {
  position: fixed;
  top: 9px;
  right: 16px;
  display: inline-block;
  z-index: 99;
}
#menu .menu_list {
  position: fixed;
  top: 0;
  right: -100vw;
  width: 250px;
  height: 100%;
  cursor: pointer;
  -webkit-transition: 0.53s transform;
          transition: 0.53s transform;
  -webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
          transition-timing-function: cubic-bezier(.38,.52,.23,.99);
  background-color: #114694;
}
#menu .menu_list ul {
  margin: 0;
  padding: 0;
}
#menu .menu_list li {
  background-color: #114694;
  color: white;
  border-bottom: 1px solid #fff;
  text-align: left;
  font-size: 16px;
  line-height: 1em;
}
#menu .menu_list li a {  
  font-weight: 300;
  color:#fff;
  text-decoration:none;
  display:block;
  padding: 20px 0 20px 30px;
}

#menu #menu_toggle {
  position: absolute;
  display: none;
  opacity: 0;
}
#menu #menu_toggle:checked ~ .menu_list {
  -webkit-transform: translateX(-100vw);
          transform: translateX(-100vw);
}
/* menu toggle */
#menu #menu_toggle ~ label {
  display: block;
  cursor: pointer;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  -webkit-transition: 0.5s transform;
          transition: 0.5s transform;
  -webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
          transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
  background-color: rgb(255 255 255 / 0.6);
  background-image: url('../imgs/menu.png');
  background-repeat: no-repeat;
  background-size: 65% auto;
  background-position: 50% 55%;
}
#menu #menu_toggle:checked ~ label {
  -webkit-transform: translateX(-250px);
	        transform: translateX(-250px);
}
#menu #menu_toggle:checked ~ label {
  /*content: '\f00d';*/
}


/* #main
-------------------------------------------------------*/

/* #leading
-------------------------------------------------------*/
#leading img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/* #trajectory
-------------------------------------------------------*/
#trajectory {
  background-color: #f2f2f2;
}
#trajectory ul li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10%;
}
#trajectory ul li:last-of-type {
  margin-bottom: 0;
}
#trajectory ul li .txt {
  text-align: left;
}
#trajectory ul li img {
  width: 52%;
  height: auto;
}
#trajectory ul li:nth-of-type(odd) img {
  margin-right: 3%;
}
#trajectory ul li:nth-of-type(even) img {
  margin-left: 3%;
}

/* #gold_medal
-------------------------------------------------------*/

/* #about
-------------------------------------------------------*/

/* #evaluation
-------------------------------------------------------*/
#evaluation dl {
  position: relative;
  padding: 0 0 8%;
  margin-bottom: 8%;
}
#evaluation dl:last-of-type {
  margin-bottom: 0;
}
#evaluation dl::before {
  position: absolute;
  display: block;
  content: " ";
  width: 60%;
  height: 1px;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
  background-image: repeating-linear-gradient(90deg, transparent, transparent 4px, rgba(255, 255, 255, 1) 4px, rgba(255, 255, 255, 1) 18px );
  background-size: 60% 1px;
  bottom: 0;
  left: 0;
}
#evaluation dl:last-of-type::before {
  display: none;
}
#evaluation dt {
  font-size: 1.2em;
  padding-left: 16px;
  margin-bottom: 2%;
  position: relative;
}
#evaluation dt::before {
  position: absolute;
  display: block;
  content: " ";
  width: 10px;
  height: 10px;
  background: #fff;
  background-size: 10px 10px;
  top: 50%;
  margin-top: -5px;
  left: 0;
}

/* #voice
-------------------------------------------------------*/
#voice img {
  display: block;
  margin: 0 auto;
}

/* #sample
-------------------------------------------------------*/
#sample h2 {
  text-align: center;
}
#sample img {
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 8%;
}

/* #amazon
-------------------------------------------------------*/
#amazon {
  padding-top: 17%;
}
#amazon h2 {
  text-align: center;
}
#amazon img {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
#amazon .btn.amazon {
  margin-top: 5%;
}

/* footer
-------------------------------------------------------*/
footer {
  font-size: 0.8em;
  font-weight: 300;
  color: #005bac;
}
footer .container {
}
footer .link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 3%;
}
footer .link li {
  position: relative;
}
footer .link li::before {
  position: absolute;
  display: block;
  content: " ";
  width: 1px;
  height: 10px;
  background: #005bac;
  background-size: 1px 10px;
  top: 50%;
  margin-top: -5px;
  right: 0;
}
footer .link li:last-of-type::before {
  display: none;
}
footer .link li a{
  display: inline-block;
  color: #005bac;
  line-height: 1;
  white-space: nowrap;
  width: 100%;
  padding: 0 10px;
}
footer .copyright {
  font-size: 0.7em;
  text-align: center;
}



/*=======================================================

pc only

=======================================================*/
      @media (min-width: 768px) {
        html, body {
          font-size: 1.1em;
        }
        .cp {
          padding-top: 80px;
          padding-bottom: 60px;
        }
        .btn {
          width: 45%;
          border-radius: 15px;
          font-size: 2.2em;
          padding: 3% 2% 3% 6%;
        }
        .btn::before {
          border: 24px transparent solid;
          border-left: 44px #fff solid;
          top: 50%;
          margin-top: -24px;
          left: 40px;
        }
        h2 {
          font-size: 1.5em;
          line-height: 1.8;
          letter-spacing: 4px;
        }
        header .wrap {
          padding: 2% 0 1% 0;
        }
        header .logo {
          width: 21%;
        }
        #menu {
          top: 16px;
          right: 16px;
        }
        #menu #menu_toggle ~ label {
          width: 60px;
          height: 60px;
        }
        #main {
          background: url('../imgs/_pc/main_pc_bg.jpg') no-repeat;
          background-size: 2000px 700px;
          background-position: 50% top;
        }     
        #leading .container{
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
          justify-content: space-between;
        }
        #leading img {
          width: 42%;
          -moz-transform: translate(30px, 30px);
          -ms-transform: translate(30px, 30px);
          -webkit-transform: translate(30px, 30px);
          transform: translate(30px, 30px);
        }
        #trajectory {
          padding-bottom: 40px;
        }
        #trajectory ul li:nth-of-type(odd) {
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start;
        }
        #trajectory ul li:nth-of-type(even) {
          -webkit-box-pack: end;
          -ms-flex-pack: end;
          justify-content: flex-end;
        }
        #trajectory ul li img {
          width: 44%;
        }
        #trajectory h3 {
          padding-bottom: 15px;
          margin-bottom: 20px;
          letter-spacing: 3px;
        }
        #gold_medal .container {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
          justify-content: space-between;
          flex: 1;
        }
        #gold_medal .wrap {
          width: 45%;
        }
        #gold_medal img {
          width: 55%;
          -moz-transform: translate(40px, 20px);
          -ms-transform: translate(40px, 20px);
          -webkit-transform: translate(40px, 20px);
          transform: translate(40px, 20px);
        }
        #gold_medal h2 {
          letter-spacing: 3px;
        }
        #about {
          padding-bottom: 0;
        }
        #about img {
          -moz-transform: translateY(-80px);
          -ms-transform: translateY(-80px);
          -webkit-transform: translateY(-80px);
          transform: translateY(-80px);
        }
        #evaluation dl::before {
          width: 29%;
        }
        #voice h2 {
          text-align: center;
        }
        #voice img {
          width: 100%;
        }
        #sample h2 {
          font-size: 1.8em;
          font-weight: 600;
        }
        #amazon {
          padding-top: 65px;
        }
        #amazon .container {
          position: relative;
          z-index: 0;
        }
        #amazon h2 {
          font-size: 1.8em;
          font-weight: 600;
        }
        #amazon .btn.amazon {
          position: absolute;
          width: 40%;
          right: 80px;
          bottom: 100px;
          z-index: 1;
        }
        footer {
          font-size: 1em;
        }
        footer .container {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: justify;
          -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
          justify-content: space-between;
          -webkit-box-align: center;
          -webkit-align-items: center;
          -ms-flex-align: center;
          align-items: center;
        }
        footer .link {
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start;
          width: 60%;
          margin-bottom: 0;
        }
        footer .copyright {
          font-size: 1em;
          text-align: right;
        }
        footer .link li::before {
          height: 18px;
          margin-top: -9px;
        }
        footer .link li a{
          padding: 0 30px;
        }
        
        ._only-sp{display:none!important;}
        ._only-pc{display:block!important;}
      }/* pc only end */


/*=======================================================

 sp only

=======================================================*/
@media (max-width: 767px){
  ._only-sp{display:block!important;}
  ._only-pc{display:none!important;}
  
  @media (max-width: 640px){
  }
  @media (max-width: 414px){
  }
  @media (max-width: 375px){
  }
  @media (max-width: 320px){
  }
  
}/* sp only end */


