@charset "UTF-8";
/* CSS Document */

/*********************************************************************
*
* Copyright (c) CUBIC DESIGN INC.
*
* Url : http://www.cubicdesign.co.jp
*
* Built       : 2018/04/01
* Last update : 2018/04/01
* Made by     : Matsuoka Tomoaki
* Updated by  : Matsuoka Tomoaki
*
**********************************************************************/


/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ height: 100%; overflow-y: scroll;}
body{ height: 100%; margin: 0; padding: 0; font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo, Osaka,"ＭＳ Ｐゴシック","MS PGothic","sans-serif"; text-align: justify; text-justify: inter-ideograph; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
img{ width: 100%; max-width: 100%; height: auto; border: 0; vertical-align: bottom;}
svg{ vertical-align: bottom;}
form{ margin: 0; padding: 0;}
p{ margin: 0; padding: 0;}
a, a:hover{ text-decoration: none; outline: none;}
h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; font-size: 0; line-height: 0;}
ul, dl, dt, dd{ margin: 0; padding: 0;}
li{ margin: 0; padding: 0; list-style: none;}
table{ border: 0; border-collapse: collapse; border-spacing: 0;}
caption, th{ text-align: left;}
header, nav, main, article, aside, section, footer{ display: block;}
figure{ display: block; margin: 0;}
*{ box-sizing: border-box;}



