/* ========================================================================
ResetCss
======================================================================== */
/* 要素 フォントサイズ・マージン・パディングをリセット */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  font-weight: normal;
  vertical-align:baseline;
  background:transparent;
}

/* 行の高=フォントサイズ */
body {
  line-height:1;
}

/* 新規追加要素をブロック要素化 */
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}

/* ulのマーカー非表示 */
ol, ul {
  list-style: none;
}

/* 引用符の非表示 */
blockquote, q {
  quotes:none;
}

/* blockquote要素、q要素の前後にコンテンツ非表示 */
blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}

/* フォントサイズ　リセット フォントの縦方向 ベースライン揃え 点線削除 */
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  outline: none;
  text-decoration: none;
}

/* ins要素 デフォルトセット 色を変える場合はここで変更 */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}

/* mark要素 デフォルトセット 色やフォントスタイルを変える場合はここで変更 */
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

/* テキスト 打ち消し線 */
del {
  text-decoration: line-through;
}

/* IE　デフォルトで点線を下線表示設定　下線設定 マウスオーバー時 ヘルプカーソル表示可 */
abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}

/*　隣接するセルのボーダーを重ねて表示　*/
table {
  border-collapse:collapse;
  border-spacing:0;
}

/* 水平罫線デフォルトリセット */
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

/* 縦方向の揃え 中央揃え */
input, select {
  vertical-align:middle;
}

/* 画像を縦に並べた時に余白0 */
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
*, *: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;
}

/*画像レスポンシブ*/
img {
  max-width: 100%;
  height: auto;
}

/*改行のweb際のBR高さバグ修正*/
br {
  line-height: inherit;
}

/*  レスポンシブ用
-------------------------------------------------------------*/
/*  pcのみ  */
.sp-only {display: none !important;}
.pc-only {display: block !important;}

/*  spのみ  */
@media screen and (max-width: 999px) {
  .pc-only {display: none !important;}
  .sp-only {display: block !important;}
}

/*  共通
-------------------------------------------------------------*/
html {
	width: 100%;
	height: 100%;
	font-size: 0.7142857vw;
}

@media screen and (max-width: 1920px) {
	html {font-size: 0.7142857vw;}
}

@media (max-width: 999px) {
	html {font-size: 2.6666667vw;}
}



body{
  font-family: "M PLUS Rounded 1c", sans-serif;
  width: 100%;
  height: 100%;
  position: relative;
  margin: 0px;
  line-height: normal;
  font-size: 1.6rem;
  font-weight: 700;
  color: #404040;
  counter-reset: number 0;
  line-height: 1.71428571;
}

.en {font-family: "DynaPuff", system-ui; font-weight: 500;}

