/* こぴぺした方 */
@charset "utf-8";

:root {
  --var-scale-small: 18px;
  --var-scale-medium: 28px;
  --var-color-icon-menu: #53bbff;
  /* 拡大用メニューアイコン色 */
  --var-color-text-menu: #00008B;
  /* 拡大用メニューテキスト色 */
  --var-color-hover-menu: #FF8C00;
  /* 拡大用メニューhover色 */
  --var-color-under-head: #63bce6;
  --var-color-allmenu: #B0E0E6;
  /* 縮小用メニューテキスト色 */
  --var-color-text-footer: #B0E0E6;
  /* フッターテキスト色 */
  --var-color-bg-footer: #333;

  --var-color-primary: #fa051c;
  --var-color-text-primary: #141414;
  --var-color-text-link: #fa051c;
  --var-color-white: #fff;
  --var-color-gray: #d9d9d9;
  --var-zindex-drawer-upper-header: 24;
  --var-font-sans-serif: "Zen Kaku Gothic New", sans-serif;
  --var-base-text: var(--var-color-text-primary);
  --var-base-bg: var(--var-color-white);
  --var-base-text-link: var(--var-color-text-link);
  --var-highlight-color: rgb(0, 163, 224);
}



/* ナビ用 */
/*========= SPナビゲーションのためのCSS ===============*/

/*アクティブになったエリア*/
#g-nav.panelactive {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  height: 100vh;
}

/*丸の拡大*/
.circle-bg {
  position: fixed;
  z-index: 3;
  /*丸の形*/
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--var-color-allmenu);
  /*丸のスタート位置と形状*/
  transform: scale(0);
  /*scaleをはじめは0に*/
  right: -50px;
  top: -50px;
  transition: all .6s;
  /*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive {
  transform: scale(50);
  /*クラスが付与されたらscaleを拡大*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list {
  display: none;
  /*はじめは表示なし*/
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list {
  display: block;
  /*クラスが付与されたら出現*/
}

/*ナビゲーション*/
#g-nav ul {
  opacity: 0;
  /*はじめは透過0*/
  /*ナビゲーション天地中央揃え※レイアウトによって調整してください。不必要なら削除*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
  opacity: 1;
}

/* 背景が出現後にナビゲーション li を表示※レイアウトによって調整してください。不必要なら削除*/
#g-nav.panelactive ul li {
  animation-name: gnaviAnime;
  animation-duration: 1s;
  animation-delay: .2s;
  /*0.2 秒遅らせて出現*/
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}


/*リストのレイアウト設定*/
#g-nav li {
  text-align: center;
  list-style: none;
}

#g-nav li a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}


/*========= SP用メニュー ===============*/
.openbtn1 {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 9999;
  /*ボタンを最前面に*/
  cursor: pointer;
  width: 50px;
  height: 50px;
}

/*×に変化*/
.openbtn1 span {
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #53bbff;
  width: 45%;
}

.openbtn1 span:nth-of-type(1) {
  top: 15px;
}

.openbtn1 span:nth-of-type(2) {
  top: 23px;
}

.openbtn1 span:nth-of-type(3) {
  top: 31px;
}

.openbtn1.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn1.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}


/*========= レイアウトのためのCSS ===============*/

h1 {
  font-size: 1.2rem;
}

h2 {
  font-size: 1.2rem;
  text-align: center;
  margin: 0 0 30px 0;
}

p {
  margin-top: 20px;
}

small {
  color: #fff;
  display: block;
  text-align: center;
}

#header {
  width: 100%;
  /*  background:#333;*/
  color: #fff;
  text-align: center;
}

section {
  padding: 100px 30px;
}

section:nth-child(2n) {
  background: #f3f3f3;
}

#footer {
  background: var(--var-color-bg-footer);
  padding: 20px;
}

#footer div p {
  color: var(--var-color-text-footer);
}


*[id] {
  scroll-margin-top: 5rem
}

body {
  overflow-wrap: break-word;
  overflow-x: hidden;
  position: relative;
  margin: 0 auto
}


html {
  font-family: var(--var-font-sans-serif);
  font-size: calc(16 / 16 * 100%);
  line-height: 1.68;
  color: var(--var-base-text);
  background-color: var(--var-base-bg);
  letter-spacing: 0;
  min-width: 320px;
  text-align: left;
  word-break: break-word;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-touch-callout: none;
  height: 100%;
  margin: 0;
  overscroll-behavior-y: none
}

*,
::after,
::before {
  font-family: inherit;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: inherit;
  border: 0 solid;
  overflow-wrap: break-word
}

/* 幅可変 */
.menu-wrap {
  display: none;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--var-color-under-menu);
}

.menu_sec {
  margin-top: 3.9375rem; 
}