/*************************************************************************************************************************
* 画面幅：640px 以下
*************************************************************************************************************************/
html{ font-size: 13px; color: #4d4d4d;}
@media print, screen and (min-width:681px){
  body{ min-width: 1000px;}
}


/* header
**********************************************************************/
header{ width: 100%; height: 60px; position: fixed; z-index: 99;}
header nav{ width: 100%; height: 0; background: #008080; position: absolute; top: 0; left: 0; z-index: 3; overflow: hidden; transition: all .4s;}
header nav.active{ height: calc(100vh);}
header nav h1{ width: 98px; height: 20px; margin: 22px 0 5px 16px;}
header nav ul{ width: 100%; padding: 16px;}
header nav ul li{ font: 700 15px/1 "heisei-kaku-gothic-std"; border-bottom: 1px solid rgba(255,255,255,.3);}
header nav ul li:first-child{ border-top: 1px solid rgba(255,255,255,.3);}
header nav ul li a{ display: block; width: 100%; padding: 15px 0; color: #ffffff;}
header .head{ width: 100%; height: 60px; background: #ffffff; position: relative;}
header .head p.news{ display: none;}
header .head a.jlogo{ display: block; width: 109px; height: 35px; position: absolute; top: 12px; left: 13px;}
header .head p.tel{ padding: 0 10px 0 0; border-right: 1px solid #c2c2c2; position: absolute; top: 17px; right: 50px;}
header .head p.tel a{ display: block; width: 128px; height: 15px; padding: 0 0 0 20px; background: url(../img/icon_tel.svg) no-repeat left top/15px 15px; line-height: 1;}
header .head p.tel > img{ display: block; width: 128px; margin: 5px 0 0 3px;}
header .head a.trigger,
header .head a.trigger span{ display: inline-block; transition: all .4s; z-index: 4;}
header .head a.trigger{ width: 24px; height: 18px; position: absolute; top: 20px; right: 13px;}
header .head a.trigger span{ width: 100%; height: 2px; background: #008080; position: absolute; left: 0;}
header .head a.trigger span:nth-of-type(1){ top: 0;}
header .head a.trigger span:nth-of-type(2){ top: 9px;}
header .head a.trigger span:nth-of-type(3){ top: 18px;}
header .head a.trigger.active span{ background: #ffffff;}
header .head a.trigger.active span:nth-of-type(1){ transform: translateY(10px) rotate(-45deg);}
header .head a.trigger.active span:nth-of-type(2){ opacity: 0;}
header .head a.trigger.active span:nth-of-type(3){ transform: translateY(-8px) rotate(45deg);}
@media print, screen and (min-width:681px){
  header{ height: 150px; position: relative; overflow: hidden;}
  header nav{ max-width: 1120px; height: 90px; background: none; top: 60px; left: 50%; transform: translateX(-50%);}
  header nav.active{ height: 90px;}
  header nav h1{ width: 110px; height: 23px; margin: 0; position: absolute; top: 31px; left: 20px;}
  header nav ul{ display: inline-block; width: auto; padding: 0; overflow: hidden; position: absolute; top: 36px; right: 20px;}
  header nav ul li{ margin: 0 0 0 40px; line-height: 1.2; border: none; float: left;}
  header nav ul li:first-child{ border: none;}
  header nav ul li a{ padding: 0;}
  header .head p.news{ display: block; height: 25px; padding: 5px 0 0 98px; font: 900 17px/1 "heisei-kaku-gothic-std"; color: #008080; position: absolute; top: 17px; left: 20px;}
  header .head p.news span{ display: inline-block; padding: 6px 10px 5px 10px; background: #008080; font-size: 13px; color: #ffffff; position: absolute; left: 0; top: 0;}
  header .head p.news span::after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 4.5px 0 4.5px 5px; border-color: transparent transparent transparent #008080; position: absolute; top: 8px; right: -5px;}
  header .head p.news strong{ color: #cb3180;}
  header .head a.jlogo{ width: 130px; height: 42px; top: 8px; left: auto; right: 20px !important;}
  header .head p.tel{ border: none; top: 14px; right: 150px;}
  header .head p.tel a{ width: 150px; height: 20px; padding: 0 0 0 20px; background-size: 18px 18px;}
  header .head p.tel > img{ width: 154px; margin: 3px 0 0 1px;}
  header .head a.trigger{ display: none;}
}


/* main
**********************************************************************/
main{ width: 100%; padding: 76px 16px 16px 16px; background: url(../img/main_bg_sp.jpg) no-repeat left top/100% 100%; position: relative;}
main .txtbg{ background: #fff; padding: 20px 16px;}
main .txtbg h2{ display: block; width: 100%;}
main::after{ content: ""; width: 0; height: 0; border-style: solid; border-width: 16px 16px 0 16px; border-color: #eaeeed transparent transparent transparent; position: absolute; left: 50%; bottom: -16px; transform: translateX(-50%);}
@media print, screen and (min-width:681px){
  main{ height: 640px; margin: -150px 0 0 0; padding: 150px 20px 0 20px; background: url(../img/main_bg_pc.jpg) no-repeat left top/100% 100%; overflow: hidden;}
  main .img{ display: none;}
  main .txtbg{ background: url("../img/main_img_pc.jpg") no-repeat center/cover; width: 1080px; height: 430px; margin: 0 auto; position: relative;}
  main .txtbg h2{ width: 400px; height: 206px; background: url(../img/main_text_pc.svg) no-repeat left top/contain; position: absolute; left: 50px; top: 50px;}
  main .txtbg h2 img{ display: none;}
  main::after{ border-width: 21px 21.5px 0 21.5px;}
}


/* about
**********************************************************************/
#about{ padding: 30px 0; background: #008080 url(../img/about_bg.png) no-repeat center top/1200px 711px;}
#about h3{ font: 700 20px/1 "heisei-kaku-gothic-std"; color: #ffffff; letter-spacing: 1px; text-align: center;}
#about strong{ display: block; width: 100%; margin: 10px 0 20px 0; font: 500 15px/1 "heisei-kaku-gothic-std"; color: #ffffff; letter-spacing: 1px; text-align: center;}
#about p{ display: block; width: 100%; padding: 0 16px 16px 16px; font: 300 14px/1.6 "heisei-kaku-gothic-std"; color: #ffffff; text-align: center;}
#about p br{ display: none;}
#about .img{ width: 100%; height: 120px; background: url(../img/about_img_sp.svg) no-repeat center top/441px 120px; border-bottom: 1px solid rgba(255,255,255,.3); overflow: hidden; text-indent: 120%; white-space: nowrap;}
@media print, screen and (min-width:681px){
  #about{ padding: 70px 0; background-position: center top;}
  #about h3{ font-size: 32px;}
  #about strong{ margin: 20px 0 50px 0; font-size: 21px; letter-spacing: 3px;}
  #about p{ padding: 0 0 30px 0; font-size: 15px;}
  #about p br{ display: block;}
  #about .img{ height: 160px; background: url(../img/about_img_pc.svg) no-repeat center top/680px 160px;}
}


/* for
**********************************************************************/
#for{ padding: 20px 16px 0 16px; background: #d8e5e7;}
#for h3{ margin: 0 0 15px 0; padding: 0 0 10px 0; font: 700 20px/1 "heisei-kaku-gothic-std"; color: #cb3180; letter-spacing: 1px; text-align: center; border-bottom: 2px solid #cb3180;}
#for dl dt{ margin: 0 0 10px 0; padding: 3px; background: #cb3180; font: 700 14px/1 "heisei-kaku-gothic-std"; color: #fff;}
#for dl dd{ margin: 0 0 10px 0; padding: 0 0 0 20px; font: 700 14px/1 "heisei-kaku-gothic-std"; color: #cb3180; position: relative;}
#for dl dd::before{ content: ""; width: 17px; height: 15px; background: url(../img/for_list.svg) no-repeat; position: absolute; top: 0; left: 0;}
#for ul li{ margin: 0 0 10px 0; padding: 0 0 0 20px; font: 700 14px/1 "heisei-kaku-gothic-std"; color: #cb3180; position: relative;}
#for ul li::before{ content: ""; width: 17px; height: 15px; background: url(../img/for_list.svg) no-repeat; position: absolute; top: 0; left: 0;}
#for .img{ width: 288px; height: 220px; margin: 20px auto 0 auto; position: relative;}
#for .img img:nth-child(1){ width: 180px; height: 158px; position: absolute; top: 0; left: 0;}
#for .img img:nth-child(2){ width: 200px; height: 213px; position: absolute; bottom: 0; right: -10px;}
@media print, screen and (min-width:681px){
  #for{ padding: 60px 0 0 0;}
  #for h3{ width: 980px; margin: 0 auto 30px auto; padding: 0 0 18px 0; font-size: 32px;}
  #for dl{ width: 980px; height: 250px; margin: 0 auto; padding: 0 0 0 273px; background: url(../img/for_bg.png) no-repeat left top/229px 250px;}
  #for dl dt{ width: 420px; font-size: 18px;}
  #for dl dt:nth-of-type(2){ margin: 20px 0 10px 0;}
  #for dl dd{ margin: 0 0 10px 0; padding: 2px 0 0 26px; font-size: 18px;}
  #for dl dd::before{ width: 20px; height: 18px;}
  #for ul{ width: 980px; height: 250px; margin: 0 auto; padding: 0 0 0 265px; background: url(../img/for_bg.png) no-repeat left top/229px 250px;}
  #for ul li{ margin: 0 0 15px 0; padding: 2px 0 0 26px; font-size: 23px;}
  #for ul li::before{ width: 20px; height: 18px; top: 4px;}
  #for .img{ width: 980px; height: 306px; margin: -264px auto 0 auto;}
  #for .img img:nth-child(1){ width: 229px; height: 200px; position: absolute; top: 40px; left: auto; right: 30px;}
  #for .img img:nth-child(2){ width: 216px; height: 230px; position: absolute; bottom: -120px; right: 0px;}
}


/* release
**********************************************************************/
#release{ padding: 20px 16px; background: #ffe100;}
#release div{ width: 100%; max-width: 310px; height: 50px; margin: 0 auto; border: 3px solid #008080; position: relative;}
#release div dl{ width: calc(100% - 20px); height: 56px; background: #ffe100; position: absolute; top: -3px; left: 10px;}
#release div dl dt{ width: 100%; padding: 6px 0 3px 0; font: 900 18px/1 "heisei-kaku-gothic-std"; color: #008080; text-align: center; letter-spacing: -1px;}
#release div dl dd{ width: 100%; text-align: center;}
#release div dl dd a{ font: 300 13px/1 "heisei-kaku-gothic-std"; color: #4d4d4d;}
@media print, screen and (min-width:681px){
  #release{ padding: 28px 0 0 0; height: 120px;}
  #release div{ width: 536px; height: 60px; max-width: none; border: 4px solid #008080;}
  #release div dl{ height: 64px; top: -4px;}
  #release div dl dt{ padding: 5px 0 6px 0; font-size: 30px;}
  #release div dl dd a{ font-size: 15px;}
}


/* contact
**********************************************************************/
#contact{ padding: 20px 16px; background: #ffe100;}
.contact-btn{ display:block; width: calc(100vw - 32px); height: 50px; margin: 0 auto; background: #008080; font: 700 14px/50px "heisei-kaku-gothic-std"; color: #ffffff; text-align: center; border-radius: 3px; box-shadow: 0px 3px 0px 0px #15656b; transition: box-shadow .1s,transform .1s;}
@media print, screen and (min-width:681px){
  #contact{ padding: 28px 0 0 0; height: 120px;}
  .contact-btn{ width: 500px; height: 60px; font-size: 18px; line-height: 60px;}
  .contact-btn:hover{ transform: translateY(3px); box-shadow: none !important;}
}
.contactNotes{
	text-align: center;
	text-indent: -1em;
	padding: 20px 20px 0;
}

/* comparison
**********************************************************************/
#comparison{ padding: 20px 16px;}
#comparison h3{ margin: 0 0 10px 0; padding: 0 0 10px 0; font: 700 18px/1 "heisei-kaku-gothic-std"; color: #808080; text-align: center;}
#comparison ul li h4{ width: 100%; margin: 0 0 10px 0; padding: 10px 0; font: 700 14px/1 "heisei-kaku-gothic-std"; color: #808080; text-align: center; border: 2px solid #a5a5a5;}
#comparison ul li p.img{ display: block; overflow: hidden; text-indent: 120%; white-space: nowrap;}
#comparison ul li p.text{ display: none;}
#comparison ul li:nth-child(2){ margin: 20px 0 0 0;}
#comparison ul li:nth-child(2) h4{ color: #ffffff; background: #008080 !important; border: 2px solid #008080;}
#comparison ul li:nth-child(1) p.img{ width: 100%; height: calc((100vw - 32px)*1.02); background: url(../img/comparison_img01_sp.png) no-repeat left top/cover;}
#comparison ul li:nth-child(2) p.img{ width: 100%; height: calc((100vw - 32px)*1.11); background: url(../img/comparison_img02_sp.png) no-repeat left top/cover;}
#comparison img.carimg{ display: none;}
@media print, screen and (min-width:681px){
  #comparison{ padding: 60px 0 90px 0; position: relative;}
  #comparison h3{ margin: 0 0 40px 0; padding: 0; font-size: 28px;}
  #comparison ul{ width: 980px; margin: 0 auto; overflow: hidden;}
  #comparison ul li{ width: 489px; float: left; position: relative;}
  #comparison ul li:nth-child(2){ width: 490px; margin: 0; border-left: 1px solid rgba(125,125,125,.4);}
  #comparison ul li h4{ width: 395px; height: 60px; padding: 18px 0 0 0; font-size: 18px;}
  #comparison ul li:nth-child(1) h4{ margin: 0 15px 15px 0; float: right;}
  #comparison ul li:nth-child(2) h4{ margin: 0 0 15px 15px;}
  #comparison ul li:nth-child(1) p.img{ width: 489px; height: 460px; background: url(../img/comparison_img01_pc.png) no-repeat left top/489px 460px;}
  #comparison ul li:nth-child(2) p.img{ width: 490px; height: 460px; background: url(../img/comparison_img02_pc.png) no-repeat left top/490px 460px;}
  #comparison ul li p.text{ display: block; width: 213px; height: 19px; position: absolute; top: 250px; left: 380px; z-index: 999;}
  #comparison img.carimg{ display: block; width: 564px; position: absolute; bottom: -50px; left: 50%; transform: translateX(-50%);}
}


/* faq
**********************************************************************/
#faq{ padding: 20px 16px; background: #e6e6e6;}
#faq h3{ margin: 0 0 10px 0; padding: 0 0 10px 0; font: 700 18px/1 "heisei-kaku-gothic-std"; color: #2e919e; text-align: center;}
#faq ul{ width: 100%; margin: 0 0 15px 0;}
#faq ul li{ margin: 0 0 5px 0; background: #ffffff; border-radius: 5px;}
#faq ul li dl dt{ padding: 12px 40px 11px 40px; font: 700 13px/1.3 "heisei-kaku-gothic-std"; position: relative; overflow: hidden;}
#faq ul li dl dt span{ display: block; font: 700 13px/1 "Roboto"; color: #2e919e; position: absolute; left: 15px; top: 12px;}
#faq ul li dl dt::before,
#faq ul li dl dt::after{ content: ""; width: 12px; height: 2px; background: #2e919e; transform: rotate(-90deg); position: absolute; top: 50%; right: 15px; transform: rotateY(-50%); transition: all .2s;}
#faq ul li dl dt::after{ transform: rotate(0);}
#faq ul li dl dt.open::before{ transform: rotate(0);}
#faq ul li dl dd{ height: 0; padding: 0 40px; font-size: 13px; line-height: 1.5; border-top: 0px solid #dce0e0; position: relative; overflow: hidden; transition: all .2s;}
#faq ul li dl dd::after{ content: "A."; width: 10px; height: 10px; font: 700 13px/1 "Roboto"; color: #fc5032; position: absolute; top: 12px; left: 22px; opacity: 0; transition: all .2s;}
#faq ul li dl dd.open{ height: auto; padding: 10px 40px; border-top: 1px solid #dce0e0;}
#faq ul li dl dd.open::after{ opacity: 1;}

@media print, screen and (min-width:681px){
  #faq{ padding: 70px 0 50px 0;}
  #faq h3{ margin: 0 0 40px 0; padding: 0; font-size: 28px;}
  #faq ul{ width: 980px; margin: 0 auto 30px auto; padding: 0;}
  #faq ul li dl dt{ padding: 17px 50px 15px 70px; font-size: 16px;}
  #faq ul li dl dt span{ margin: 0; font-size: 22px; left: 30px; top: 15px;}
  #faq ul li dl dt::before,
  #faq ul li dl dt::after{ width: 16px; right: 20px;}
  #faq ul li dl dd{ padding: 0 50px 0 70px; font-size: 14px; line-height: 1.6;}
  #faq ul li dl dd.open{ padding: 20px 50px 20px 70px;}
  #faq ul li dl dd::after{ font-size: 22px; top: 0; left: 43px;}
  #faq ul li dl dd.open::after{ top: 20px;}
}

.faq__box-table{ width: 100%; margin: 20px 0 0 0; border-right: #3EB1C6 solid 1px; border-collapse: collapse;}
.faq__box-table thead th{ padding: 10px; background: #3EB1C6; font-size: 13px; color: #FFF; text-align: center; border-right: #FFF solid 1px; border-bottom: #FFF solid 1px;}
.faq__box-table thead th:last-child{	border-right: #3EB1C6 solid 1px;}
.faq__box-table tbody th{ padding: 10px; background: #3EB1C6; font-size: 13px; color: #FFF; text-align: center; border-bottom: #FFF solid 1px; vertical-align: center;}
.faq__box-table tbody tr:last-child th{	border-bottom: #3EB1C6 solid 1px;}
.faq__box-table tbody td{ padding: 10px; background: #FFF; font-size: 13px; text-align: center; border-left: #3EB1C6 solid 1px; border-bottom: #3EB1C6 solid 1px; vertical-align: center;}
@media print, screen and (max-width: 681px){
  .faq__box-table thead{ display: none;}
  .faq__box-table tbody th{ display:block;}
  .faq__box-table tbody td{ display:block;}
  .faq__box-table tbody td::before{ content: attr(label); float: left; clear: both; font-weight: bold;}
  .faq__box-table tbody td p{ padding-left: 6em;}
}


/* gms
**********************************************************************/
#gms{ padding: 20px 0;}
#gms img{ display: block; width: 125px; height: 30px; margin: 0 auto;}
#gms p{ margin: 10px 0 0 0; padding: 0 20px; font-size: 12px; line-height: 1.3; text-align: center;}
#gms a{ color: #2e919e; text-decoration: underline;}
@media print, screen and (min-width:681px){
  #gms{ padding: 50px 0;}
  #gms img{ width: 146px; height: 35px;}
  #gms p{ font-size: 14px;}
}


/* footer
**********************************************************************/
footer{ padding: 15px 0; background: #5c5c5c;}
footer p{ display: block; font-size: 10px; color: rgba(255,255,255,.5); text-align: center;}
@media print, screen and (min-width:681px){
  footer{ padding: 30px 20px;}
  footer p{ text-align: right;}
}

#about .notes,
#comparison .notes,
#faq .notes{
	text-align: center;
	font-size: 12px;
	margin-top: 20px;
}