a {transition: all .2s; -webkit-transition: all .2s; -moz-transition: all .2s; -ms-transition: all .2s; color: #000;}
a:hover {opacity: 0.7; transition:.2s all; text-decoration: none;}
a img {transition:.2s all;}
a img:hover {opacity: 0.7; transition:.2s all;}
button {transition:.2s all;}
button:hover {opacity: 0.7; transition:.2s all;}
form {margin: 0;}

main {position: relative; z-index: 1;}
.inner {width: 100%; max-width: 120rem; margin: 0 auto; position: relative;}
.inner.small {max-width: 1100px;}
.list {display: flex; flex-wrap: wrap;}

@media screen and (max-width: 999px) {
 .list {flex-direction: column;}
}

.button {border: 0; display: flex; justify-content: center; align-items: center; width: auto; height: auto; font-size: 100%;}
.footer_area {display: none;}

/* パンクズ
-------------------------------------------------------------*/
.breadcrumbs {padding-top: 2rem;}
.breadcrumbs ul {display: flex; align-items: center; gap: 1rem;}
.breadcrumbs li {display: flex; align-items: center; gap: 1rem; font-size: 1.4rem;}
.breadcrumbs li:after {content: ""; width: 1rem; height: .1rem; background: #A7A7A7; display: block;}
.breadcrumbs li:last-child::after {display: none;}

@media screen and (max-width: 999px) {
  .breadcrumbs {padding-left: 2rem;}
  .breadcrumbs .inner {overflow-x: scroll;}
  .breadcrumbs ul {white-space: nowrap;}
}



/* =================================================================
ヘッダー
=================================================================*/
header {position: fixed; top: 0; width: 100%; z-index: 1001;}
header .inner {background-color: #FF7890; max-width: 100%; height: 8rem; position: relative; display: flex; justify-content: space-between; align-items: center; padding: 0 5.5rem 0 6rem;}
header h1 {position: absolute; width: 16rem; left: 0; right: 0; top: 0; margin: auto; border: 0px; padding: 0;}
header .left-nav {display: flex; align-items: center; gap: 5.2rem;}
header .right-nav {display: flex; align-items: center; gap: 5rem;}
header a {color: #fff; font-size: 1.5rem; font-weight: 700; text-align: center;}

#menu_button2,
#head_submenu2 {display: none;}

@media screen and (max-width: 1285px) {
  header .inner {height: 5.4rem;}
  header h1 {width: 9.3rem;}
  header .left-nav,
  header .right-nav {display: none;}

  #menu_button2 {display: flex; justify-content: flex-start; align-items: center; flex-direction: column; gap: 0.2rem; position: absolute; right: 0; height: 5.4rem; width: 7.6rem; font-size: 1.5rem; letter-spacing: .075rem; padding-top: 1rem; line-height: normal;}
  #menu_button2 .line {display: block; width: 3.6rem; height: .2rem; background: #fff; border-radius: 9999px;}
  #menu_button2 span:nth-child(3) {display: none;}

  #menu_button2.active {opacity: 1; padding-top: 0;}
  #menu_button2.active span:nth-child(1) {padding-bottom: 1rem;}
  #menu_button2.active span:nth-child(2) {transform: rotate(35deg); opacity: 1;}
  #menu_button2.active span:nth-child(3) {display: block; transform: rotate(-35deg); opacity: 1; margin-top: -.4rem;}

  #head_submenu2 {position: fixed; inset: 0; z-index: 999; background: rgba(255, 120, 144, 0.40); opacity: 0; visibility: hidden; pointer-events: none; display: block; transition: opacity .35s ease, visibility .35s ease; top: 5.4rem;}
  #head_submenu2.open {opacity: 1; visibility: visible; pointer-events: auto;}
  #head_submenu2 .head {position: absolute; top: 0; right: 0; width: 28rem; height: 100%; background: #fff; overflow-y: auto; padding: 3rem 0rem 6rem; box-sizing: border-box; transform: translateX(100%); transition: transform .35s ease; height: 100vh;}
  #head_submenu2 .head .inner {padding: 0 4rem 3.2rem;}
  #head_submenu2.open .head {transform: translateX(0);}

  #head_submenu2 .header-nav {display: flex; flex-direction: column;}
  #head_submenu2 .header-nav .item {display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 700; padding: 2rem 0; border-bottom: .1rem solid #F8CFDF;}
  #head_submenu2 .header-nav .item.lineup-link {border-bottom: 0;}
  #head_submenu2 .header-nav .item.covertest-link {border-top: .1rem solid #F8CFDF; margin-top: 2rem;}
  #head_submenu2 .header-nav img {display: block; width: 2rem;}
  #head_submenu2 .header-nav .button {display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 700; border: .1rem solid #EE86AF; border-radius: 4.5rem; height: 6rem; width: 20rem; gap: .9rem;}
  #head_submenu2 .header-nav .button + .button {margin-top: 1.5rem;}
  #head_submenu2 .header-nav .button.color2 {border-color: #379B6A;}
  #head_submenu2 .header-nav .button.color3 {border-color: #1697A4;}

}

/* =================================================================
フロート
=================================================================*/
.float {position: fixed; right: 0; bottom: 10rem;/*0*/ z-index: 998;}
.float a {display: block; width: 21.355rem; height: 21.355rem; padding-top: 10.7rem; text-align: center; font-size: 1.6rem; font-weight: 700; line-height: 125%; color: #fff; background-image: url(../img/lp/float_bg.png); background-size: cover;}

@media screen and (max-width: 999px) {
  .float {bottom: 7rem;}
  .float a {width: 11.728rem; height: 11.728rem; background-image: url(../img/lp/float_bg_sp.png); font-size: 1.2rem; padding: 0; display: flex; align-items: center; justify-content: center;}
}

/* =================================================================
フッター
=================================================================*/
footer {background-image: url(../img/common/lp_footer_bg.png); background-position: bottom; background-repeat: no-repeat; background-size: 100%; height: 67rem; padding-top: 21.2rem;}
footer .footer-logo {width: 24.9503rem; height: 26.005rem; display: block; margin: auto;}
footer .footer-logo img {width: 100%;}

footer ul {display: flex; justify-content: center; align-items: center; gap: 4rem; font-size: 1.5rem; margin-top: 2.4rem;}
footer .copy {text-align: center; font-size: 1.5rem; margin-top: 4.8rem;}

@media screen and (max-width: 999px) {
  footer {background-image: url(../img/common/lp_footer_bg_sp.png); background-size: 100%; padding-top: 6rem; height: 50.2rem; margin-top: 9.7rem;}
  footer .footer-logo {width: 15.36rem; height: 16rem;}
  footer ul {flex-direction: column; align-items: center; gap: 2.5rem; margin-top: 3rem; font-size: 1.4rem;}
  footer .copy {margin-top: 2.7rem; font-size: 1.2rem;}
}