.l-h_nav-sp {
  justify-content: space-between;
  align-items: center;
  display: flex;
  margin-top: .3125rem;
  gap: 1.875rem;
}

/*通常*/

.l-h_logo {
  text-align: left;
}
.l-h_logo img {
  width: auto;
}

/* 円形ロゴ */
/*
.l-h_logo {
  text-align: left;
  padding:0px;
}
.l-h_logo img {
  height:82px;
}
*/

.body_icon {
  color: var(--var-color-icon-menu);
  font-size: var(--var-scale-medium);
}

.menu_icon {
  color: var(--var-color-icon-menu);
  font-size: var(--var-scale-small);
}

.menu_text {
  color: var(--var-color-text-menu);
  font-size: var(--var-scale-small);
}

.menu_list {
  display: flex;
  justify-content: space-between;
  white-space: nowrap;
}

.menu_list li a,
.menu_list li button {
  /*
        color: var(--var-color-text-primary);
        font-size: .75rem;
    */
  white-space: nowrap;
  border-radius: 0;
  outline: none;
  -webkit-font-smoothing: antialiased;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  gap: .3125rem;
  font-weight: 500;
  padding: 1.25rem .5rem 1.25rem .5rem;
  text-decoration: none;
}

.menu_list li:hover .menu_icon,
.menu_list li:hover .menu_text {
  color: var(--var-color-hover-menu);
  transition: transform .8s cubic-bezier(0, 0, 0.3, 1)
}

.l-h_nav-pc li:hover .l-h_nav-pc-icon,
.is-nav-active .l-h_nav-pc-icon,
[aria-expanded=true]>.l-h_nav-pc-icon {
  color: var(--var-color-primary);
  transition: transform .8s cubic-bezier(0, 0, 0.3, 1)
}

.l-h_nav-pc li a,
.l-h_nav-pc li button {
  color: var(--var-color-text-primary);
  white-space: nowrap;
  border-radius: 0;
  outline: none;
  -webkit-font-smoothing: antialiased;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  gap: .3125rem;
  font-weight: 500;
  padding: 1.25rem .5rem 1.25rem .5rem;
  text-decoration: none;
  font-size: .75rem;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
  cursor: pointer
}

ul {
  padding-left: 0;
  list-style-type: none
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dt,
dd,
table,
figure,
blockquote {
  margin: 0
}

button,
select {
  text-transform: none
}

input,
button,
select,
optgroup,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0
}

.l-h_nav-sp a,
.l-h_nav-sp button {
  color: var(--var-color-text-primary);
  white-space: nowrap;
  border-radius: 0;
  outline: none;
  -webkit-font-smoothing: antialiased;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background-color: rgba(0, 0, 0, 0);
  text-decoration: none;
  font-size: .625rem
}

.l-h_nav-sp-icon.is-icon-search {
  margin-top: 4px
}

.l-h_nav-sp-icon {
  display: block;
  padding-top: 1.25rem;
  background-position: top center;
  background-repeat: no-repeat
}

img {
  border-style: none;
  -webkit-touch-callout: none
}

img {
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

/* 通常 */

.l-h_primary {
  padding: .1875rem 1.375rem .4375rem 1rem;
  position: fixed;
  width: 100%;
  top: 0;
  background-color: var(--var-color-white);
  z-index: var(--var-zindex-drawer-upper-header);
}

/* 円形ロゴ */
/*
.l-h_primary {
  top: 0;
  background-color: var(--var-color-white);
  z-index: var(--var-zindex-drawer-upper-header);
}
*/

@media screen and (max-width: 1179px) {
  .l-h_primary {
    padding-bottom: 5px;
  }

  .l-h_logo {
    padding-bottom: 5px;
  }
}

.l-header {
  background: var(--var-color-white);
  z-index: var(--var-zindex-drawer-upper-header);
  border-bottom: 1px solid var(--var-color-under-head);
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block
}

.l-header_visible-area {
  /*
  max-width: 1441px;
  */
  max-width: 1500px;
  margin-right: auto;
  margin-left: auto;
}

a {
  text-decoration: underline;
  color: var(--var-base-text-link)
}

@media(hover: hover) {
  a {
    -webkit-tap-highlight-color: var(--var-highlight-color)
  }

  a:link {
    -webkit-tap-highlight-color: var(--var-highlight-color)
  }
}

.l-h_logo a {
  font-weight: 500;
  color: var(--var-color-text-primary);
  text-decoration: none;
  font-size: 1rem;
  letter-spacing: .04rem
}

@media(hover: hover) {
  .l-h_logo a:hover {
    opacity: .7;
    transition: transform .8s cubic-bezier(0, 0, 0.3, 1)
  }
}



/*========= ドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
#pc-nav {
  background: var(--var-color-white);
  color: var(--var-color-text-menu);
  text-align: center;
}

/*========= レイアウトのためのCSS ===============*/

h1 {
  font-size: 2rem;
  text-align: center;
  text-transform: uppercase;
  padding: 20px;
}

h2 {
  font-size: 1.2rem;
  text-align: center;
  margin: 0 0 30px 0;
}

p {
  margin-top: 20px;
}

small {
  background: #333;
  color: #fff;
  display: block;
  text-align: center;
  padding: 20px;
}


section {
  padding: 30px;
}

section:nth-child(2n) {
  background: #f3f3f3;
}

/* ■グーグルアイコン */
.material-symbols-outlined {
  font-variation-settings:
    'FILL' 1,
    'wght' 400,
    'GRAD' 0,
    'opsz' 48
}

/* ■amazon */
#amazon {
  /*width: 120px;*/
  height: 30px;
}



/* ■PC用 1180px以上 */
@media(min-width: 1180px) {

  /* 幅可変(横並びにする) */
  .menu-wrap {
    display: flex;
  }

  .menu_sec {
    margin-top: 0;
    width: calc(100% - 195px);
    border-left: 1px solid var(--var-color-gray);
  }

  /* SP用メニュー非表示 */
  .l-h_nav-sp {
    display: none;
  }

  /* ロゴマーク修正 */
  .l-h_logo {
    margin: 0 auto;
    padding: none inherit;
  }
/*
  .l-h_logo img {
    width: 9.25rem;
  }
*/
  .l-header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* メニュー位置調整 */
  .menu_list {
    padding-left: 1.5rem;
  }

  /* メニュー文字調整 */
  .menu_list li a,
  .menu_list li button {
    font-size: .875rem
  }

  .l-h_nav-pc li a,
  .l-h_nav-pc li button {
    font-size: .875rem
  }
/* 通常 */

  .l-h_primary {
    /*width: 12.1875rem;*/
    width:310px;
    border-bottom: 0;
    text-align: center;
    position: static;
  }

/* 円形ロゴ */
/*
.l-h_primary {
  border-bottom: 0;
  text-align: center;
  position: static;
  margin: 0 auto;
}
*/
  .l-header {
    position: sticky;
    width: 100%;
    top: 0;
    transition-delay: .1s;
    transition-duration: .2s;
    transition-property: top;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  }
}


/*==ナビゲーション全体の設定*/
/*
#pc-nav{
  background:#333;
  color:#fff;
  text-align: center;
}
*/
/*ナビゲーションを横並びに*/
#pc-nav ul{
  list-style: none;
  display: flex;
  justify-content: center;
}
/*2階層目以降は横並びにしない*/
#pc-nav ul ul{
  display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
#pc-nav ul li{
  position: relative;
}

/*ナビゲーションのリンク設定*/
#pc-nav ul li a{
  display: block;
  text-decoration: none;
  color: #999;
  padding:20px 15px;
  transition:all .3s;
}

#pc-nav ul li li a{
  padding:10px 0px;
}

#pc-nav ul li a:hover{
  color:#fff; 
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
/*
#pc-nav ul li.has-child::before{
  content:'';
  position: absolute;
  left:15px;
  top:25px;
  width:6px;
  height:6px;
  border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
}
*/

/*3階層目を持つliの矢印の設定*/
/*
#pc-nav ul ul li.has-child::before{
  content:'';
  position: absolute;
  left:6px;
  top:17px;
  width:6px;
  height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}
*/
/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
#pc-nav li.has-child ul{
    /*絶対配置で位置を指定*/
  position: absolute;
  left:0;
  top:62px;
  z-index: 4;
    /*形状を指定*/
  background:#28BFE7;
  width:180px;
    /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
    /*アニメーション設定*/
  transition: all .3s;
}

/*hoverしたら表示*/
#pc-nav li.has-child:hover > ul,
#pc-nav li.has-child ul li:hover > ul,
#pc-nav li.has-child:active > ul,
#pc-nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
#pc-nav li.has-child ul li a{
  color: #fff;
  border-bottom:solid 1px rgba(255,255,255,0.6);
}

#pc-nav li.has-child ul li:last-child > a{
 border-bottom:none;
}

#pc-nav li.has-child ul li a:hover,
#pc-nav li.has-child ul li a:active{
  background:#3577CA;
}


/*==3階層目*/

/*3階層目の位置*/
#pc-nav li.has-child ul ul{
  top:0;
  left:182px;
  background:#66ADF5;
}

#pc-nav li.has-child ul ul li a:hover,
#pc-nav li.has-child ul ul li a:active{
  background:#448ED3;
}