@charset "UTF-8";
/*変数*/
:root {
  --main_color: #191b1f;
  --main_color_hover: rgba(25, 27, 31, 0.4);
  --sub_color: #05e2b7;
  --sub_color_light: #d0f6ef;
  --sub_color_dark: #1ab27b;
  --sub_color_hover: rgba(5, 226, 183, 0.4);
  --red: #ff0055;
  --gold: #b19b61;
  --white: #fff;
}

/*--------------------------------------
リセットCSS
--------------------------------------*/
*,::before,::after{-webkit-box-sizing:border-box;box-sizing:border-box;border-style:solid;border-width:0}

html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior: smooth;scroll-padding-top: 50px;}
@media (min-width: 768px) {
  html{scroll-padding-top:60px;}
}

body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul{margin:0;padding:0;list-style:none}ol{margin:0;margin-left:1.3em;padding:0}dt{font-weight:700}dd{margin-left:0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type=checkbox]{-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox}[type=radio]{-webkit-appearance:radio;-moz-appearance:radio;appearance:radio}button,[type=button],[type=reset],[type=submit]{cursor:pointer}button:disabled,[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:400}

/*--------------------------------------
サイト共通定義
--------------------------------------*/
body {
  line-height: 1.6;
  margin: 0 auto;
  min-height: 800px;
  min-width: 320px;
  width: 100%;
  color: var(--main_color);
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  font-weight: 500;
  font-style: normal;
  font-size: 13px;
  position: relative;
  word-break: break-word;
}
@media (min-width: 768px) {
  body { font-size: 14px; }
}
body , input[type="submit"] , input[type="reset"] , input[type="button"] {
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

body.open {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
body.open .nav_list {
  overflow: scroll;
}
/* @media (min-width: 768px) {
  body.open {
    overflow: auto;
  }
} */

body::-webkit-scrollbar {
  width: 16px;
}

body::-webkit-scrollbar-track {
  background-color: #e4e4e4;
}

body::-webkit-scrollbar-thumb {
  background-color: var(--main_color);
  border-radius: 100px;
}

::-moz-selection {
  background: var(--main_color);
  color: #fff;
}

::selection {
  background: var(--main_color);
  color: #fff;
}

ul::-webkit-scrollbar {
  display: none;
}

.wrapper {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.inner {
  max-width: 1040px;
  margin: auto;
}

.cat {
  padding: 40px 20px;
}

@media (min-width: 768px) {
  .cat {
    padding: 60px 20px;
  }
}

.sp { display: block;}
@media (min-width: 768px) {
  .sp { display: none;}
}
.pc { display: none;}
@media (min-width: 768px) {
  .pc { display: block;}
}

img , video {
  width: 100%;
  height: auto;
}

.center {
  text-align: center;
}

.color_main {
  color: var(--main_color);
}
.color_sub {
  color: var(--sub_color);
}
.color_sub_dark {
  color: var(--sub_color_dark);
}
.color_red {
  color: var(--red);
}
.color_gold{
  color: var(--gold);
}
.color_white{
  color: var(--white);
}

.font_l {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.font_s {
  font-size: 12px;
  font-weight: 400;
}
@media (min-width: 768px) {
  .font_l {
    font-size: 18px;
  }
}
.mb_10 {
  margin-bottom: 10px;
}
.mb_20 {
  margin-bottom: 20px;
}
.mb_30 {
  margin-bottom: 30px;
}
.mb_40 {
  margin-bottom: 40px;
}
.mb_50 {
  margin-bottom: 50px;
}
.pd_10 {
  padding: 10px;
}
.pd_20 {
  padding: 20px;
}
.pd_40 {
  padding: 30px;
}
.pd_40 {
  padding: 40px;
}
.pd_50 {
  padding: 50px;
}

.modaal-image .modaal-container {
  max-width: 800px !important;
  border-radius: 10px;
  background: transparent;
}
.modaal-close {
  right: 10px;
  top: 15px;
}

/*--------------------------------------
共通のbgcolor
--------------------------------------*/
.bg_black {
  background: var(--main_color);
  color: var(--white);
}

/*--------------------------------------
共通のlink
--------------------------------------*/
a:link , a:visited , input {
  color: var(--main_color);
  transition: all .5s;
}
a:hover {
  color: var(--sub_color);
}
@media (min-width: 768px) {
  a img {
    transition: all .5s;
  }
  a img:hover {
    opacity: .6;
  }
}

/* 通常ボタン */
.btn {
  display: block;
  max-width: 220px;
  padding: 10px;
  border-radius: 40px;
  text-align: center;
  overflow: hidden;
  position: relative;
  margin: 30px auto 0;
  transition: .2s ease-in-out;
}
@media (min-width: 768px) {
  .btn {
    max-width: 260px;
    padding: 15px;
    margin-top: 50px;
  }
}
.btn_s {
  display: inline-block;
  max-width: 100%;
  padding: 5px 20px;
  text-align: left;
  margin: 0 10px 0 0;
}
@media (min-width: 768px) {
  .btn::before {
    content: "";
    width: 200%;
    height: 200%;
    background: var(--sub_color_hover);
    transform: rotate(-45deg);
    position: absolute;
    top: -10%;
    left: -180%;
    transition: .3s ease-in-out;
  }
  .btn:hover::before {
    left: 60%;
  }
}
.btn img {
  width: 8px;
  vertical-align: middle;
  margin: 0 10px 3px 0;
}
.btn.bg_white {
  background: var(--white);
}
.btn.bg_black {
  background: var(--main_color);
  color: var(--white);
}
.btn.bg_white:hover , .btn.bg_black:hover {
  color: var(--sub_color);
}
.btn.bg_gold {
  color: var(--white);
  background: var(--gold);
}
.btn.bg_green {
  background: var(--sub_color);
  color: var(--main_color);
}
.btn.bg_gold::before,.btn.bg_green::before {
  background: rgba(255,255,255,0.4);
}
.btn.bg_gold:hover {
  color: var(--main_color);
}

/* テキストボタン */
.btn_txt {
  background: url(../images/arrow_green.svg) left 5px / 8px 7px no-repeat;
  padding-left: 17px;
  text-decoration: underline;
}
.bg_black .btn_txt {
  color: var(--white);
}
.bg_black .btn_txt:hover {
  color: var(--sub_color);
}

/* コピーボタン */
.copy_button {
  padding: 15px 40px;
  background: #0ec8a2;
  border-radius: 10px;
  color: #fff;
  font-size: 16px;
}

/*--------------------------------------
共通のtable
--------------------------------------*/
table {
  border-spacing: 0;
  width: 100%;
}
table th , table td {
  padding: 10px 6px;
  vertical-align: middle;
  line-height: 1.4;
}
@media (min-width: 768px) {
  table th , table td {
    padding: 15px 20px;
  }
}

/* 横 */
.table_01 {
  table-layout: fixed;
}
.table_01 th , .table_01 td {
  text-align: center;
}
.table_01 th {
  background: var(--main_color);
  color: var(--white);
  border-bottom: solid 1px var(--white);
  border-right: solid 1px var(--white);
}
.table_01 th:last-child {
  border-right: 0;
}
.table_01 td:nth-child(odd) {
  background: #f4f4f4;
}
.table_01 td:nth-child(1) {
  background: #6d7076;
  color: var(--white);
  border-bottom: solid 1px #ddd;
  text-align: left;
}
.table_01 td:not(:nth-child(1)) {
  border-bottom: solid 1px #ddd;
}

/* 縦 */
.table_02 th {
  width: 35%;
}
.table_02 th {
  background: #6d7076;
  color: var(--white);
  border-bottom: solid 1px #ddd;
}
.table_02 td {
  border-bottom: solid 1px #ddd;
}

.sp_table {display: inline-table;}
@media (min-width: 768px) {
  .sp_table { display: none;}
}
.pc_table { display: none;}
@media (min-width: 768px) {
  .pc_table {display: inline-table;}
}

/*--------------------------------------
共通のbox
--------------------------------------*/
.box {
  max-width: 500px;
  margin: 0 auto;
  padding: 20px;
  border-radius: 10px;
}
.box.bg_black {
  background: var(--main_color);
  color: var(--white);
}
.box.bg_white {
  background: var(--white);
}
.box.bg_green {
  background: var(--sub_color);
}
@media (min-width: 768px) {
  .box {
    max-width: 100%;
    padding: 40px;
  }
}

/*--------------------------------------
共通のform
--------------------------------------*/
form {
  width: 100%;
}
form .item {
  overflow: hidden;
  margin-bottom: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 865px) {
  form .item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    height: 80px;
  }
}
form .item:nth-of-type(5), form .item:nth-of-type(6) {
  height: auto;
}
form .item:nth-of-type(6) {
  margin-bottom: 30px;
}
form .item:nth-of-type(5) .inputs {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 600px) {
  form .item:nth-of-type(5) .inputs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
form .item:nth-of-type(5) .inputs .contact_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
form .item:nth-of-type(5) .inputs .contact_item label {
  margin-left: 3px;
}
@media (min-width: 600px) {
  form .item:nth-of-type(5) .inputs .contact_item label {
    margin-right: 15px;
  }
}
form .item .inputs .contact_item {
  accent-color: var(--sub_color);
}
form .item .label {
  width: 100%;
  margin-right: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  cursor: auto;
  color: var(--white);
  background: var(--sub_color);
  line-height: 1.4;
}
@media (min-width: 600px) {
  form .item .label {
    padding: 20px;
  }
}
@media (min-width: 865px) {
  form .item .label {
    width: 35%;
  }
}
form .item > div {
  width: 100%;
  
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 600px) {
  form .item > div {
    padding: 20px 0;
  }
}
@media (min-width: 865px) {
  form .item > div {
    width: 70%;
    padding: 20px;
    border-bottom: var(--border);
  }
}
form .item > div .inputs {
  height: 100%;
  width: 100%;
  outline: none;
}
form .item input[type=email],
form .item input[type=tel],
form .item input[type=text] {
  border: var(--border);
  width: 100%;
  padding: 5px;
  font-size: 16px;
}
@media (min-width: 600px) {
  form .item input[type=email],
  form .item input[type=tel],
  form .item input[type=text] {
    padding: 10px;
    background: rgba(255,255,255,0.8);
  }
}
form .item textarea {
  border: var(--border);
  background: rgba(255,255,255,0.8);
  padding: 10px;
  font-size: 16px;
  width: 100%;
}

.error li {
  color: #a5233b;
  text-align: left;
}

.required {
  color: #ebdfcc;
  font-size: 12px;
  background: #a5233b;
  border-radius: 3px;
  padding: 1px 4px;
  margin-right: 10px;
  white-space: nowrap;
}

.btn_area {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 300px;
  margin: auto;
}
.btn_area input[type=submit],
.btn_area a {
  background: var(--main_color);
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 0 10px;
}
.btn_area input[type=reset] {
  background: #aaa;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  padding: 10px 20px;
}

/*--------------------------------------
サブビジュアル、タイトル
--------------------------------------*/
.subvisual {
  margin-top: 40px;
}
@media (min-width: 1100px) {
  .subvisual {
    margin-top: 60px;
  }
}

.subvisual {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 180px;
  background: url(../images/title_bg_sp.jpg) center / cover no-repeat;
  position: relative;
}
.title img {
  width: auto;
  height: 34px;
}
@media (min-width: 768px) {
  .subvisual {
    height: 230px;
    background-image: url(../images/title_bg.jpg);
  }
  .title img {
    height: 60px;
  }
}

/*--------------------------------------
サブタイトル
--------------------------------------*/
.subtitle,
.subtitle_acr {
  text-align: center;
  position: relative;
  margin-bottom: 40px;
}
.subtitle img {
  width: auto;
  height: 24px;
}
.subtitle_acr img {
  height: 34px;
}
.subtitle_acr2 img {
  height: 26px;
}
.subtitle_cap img {
  height: 30px;
}
.subtitle::after,
.subtitle_acr::after {
  position: absolute;
  bottom: -12px;
  left: calc(50% - 17px);
  content: '';
  width: 34px;
  height: 2px;
  background: var(--sub_color);
}
@media (min-width: 768px) {
  .subtitle,
  .subtitle_acr {
    margin-bottom: 60px;
  }
  .subtitle img {
    height: 40px;
  }
  .subtitle_acr img {
    height: 50px;
  }
  .manual .subtitle img,
  .manual_acr .subtitle img {
    width: auto;
    height: 152px;
  }
  .subtitle::after,
  .subtitle_acr::after {
    bottom: -15px;
    left: calc(50% - 30px);
    width: 60px;
    height: 3px;
  }
}

/*--------------------------------------
ヘッダー
--------------------------------------*/
header {
  display: flex;
  align-items: center;
  background: var(--white);
  position: fixed;
  width: 100%;
  height: 50px;
  padding: 0 10px;
  z-index: 90;
}
header h1 img {
  width: 140px;
  display: inline-block;
  vertical-align: middle;
}
header ul , header .btn {
  display: none;
}
/* 「会社情報」を削除する際に1180pxに戻す */
/* 20250904 1320px → 1100px */
@media (min-width: 1100px) {
  header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: fixed;
    width: 100%;
    height: 60px;
    /* padding: 10px 20px 0; */
    padding: 10px 68px 0 20px;
    transition: .3s all;
  }
  header h1 img {
    width: 160px;
  }
  header ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 9px;
  }
  header ul li a {
    position: relative;
    padding: 10px 0;
    font-size: 12px;
  }
  header ul li a::after {
    position: absolute;
    bottom: 5px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: var(--sub_color);
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
  }
  header ul li a:hover {
    color: var(--main_color);
  }
  header ul li a:hover::after {
    transform: scale(1, 1);
  }
  header .btn {
    display: block;
    min-width: 160px;
    padding: 8px 10px;
    margin-top: 0;
  }
  /* アコーディオン */
  header ul li.has_child {
    position: relative;
  }
  header ul li.has_child ul {
    position: absolute;
    left: calc(50% - 90px);
    top: 15px;
    z-index: 4;
    width: 180px;
    padding: 5px 0 10px;
    background: var(--white);
    border-radius: 0 0 5px 5px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
  }
  header ul li.has_child ul li{
    width: 100%;
    display: block;
    text-align: center;
  }
  header ul li.has_child:hover > ul {
    visibility: visible;
    opacity: 1;
  }
}

/* ハンバーガーメニュー */
.header_nav {
  position: fixed;
  top: 0;
  right: 10px;
  z-index: 100;
}
/* 「会社情報」を削除する際に1180pxに戻す */
/* 20250904_ボタンを常に表示 */
/* @media (min-width: 1240px) {
  .header_nav {
    display: none;
  }
} */
@media (min-width: 1100px) {
  .header_nav {
    top: 5px;
  }
}

.header_nav .nav_list {
  position: fixed;
  -webkit-overflow-scrolling: auto;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  padding: 50px 0;
  gap: 20px;
  -ms-flex-line-pack: center;
  align-content: center;
  visibility: hidden;
  opacity: 0;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
  text-align: center;
}
.header_nav .nav_list::-webkit-scrollbar {
  display:none;
}

.header_nav .nav_list .nav_box {
  width: 260px;
  margin: 0 auto;
  padding: 0 10px;
}

.header_nav .menu-btn {
  display: none;
}
.header_nav .menu-btn:checked ~ .nav_list {
  visibility: visible;
  opacity: 1;
  background: rgba(25, 27, 31, 0.98);
}


/* ハンバーガー内アコーディオン */
.has_child_sp .accordion_content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.has_child_sp.is-open .accordion_content {
  max-height: 500px; /* 中身が収まる十分な値 */
}
.accordion_trigger {
  cursor: pointer;
  position: relative;
  padding: 10px 10px 10px 0;
  color: #fff;
}
.accordion_trigger::after {
  content: "＋";
  position: absolute;
  right: 0;
  transition: transform 0.3s;
}
.has_child_sp.is-open .accordion_trigger::after {
  content: "−";
}

/* ハンバーガー内下層メニュー */
.nav_menu li.has_child_sp ul{background: rgb(15 15 15 / 70%);}
.nav_menu li.has_child_sp ul li a{
  align-items: center!important;
  padding: 6px 0!important;
}
.nav_menu li.has_child_sp img{
  width: 12px;
  height: 12px;
  margin-right: 4px;
}


/* ロゴフェードイン */
.header_nav .nav_list .logo {
  margin-bottom: 20px;
}
.header_nav .nav_list .logo img {
  width: 160px;
}
.header_nav .menu-btn:checked ~ .nav_list .logo {
  transform: translateX(150%);
  animation-name: fadeInLogo;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes fadeInLogo {
    0% {
        opacity: 0;
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0%);
    }
}

/* メニューフェードイン */
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li {
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(even) {
  transform: translateX(150%);
  animation-name: fadeInMenuEven;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(odd) {
  transform: translateX(-150%);
  animation-name: fadeInMenuOdd;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(1) {
  animation-delay: .05s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(2) {
  animation-delay: .1s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(3) {
  animation-delay: .15s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(4) {
  animation-delay: .2s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(5) {
  animation-delay: .25s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(6) {
  animation-delay: .3s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(7) {
  animation-delay: .35s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(8) {
  animation-delay: .4s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(9) {
  animation-delay: .45s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(10) {
  animation-delay: .5s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(11) {
  animation-delay: .55s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_menu li:nth-of-type(12) {
  animation-delay: .6s;
}
@keyframes fadeInMenuEven {
    0% {
        opacity: 0;
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0%);
    }
}
@keyframes fadeInMenuOdd {
    0% {
        opacity: 0;
        transform: translateX(-100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0%);
    }
}
.header_nav .nav_list .nav_menu li a {
  text-decoration: none;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
  padding: 10px 0;
  color: var(--white);
}
.header_nav .nav_list .nav_menu li a:hover {
  color: var(--sub_color);
}

/* ボタンフェードイン */
.header_nav .menu-btn:checked ~ .nav_list .nav_btn .btn {
  margin-top: 20px;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_btn li {
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_btn li:nth-of-type(1) {
  transform: translateX(-150%);
  animation-name: fadeInBtnOdd;
  animation-delay: .45s;
}
.header_nav .menu-btn:checked ~ .nav_list .nav_btn li:nth-of-type(2) {
  transform: translateX(150%);
  animation-name: fadeInBtnEven;
  animation-delay: .5s;
}
@keyframes fadeInBtnOdd {
    0% {
        opacity: 0;
        transform: translateX(-100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0%);
    }
}
@keyframes fadeInBtnEven {
    0% {
        opacity: 0;
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        transform: translateX(0%);
    }
}

/* 三本線 */
.header_nav .menu-btn:checked ~ .menu-icon .navicon {
  transform: rotateY(-360deg);
}
.header_nav .menu-btn:checked ~ .menu-icon .navicon:before {
  top: 0;
  transform: rotate(-135deg);
}
.header_nav .menu-btn:checked ~ .menu-icon .navicon:after {
  bottom: 0;
  transform: rotate(135deg);
}
.header_nav .menu-btn:checked ~ .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  -webkit-transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.header_nav .menu-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 100;
  position: relative;
}
.header_nav .menu-icon .navicon {
  display: block;
  height: 2px;
  width: 30px;
  position: relative;
  -webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.header_nav .menu-icon .navicon:before, .header_nav .menu-icon .navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  -webkit-transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
.header_nav .menu-icon .navicon ,
.header_nav .menu-icon .navicon:before ,
.header_nav .menu-icon .navicon:after {
  background: var(--sub_color);
}
.header_nav .menu-icon .navicon:before {
  top: 9px;
}
.header_nav .menu-icon .navicon:after {
  bottom: 9px;
}

/*--------------------------------------
フッター
--------------------------------------*/
footer .footer_box {
  background: var(--main_color) url(../images/footer_bg_sp.jpg) right center / cover no-repeat;
  padding: 40px 20px;
}
footer .footer_box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  max-width: 450px;
  margin: 0 auto 20px;
}
footer .footer_box ul li {
  width: calc(100% / 2 - 5px);
}
footer .footer_box ul li a {
  color: var(--white) !important;
  padding: 10px 0;
  position: relative;
}
footer .footer_box ul li a:hover {
  color: var(--main_color);
}
footer .footer_box ul li a:hover::after {
  transform: scale(1, 1);
}
footer .footer_box .footer_contents {
  text-align: center;
}
footer .footer_box .footer_contents .logo img {
  width: 160px;
}
footer .footer_box .footer_contents .btn {
  margin-top: 20px;
}
footer .copy_box .inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 20px;
  max-width: 1080px;
  font-size: 11px;
}
@media (min-width: 768px) {
  footer .footer_box {
    background-image: url(../images/footer_bg.jpg);
    padding: 20px 0;
  }
  footer .footer_box ul {
    justify-content: center;
    gap: 10px 30px;
    max-width: 600px;
  }
  footer .footer_box ul li {
    width: auto;
  }
}

/* 追尾LINE */
.footer_btm {
  background: var(--sub_color);
  text-align: center;
  padding: 10px 20px 15px;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
}
.is_hidden {
  visibility: hidden;
  opacity: 0;
}
.footer_btm.footerBtmUp{/*　上に上がる動き　*/
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.footer_btm.footerBtmDown{/*　下に下がる動き　*/
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
    transform: translateY(0);
  }
  to {
  	opacity: 1;
    transform: translateY(100px);
  }
}
.footer_btm p {
  font-size: 15px;
}
.footer_btm .btn {
  margin-top: 5px;
}
/* メガと同じ仕様 */
.btn_order{
  z-index: 10;
  position: fixed;
  bottom: 10px;
  right: 10px;
  transition:all 0.4s;
}
.btn_order:hover{
	transform: scale(1.1);
}
.btn_order a {
  background: var(--sub_color);
  border-radius: 50%;
  width: 100px;
  height: 100px;
  z-index: 1;
  text-align: center;
  color: var(--main_color);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 10px 10px;
  font-size: 10px;
  line-height: 1.4;
}
.btn_order a img{
  width: 14px;
}
.btn_order a img:hover{
  opacity: 1;
}
@media (min-width: 600px) {
  .btn_order{
    bottom: 20px;
    right: 20px;
  }
  .btn_order a{
    width: 120px;
    height: 120px;
    padding: 20px 10px 10px;
    font-size: 11px;
  }
  .btn_order a img{
    width: 16px;
  }
}

/*--------------------------------------
お問い合わせ・お見積もり
--------------------------------------*/
.contact_box {
  background: var(--sub_color_light);
}
.contact_box .contents_box {
  text-align: center;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: 20px;
}
.contact_box .img_box {
  max-width: 110px;
  margin: 0 auto;
  position: relative;
}
.contact_box .img_box picture img {
  width: 110px;
  height: 123px;
}
.contact_box .img_box .icon_star_1 {
  width: 11px;
  height: 11px;
  position: absolute;
  top: 88px;
  left: 0;
}
.contact_box .img_box .icon_star_2 {
  width: 7px;
  height: 7px;
  position: absolute;
  top: 58px;
  right: 14px;
}
.contact_box .img_box .icon_star_3 {
  width: 7px;
  height: 7px;
  position: absolute;
  top: 75px;
  right: 7px;
}
.contact_box .txt_box .btn {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .contact_box .contents_box {
    grid-template-columns: 40% 1fr;
    gap: 0;
    max-width: 600px;
    margin: 0 auto;
  }
  .contact_box .img_box {
    max-width: 140px;
    position: relative;
  }
  .contact_box .img_box picture img {
    width: 140px;
    height: 156px;
  }
  .contact_box .img_box .icon_star_1 {
    width: 12px;
    height: 12px;
    position: absolute;
    top: 108px;
    left: 1px;
  }
  .contact_box .img_box .icon_star_2 {
    width: 8px;
    height: 8px;
    position: absolute;
    top: 70px;
    right: 20px;
  }
  .contact_box .img_box .icon_star_3 {
    width: 8px;
    height: 8px;
    position: absolute;
    top: 93px;
    right: 10px;
  }
  .contact_box .txt_box .btn {
    margin-top: 30px;
  }
}

/*--------------------------------------
ボトルイメージ作成ボタン
--------------------------------------*/
.bottledesignviewer_btn {
  padding: 40px 0;
}
.manual .bottledesignviewer_btn {
  padding: 40px 20px;
}
.bottledesignviewer_btn .btn {
  margin-top: 0;
}
.bottledesignviewer_btn p{
  text-align: center;
  margin-bottom: 20px;
}
.manual .bottledesignviewer_btn p{
  color: var(--white);
}
.bottledesignviewer_btn .subtitle img{
  height: 48px;
}
@media (min-width: 768px) {
  .bottledesignviewer_btn {
    padding: 60px 0;
  }
  .manual .bottledesignviewer_btn {
    padding: 60px 20px;
  }
  .bottledesignviewer_btn .subtitle img{
   height: 80px;
  }
}

/*--------------------------------------
トップページ
--------------------------------------*/
/* メインビジュアル */
.mainvisual {
  margin-top: 50px;
  position: relative;
}
.mainvisual .btn_contact img {
  display: none;
  max-width: calc(100% - 40%);
  height: auto;
  position: absolute;
  left: 21%;
  bottom: 6%;
}
@media (min-width: 768px) {
  .mainvisual .btn_contact img {
    display: block;
    max-width: calc(100% - 70%);
    left: 52%;
    /* bottom: 2.2%; */
    bottom: 6%;
  }
}
@media (min-width: 1100px) {
  .mainvisual {
    margin-top: 60px;
  }
}

/* 寄付金バナー */
.bnr_donation { margin: 30px 20px; }
.bnr_donation .img_unit {
  /* max-width: 320px; */
  display: block;
  margin-inline: auto;
}
.bnr_donation .img_unit img {
  width: 100%;
  height: auto;
}
@media (min-width: 600px) {
  .bnr_donation { margin: 60px 20px; }
  .bnr_donation .img_unit { max-width: 800px; }
}

/* 選ばれる理由 */
.top_reason {
  margin-top: -10px;
}
.top_reason .box {
  padding: 30px 20px;
}
.top_reason ul {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  /* flex-wrap: wrap; */
  gap: 20px;
  width: 200px;
  margin: 0 auto 30px;
}
.top_reason ul li {
  border: solid 1px var(--sub_color);
  border-radius: 10px;
  text-align: center;
}
.top_reason ul li img {
  width: 200px;
}
.top_reason p {
  text-align: center;
}
@media (min-width: 768px) {
  .top_reason {
    margin-top: -30px;
  }
  .top_reason .box {
    padding: 40px;
  }
  .top_reason ul {
    grid-template-columns: 1fr 1fr 1fr;
    /* flex-wrap: nowrap; */
    width: 100%;
  }
  .top_reason ul li img {
    width: 100%;
  }
}

/* カレンダー */
.calendar {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 20px;
}
.calendar picture img {
  max-width: 500px;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .calendar {
    padding: 40px 0;
  }
}

/* アクリルキーホルダー スタート */
.top_start_acrylic .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3vw;
  background: var(--sub_color_light);
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
.top_start_acrylic img {
  max-width: 300px;
}
.top_start_acrylic .box h2 {
  font-size: 24px;
  margin-bottom: 16px;
}
.top_start_acrylic .box .price {
  color: var(--sub_color);
  font-size: 24px;
}
.top_start_acrylic .box .num {
  font-size: 2.5em;
  line-height: 0.75;
}
@media (min-width: 768px) {
  .top_start_acrylic .box {
    flex-direction: row;
    justify-content: center;
    text-align: left;
  }
}

/* 選ベルオリシャン */
.cat.top_lineup {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .cat.top_lineup {
    padding: 60px 0;
  }
}
.top_lineup {
  background: var(--main_color) url(../images/top_lineup_bg.jpg) center top / cover no-repeat;
  color: var(--white);
}
/* .top_lineup ul li {
  padding: 30px;
} */
.top_lineup ul li > span {
  display: block;
  padding: 30px 26px;
}
.top_lineup .top_lineup_pearson {
  background: url(../images/top_lineup_person_bg.jpg) center / cover no-repeat;
}
.top_lineup .top_lineup_logo {
  background: url(../images/top_lineup_logo_bg.jpg) center / cover no-repeat;
}
.top_lineup .top_lineup_led {
  background: url(../images/top_lineup_led_bg.jpg) center / cover no-repeat;
}
.top_lineup .top_lineup_cap {
  background: url(../images/top_lineup_cap_bg.jpg) center / cover no-repeat;
}
.top_lineup .top_lineup_acrylic {
  background: url(../images/top_lineup_acrylic_bg.jpg) center / cover no-repeat;
}
.top_lineup .top_lineup_ribbon {
  background: url(../images/top_lineup_ribbon_bg.jpg) center / cover no-repeat;
}
.top_lineup li .img_box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8%;
  margin-bottom: 30px;
}
.top_lineup li .img_box .top_lineuup_title {
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  padding-top: 60px;
}
.top_lineup li .img_box .top_lineuup_title span {
  color: var(--sub_color);
}
.top_lineup li:nth-of-type(even) .img_box .top_lineuup_title {
  order: 2;
}
.top_lineup ul li:nth-of-type(1) .top_lineuup_title {
  background: url(../images/icon_1_white.svg) center top / 40px 47px no-repeat;
}
.top_lineup ul li:nth-of-type(2) .top_lineuup_title {
  background: url(../images/icon_2_white.svg) center top / 40px 47px no-repeat;
}
.top_lineup ul li:nth-of-type(3) .top_lineuup_title {
  background: url(../images/icon_3_white.svg) center top / 40px 47px no-repeat;
}
.top_lineup ul li:nth-of-type(4) .top_lineuup_title {
  background: url(../images/icon_4_white.svg) center top / 40px 47px no-repeat;
}
.top_lineup ul li:nth-of-type(5) .top_lineuup_title {
  background: url(../images/icon_5_white.svg) center top / 40px 47px no-repeat;
}
.top_lineup ul li:nth-of-type(6) .top_lineuup_title {
  background: url(../images/icon_6_white.svg) center top / 40px 47px no-repeat;
}
.top_lineup li .img_box img {
  width: 110px;
}
.top_lineup .btn {
  max-width: 280px;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 10px;
}
@media (min-width: 600px) {
  .top_lineup ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .top_lineup ul li {
    width: calc(100% / 2);
    /* padding: 40px 30px; */
  }
  .top_lineup ul li > span {
    padding: 40px 30px;
  }
  .top_lineup li .img_box .top_lineuup_title {
    font-size: 20px;
  }
  .top_lineup li:nth-of-type(even) .img_box .top_lineuup_title {
    order: 0;
  }
  .top_lineup li .img_box img {
    width: clamp(70px, 12vw, 160px);
  }
  .top_lineup .img_box ,
  .top_lineup p {
    max-width: 440px;
    margin: 0 auto;
  }
  .top_lineup .btn {
    max-width: 400px;
  }
}
.led_none{
  display: inline-block;
  border-radius: 2px;
  padding: 1px 5px;
  color: var(--white);
  border: 1px solid var(--white);
  font-size: 0.6em;
  margin-left: 5px;
  vertical-align: text-bottom;

}
.led_ok{
  display: inline-block;
  background: var(--red);
  border-radius: 2px;
  padding: 1px 5px;
  border: 1px solid var(--red);
  color: var(--main_color);
  font-size: 0.6em;
  margin-left: 5px;
  font-weight: bold;
  vertical-align: text-bottom;
}


/* ご注文の流れ */
.top_flow {
  background: var(--sub_color_light);
}
.top_flow .box {
  padding: 30px 20px 0;
}
.top_flow .img_box {
  text-align: center;
}
.top_flow .img_box img {
  max-width: 350px;
}
.top_flow .txt_box .list_box {
  border-radius: 5px;
  padding: 12px 20px 12px 66px;
}
.top_flow .txt_box .list_box:nth-of-type(1) {
  background: var(--white) url(../images/icon_1.svg) 12px center / 40px 47px no-repeat;
}
.top_flow .txt_box .list_box:nth-of-type(2) {
  background: var(--white) url(../images/icon_2.svg) 12px center / 40px 47px no-repeat;
}
.top_flow .txt_box .list_box:nth-of-type(3) {
  background: var(--white) url(../images/icon_3.svg) 12px center / 40px 47px no-repeat;
}
.top_flow .txt_box .list_box:nth-of-type(4) {
  background: var(--white) url(../images/icon_4.svg) 12px center / 40px 47px no-repeat;
}
.top_flow .txt_box .list_box dt ,
.top_flow .txt_box .list_box dd p {
  margin-bottom: 5px;
}
.top_flow .txt_box .list_box dd a + p {
  margin-top: 10px;
}
.top_flow .txt_box .arrow {
  text-align: center;
  padding: 13px 0 25px;
}
.top_flow .txt_box .arrow img {
  width: 20px;
  transform: rotate(90deg);
}
@media (min-width: 1100px) {
  .top_flow .box {
    display: grid;
    grid-template-columns: 1fr clamp(250px, 40vw, 400px);
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 40px;
  }
  .top_flow .img_box img {
    max-width: 400px;
  }
  .top_flow .txt_box .list_box {
    border-radius: 10px;
    padding: 20px 40px 20px 86px;
    background-position: 25px center !important;
  }
  .top_flow .txt_box .arrow {
    padding: 18px 0 30px;
  }
}

/* 制作実績 */
.cat.top_productions {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .cat.top_productions {
    padding: 60px 0;
  }
}
.top_productions li {
  background: var(--main_color);
  padding: 8px;
  border-radius: 10px;
}
.top_productions li .img_box {
  background: var(--white);
  padding: 10px;
  border-radius: 6px;
  text-align: center;
  position: relative;
  z-index: 1;
  min-height: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_productions li .img_box img {
  max-width: 160px;
  max-height: 120px;
  object-fit: contain;
}
.top_productions li p {
  color: var(--white);
  text-align: center;
  margin-top: 6px;
}
.top_productions .btn {
  margin-top: 65px;
}
@media (min-width: 600px) {
  .top_productions .btn {
    margin-top: 50px;
  }
}
/* hover */
/* .top_productions li {
  display: block;
  overflow: hidden;
  position: relative;
  transition: .2s ease-in-out;
}
.top_productions li::before {
  content: "";
  width: 400%;
  height: 200%;
  background: var(--sub_color_hover);
  transform: rotate(-45deg);
  position: absolute;
  top: 20%;
  left: -450%;
  transition: .3s ease-in-out;
}
.top_productions li:hover::before {
  left: 60%;
}
.top_productions li .img_box img:hover {
  opacity: 1;
} */
/* swiper */
.swiper-horizontal {
  position: relative;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px;
}
.swiper-horizontal > å.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: -40px;
}
.top_productions .swiper-pagination-bullet {
  background: var(--sub_color);
  width: 10px;
  height: 10px;
}
@media (min-width: 600px) {
  .top_productions .swiper-wrapper {
    transition-timing-function: linear;
  }
  .top_productions .swiper-slide img {
    height: auto;
    width: 100%;
  }
  .top_productions .swiper-pagination {
    display: none;
  }
}
.swiper-lazy-preloader {
  border: 3px solid var(--sub_color);
  border-top-color: transparent;
}

/* お客様の声 */
.top_voices {
  background: var(--main_color) url(../images/top_voices_bg.jpg) center top / cover no-repeat;
  color: var(--white);
}
.top_voices .voices_box {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.top_voices .voices_box li {
  width: 100%;
  height: 100%;
}
.top_voices .voices_box li:last-child {
  display: none;
}
.voices .top_voices .voices_box li:last-child {
  display: block;
}
.top_voices .voices_box li .name {
  border: solid 1px var(--sub_color);
  color: var(--white);
  border-radius: 5px;
  padding: 10px 10px 8px;
  margin-bottom: 20px;
  text-align: center;
  position: relative;
}
.top_voices .voices_box li .name::after {
  position: absolute;
  top: 5px;
  right: -7px;
  content: '';
  width: 7px;
  height: 15px;
  background: url(../images/voices_fukidashi.png) center / 7px 15px no-repeat;
}
.top_voices .voices_box li .contents {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 2;
}
.top_voices .voices_box li .contents img {
  max-width: 100% !important;
  height: auto !important;
}
.top_voices .voices_box li .contents a {
  color: var(--white);
  transition: all .5s;
}
.top_voices .voices_box li .contents a:hover {
  color: var(--sub_color);
}
@media (min-width: 768px) {
  .top_voices .voices_box {
    grid-template-columns: 1fr 1fr;
  }
  .top_voices .voices_box li:last-child {
    display: block;
  }
  .top_voices .voices_box li .contents {
      -webkit-line-clamp: 3;
  }
}

/* 新着情報 */
.top_news {
  background: var(--white) url(../images/top_news_bg.jpg) center top / cover no-repeat;
}
.top_news .news_box {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.top_news .news_box li , .top_news .news_box li > a {
  color: var(--main_color);
  width: 100%;
  height: 100%;
}
.top_news .news_box li:last-child {
  display: none;
}
.news .top_news .news_box li:last-child {
  display: block;
}
.top_news .news_box li .box {
  display: grid;
  grid-template-columns: max(110px,35%) 1fr;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.top_news .news_box li .img_box {
  width: 100%;
  margin: 0 auto;
  background: var(--main_color);
  padding: 5px;
  border-radius: 10px;
  text-align: center;
  position: relative;
}
.top_news .news_box li .img_box .frame_box {
  min-height: 100px;
  background: var(--white);
  padding: 5px;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_news .news_box li .img_box img {
  max-width: 120px;
  max-height: 80px;
  object-fit: contain;
}
.top_news .news_box li .txt_box time {
  color: var(--sub_color);
}
.top_news .news_box li .txt_box .btn_txt {
  display: none;
}
.top_news .news_box li .txt_box .contents ul li {
  margin: 0;
}
@media (min-width: 768px) {
  .top_news  .news_box {
    grid-template-columns: 1fr 1fr;
  }
  .top_news .news_box li:last-child {
    display: block;
  }
  .top_news .news_box li .box {
    grid-template-columns: 1fr;
  }
  .top_news .news_box li .img_box {
    padding: 8px;
  }
  .top_news .news_box li .img_box .frame_box {
    min-height: 220px;
    padding: 10px;
  }
  .top_news .news_box li .img_box img {
    max-width: 300px;
    max-height: 200px;
  }
  .top_news .news_box li .img_box img:hover {
    opacity: 1;
  }
  .top_news .news_box li .txt_box .btn_txt {
    display: inline;
    transition: all .5s;
  }
  .top_news .news_box li .txt_box .btn_txt:hover {
    color: var(--sub_color);
  }
  .top_news .news_box li .txt_box .news_title {
    margin-bottom: 20px;
  }
}

/* よくあるご質問 */
.top_qa .qa_box {
  background: var(--white);
  border-radius: 6px;
  color: var(--main_color);
  position: relative;
}
.top_qa .qa_box:nth-of-type(n + 2) {
  margin-top: 10px;
}
.top_qa .qa_toggle {
  display: none;
}
.top_qa .qa_q ,
.top_qa .qa_a {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all .5s;
}
.top_qa .qa_q {
  display: block;
  background: url(../images/icon_q.svg) 12px center / 30px 35px no-repeat;
  position: relative;
  padding-right: 35px;
  padding: 12px 35px 12px 56px;
}
.top_qa .qa_q img {
  width: 8px;
  transform: rotate(90deg);
  position: absolute;
  top: calc(50% - 4px);
  right: 15px;
  transition: all .5s;
}
.top_qa .qa_a {
  max-height: 0;
  overflow: hidden;
}
.top_qa .qa_a dl {
  background: url(../images/icon_a.svg) 12px 6px / 30px 35px no-repeat;
  padding: 12px 20px 12px 56px;
  border-top: solid 1px var(--main_color);
}
.top_qa .qa_a dd {
  margin-top: 5px;
}
.top_qa .qa_toggle:checked + .qa_q + .qa_a {
  max-height: 950px;
  transition: all 1.5s ease-in-out;
}
.top_qa .qa_toggle:checked + .qa_q img {
  transform: rotate(-90deg);
}
@media (min-width: 768px) {
  .top_qa .qa_box:nth-of-type(n + 2) {
    margin-top: 20px;
  }
  .top_qa .qa_q ,
  .top_qa .qa_a dl {
    background-size: 40px 47px !important;
  }
  .top_qa .qa_q {
    background-position: 25px center;
    padding: 20px 50px 20px 86px;
  }
  .top_qa .qa_q img {
    right: 25px;
  }
  .top_qa .qa_a dl {
    background-position: 25px 10px;
    padding: 20px 40px 20px 86px;
  }
}

/* 注意書き */
.top_caution{
  text-align: center;
  padding: 0 20px 40px;
}
@media (min-width: 768px) {
  .top_caution {
    padding: 0 20px 60px;
  }
}

/*--------------------------------------
下層ページ
--------------------------------------*/
.mt {
  margin-top: 30px !important;
}
.mt_s {
  margin-top: 20px !important;
}
@media (min-width: 768px) {
  .mt {
    margin-top: 50px !important;
  }
  .mt_s {
    margin-top: 20px !important;
  }
}

/* 選べるお酒・料金 */
.lineup {
  background: var(--main_color) url(../images/contents_bg_lineup.jpg) center bottom / 100% no-repeat;
}
.lineup .products {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  gap: 20px;
  padding: 20px 0;
  border-bottom: solid 1px #464646;
}
.lineup .products .txt_box {
  order: 1;
}

/*NO.1アイコン*/
.lineup .products .img_box[class*="icon_"] {
  position: relative;
}
.lineup .products .img_box[class*="icon_"]::before {
  position: absolute;
  top: 10px;
  left: 10px;
  content: "";
  background-size: 100% auto;
  height: 60px;
  width: 60px;
}
.lineup .products .img_box.icon_no1::before {
  background: url(../images/icon_no1.svg) no-repeat;
}
.lineup .products .img_box.icon_lowalcohol_no1::before {
  background: url(../images/icon_lowalcohol_no1.svg) no-repeat;
}
.lineup .products .img_box.icon_over_no1::before {
  background: url(../images/icon_over_no1.svg) no-repeat;
}
.lineup .products .img_box.icon_yonashi::before {
  background: url(../images/icon_yonashi.svg) no-repeat;
}
@media (min-width: 600px) {
  .lineup .products .img_box[class*="icon_"]::before {
    height: 80px;
    width: 80px;
  }
}

.lineup .products .type {
  display: grid;
  grid-template-columns: repeat(2 , 1fr);
  gap: 10px;
  margin-top: 15px;
}
.lineup .products .type li {
  border: solid 1px var(--sub_color);
  border-radius: 30px;
  text-align: center;
  padding: 5px 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.lineup .products p {
  margin-top: 20px;
}
.lineup .products p span ,
.lineup .products .type li span {
  color: var(--sub_color);
}
.lineup .cap ,
.lineup .led,
.lineup .badge {
  border-bottom: solid 1px #464646;
  padding-bottom: 20px;
}
.lineup .cap .img_box {
  max-width: 900px;
  margin: 0 auto;
  margin-top: 30px;
}
.lineup .badge>div {
  max-width: 900px;
  margin: 0 auto;
}
.lineup .led .img_box,
.lineup .badge .img_box {
  max-width: 280px;
  margin: 0 auto;
}
.lineup .cap .txt_box ,
.lineup .led .txt_box,
.lineup .badge .txt_box,
.lineup .ribbon .txt_box {
  text-align: left;
  margin-top: 30px;
}
.lineup .cap .txt_box span,
.lineup .led .txt_box span {
  color: var(--sub_color);
}
.lineup .badge div.img_box:first-child{margin-bottom: 20px;}
.lineup .ribbon .img_box .ribbon_bottle {
  max-width: clamp(160px, 30vw, 300px);
  margin: 20px auto 0;
}
.lineup .product_txt_atten {
  font-size: 0.9em;
}
@media (min-width: 768px) {
  .lineup .product_txt_atten {
    font-size: 1em;
  }
}

/* PC用テーブル 横スクロール */
.price .table_wrap {
  overflow-x: auto;
}
.price .table_wrap .table_01 {
  table-layout: auto;
}
.price .table_wrap .table_01 :is(th, td) {
  white-space: nowrap;
}
.price .table_wrap .table_01 .sticky {
  position: sticky;
  top: 0;
  left: 0;
}
.price .table_wrap .table_01 .sticky:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-right: solid 1px var(--white);
  z-index: -1;
}
.price .table_wrap .table_01 th {
  line-height: 1.0rem;
}
.price .table_wrap .table_01 th .ice {
  font-size: 8px;
}

@media (min-width: 768px) {
  .lineup .products {
    grid-template-columns: clamp(250px, 38vw, 400px) 1fr;
    gap: 40px;
    max-width: 100%;
    padding: 40px 0;
  }
  .lineup .products .type {
    grid-template-columns: repeat(3 , 1fr);
    margin-top: 20px;
  }
  .lineup .products p {
    margin-top: 25px;
  }
  .lineup .cap ,
  .lineup .led,
  .lineup .badge {
    padding-bottom: 40px;
  }
  .lineup .cap .img_box {
    margin-top: 40px;
  }
  .lineup .led .img_box,
  .lineup .badge .img_box {
    max-width: 400px;
  }
  .lineup .cap .txt_box ,
  .lineup .led .txt_box,
  .lineup .badge .txt_box,
  .lineup .ribbon .txt_box {
    text-align: center;
    margin-top: 40px;
  }
  .lineup .badge>div{
    display: flex;
    align-items: center;
    gap: 60px;
    justify-content: center;
  }
  .lineup .badge div.img_box:first-child{
    margin-bottom: 0;
  }
  .price .table_wrap .table_01 th {
    line-height: 1.1rem;
  }
  .price .table_wrap .table_01 th .ice {
    font-size: 11px;
  }
}

.price .exp {
  display: grid;
   grid-template-columns: 1fr;
   gap: 20px;
}
.price .exp dl {
  width: 100%;
  border: solid 1px var(--main_color);
  border-radius: 10px;
  padding: 20px;
}
.price .exp dt {
  font-weight: normal;
  border-bottom: solid 1px #ddd;
  padding-bottom: 10px;
}
.price .exp dd {
  padding-top: 10px;
}
@media (min-width: 768px) {
  .price .exp {
    grid-template-columns: 1fr 1fr;
  }
}

.table_price .tax {
  display: block;
}
.lineup2 .table_price .ice {
  font-size: 12px;
  color: #fff;
}

/* 制作マニュアル */
.manual .manual_pc {
  background: var(--main_color) url(../images/contents_bg_manual.jpg) center bottom / 100% no-repeat;
}
.manual .subtitle {
  margin-bottom: 30px;
}
.manual .subtitle img {
  max-width: 330px;
  height: auto;
}
.manual .subtitle::after {
  display: none;
}
.manual .cat:nth-of-type(n + 2) {
  /* padding-top: 0; */
  /* padding: 0 20px;*/
  padding: 20px 20px 0;
}
.manual .box {
  /* border: solid 1px var(--sub_color); */
  padding: 0;
}
.manual .box .list_box {
  border-radius: 5px;
  padding: 70px 20px 20px;
  color: var(--main_color);
}
.manual .box .list_box:nth-of-type(1) {
  background: var(--white) url(../images/icon_1.svg) center 12px / 40px 47px no-repeat;
}
.manual .box .list_box:nth-of-type(3) {
  background: var(--white) url(../images/icon_2.svg) center 12px / 40px 47px no-repeat;
}
.manual .box .list_box:nth-of-type(5) {
  background: var(--white) url(../images/icon_3.svg) center 12px / 40px 47px no-repeat;
}
.manual .box .list_box:nth-of-type(7) {
  background: var(--white) url(../images/icon_4.svg) center 12px / 40px 47px no-repeat;
}
.manual .box .list_box .contents_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.manual .box .list_box .contents_box {
  padding: 20px;
  border-radius: 5px;
  margin-top: 10px;
}
.manual .box .list_box .contents_wrap .contents_box:nth-of-type(n + 2) {
  margin-top: 0;
}
.manual .box .list_box .contents_wrap .contents_box ul {
  margin-top: 5px;
}
.manual .box .contents_box .type_name {
  position: relative;
  text-align: center;
  margin-bottom: 32px;
}
.manual .box .contents_box .type_name::after {
  position: absolute;
  bottom: -12px;
  left: calc(50% - 17px);
  content: '';
  width: 34px;
  height: 2px;
  background: var(--sub_color);
}
.manual .box .contents_box .type_list li {
  padding: 65px 0 20px;
  border-bottom: solid 1px #464646;
}
.manual .box .contents_box .type_list li:nth-of-type(1) {
  background: url(../images/icon_1_white.svg) center top / 32px 38px no-repeat;
}
.manual .box .contents_box .type_list li:nth-of-type(2) {
  background: url(../images/icon_2_white.svg) center 16px / 32px 38px no-repeat;
}
.manual .box .contents_box .type_list li:nth-of-type(3) {
  background: url(../images/icon_3_white.svg) center 16px / 32px 38px no-repeat;
}
.manual .box .contents_box .type_list li:first-child {
  padding-top: 50px;
}
.manual .box .contents_box .type_list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.manual .box .img_guide_box {
  background: var(--white);
  border-radius: 5px;
  padding: 5px;
  text-align: center;
}
.manual .box .img_guide_box img {
  max-width: 800px;
  margin: 0 auto;
}
.manual .box .arrow {
  text-align: center;
  padding: 13px 0 25px;
}
.manual .box .arrow img {
  width: 20px;
  transform: rotate(90deg);
}
@media (min-width: 768px) {
  .manual .subtitle img {
    max-width: 580px;
  }
  .manual .box .list_box {
    border-radius: 10px;
    padding: 20px 40px 20px 86px;
    background-position: 25px 16px !important;
  }
  .manual .box .list_box .contents_wrap {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  .manual .box .list_box .contents_box {
    padding: 30px;
    border-radius: 10px;
    margin-top: 20px !important;
  }
  .manual .box .contents_box .type_name {
    margin-bottom: 42px;
  }
  .manual .box .contents_box .type_name::after {
    bottom: -15px;
    left: calc(50% - 30px);
    width: 60px;
    height: 3px;
  }
  .manual .box .contents_box .type_list li {
    padding: 20px 20px 20px 56px;
    background-size: 40px 47px !important;
  }
  .manual .box .contents_box .type_list li:first-child {
    padding-top: 2px;
  }
  .manual .box .contents_box .type_list li:nth-of-type(1) {
    background-position: left top;
  }
  .manual .box .contents_box .type_list li:nth-of-type(n + 2) {
    background-position: left 16px;
  }
  .manual .box .arrow {
    padding: 18px 0 30px;
  }
}

/* 制作実績 詳細 */
.productions .detail_productions {
  background: var(--main_color) url(../images/contents_bg_productions.jpg) center bottom / 100% no-repeat;
  padding: 40px 0px;
}
@media (min-width: 768px) {
  .productions .detail_productions {
    padding: 60px 20px;
  }
}
.detail_productions {
  background: var(--main_color);
  color: var(--white);
}
.detail_productions .productions_box {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  align-items: center;
  gap: 40px;
  max-width: 500px;
  margin: 0 auto;
}
.detail_productions .productions_box li {
  width: 100%;
  height: 100%;
  border-bottom: solid 1px #464646;
  padding-bottom: 40px;
}
.detail_productions .productions_box li .img_box {
  width: 100%;
  min-height: 340px;
  margin: 0 auto;
  background: var(--white);
  padding: 20px;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
.detail_productions .productions_box li .img_box img {
  max-width: 100%;
  max-height: 330px;
  object-fit: contain;
}
.detail_productions .productions_box li .name {
  text-align: center;
  position: relative;
  margin-bottom: 32px;
}
.detail_productions .productions_box li .name::after {
  position: absolute;
  bottom: -12px;
  left: calc(50% - 17px);
  content: '';
  width: 34px;
  height: 2px;
  background: var(--sub_color);
}
.detail_productions .productions_box li .contents img {
  max-width: 100% !important;
  height: auto !important;
}
.detail_productions .productions_box li .contents a {
  color: var(--white);
  transition: all .5s;
}
.detail_productions .productions_box li .contents a:hover {
  color: var(--sub_color);
}
@media (min-width: 768px) {
  .detail_productions .productions_box {
    grid-template-columns: 1fr 1fr;
    max-width: 100%;
  }
  .detail_productions .productions_box li .img_box img:hover {
    opacity: 1;
  }
  .detail_productions .productions_box li .img_box {
    margin-bottom: 40px;
    border-radius: 10px;
    min-height: 260px;
  }
  .detail_productions .productions_box li .img_box img {
    max-height: 240px;
  }
  .detail_productions .productions_box li .name {
    margin-bottom: 55px;
  }
  .detail_productions .productions_box li .name::after {
    bottom: -15px;
    left: calc(50% - 30px);
    width: 60px;
    height: 3px;
  }
}  

/* お客様の声 詳細 */
.voices .top_voices {
  background: var(--main_color) url(../images/contents_bg_voices.jpg) center bottom / 100% no-repeat;
}
.voices .top_voices .voices_box li .contents {
  -webkit-line-clamp: inherit;
  line-height: 1.8;
}

/* 新着情報 詳細 */
.news .detail_news {
  background: var(--main_color) url(../images/contents_bg_news.jpg) center bottom / 100% no-repeat;
  color: var(--white);
}
.detail_news .name {
  text-align: center;
  position: relative;
  margin-bottom: 32px;
}
.detail_news .name::after {
  position: absolute;
  bottom: -12px;
  left: calc(50% - 17px);
  content: '';
  width: 34px;
  height: 2px;
  background: var(--sub_color);
}

/* left_contents */
.detail_news .left_contents {
  margin-bottom: 40px;
}
.detail_news .left_contents li .img_box {
  width: 100%;
  min-height: 260px;
  margin: 0 auto;
  background: var(--white);
  padding: 20px;
  border-radius: 10px;
  text-align: center;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
.detail_news .left_contents li .img_box img {
  max-width: 100%;
  max-height: 240px;
}
.detail_news .left_contents ul {
  max-width: 500px;
  margin: 0 auto;
  transition: all .5s;
}
.detail_news .left_contents li .contents a {
  color: var(--white);
  transition: all .5s;
}
.detail_news .left_contents li .contents a:hover {
  color: var(--sub_color);
}

/* right_contents */
.detail_news .right_contents .top_news {
  background: none;
}
.detail_news .right_contents .top_news .news_box li:last-child {
  display: block;
}
.detail_news .right_contents .top_news .news_box li .box {
  max-width: 500px;
}
@media (min-width: 768px) {
  .detail_news .name {
    margin-bottom: 55px;
  }
  .detail_news .name::after {
    bottom: -15px;
    left: calc(50% - 30px);
    width: 60px;
    height: 3px;
  }
  
  /* left_contents */
  .detail_news .left_contents ul {
    max-width: 700px;
  }
  .detail_news .left_contents li .img_box {
    min-height: 320px;
  }
  .detail_news .left_contents li .img_box img {
    max-height: 300px;
  }

  /* right_contents */
  .detail_news .right_contents .top_news .news_box {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
    align-items: center;
    gap: 20px;
  }
  .detail_news .right_contents .top_news .news_box li ,
  .detail_news .right_contents .top_news .news_box li > a {
    color: var(--main_color);
    width: 100%;
    height: 100%;
  }
  .detail_news .right_contents .top_news .news_box li .box {
    display: grid;
    grid-template-columns: max(110px,35%) 1fr;
    justify-content: center;
    align-items: center;
    gap: 20px;
    padding: 20px;
    max-width: 700px;
  }
  .detail_news .right_contents .top_news .news_box li .img_box {
    width: 100%;
    margin: 0 auto;
    background: var(--main_color);
    padding: 5px;
    border-radius: 10px;
    text-align: center;
    position: relative;
  }
  .detail_news .right_contents .top_news .news_box li .img_box .frame_box {
    min-height: 100px;
    background: var(--white);
    padding: 5px;
    border-radius: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .detail_news .right_contents .top_news .news_box li .img_box img {
    max-width: 120px;
    max-height: 80px;
    object-fit: contain;
  }
  .detail_news .right_contents .top_news .news_box li .txt_box .news_title {
    margin-bottom: 0;
  }
}
@media (min-width: 1100px) {
  .detail_news .detail_news_box {
    display: grid;
    grid-template-columns: 1fr max(240px,35%);
    justify-content: center;
    gap: 40px;
  }

  /* left_contents */
  .detail_news .left_contents {
    margin-bottom: 0;
  }
  .detail_news .left_contents ul {
    max-width: 100%;
  }
  .detail_news .left_contents li .img_box {
    margin-bottom: 40px;
  }
  .detail_news .left_contents li .img_box {
    min-height: 420px;
  }
  .detail_news .left_contents li .img_box img {
    max-height: 400px;
  }

  /* right_contents */
  .detail_news .right_contents .top_news .news_box li .box {
    padding: 10px 20px 10px 10px;
  }
  .detail_news .right_contents .top_news .news_box li .img_box .frame_box {
    min-height: 80px;
  }
  .detail_news .right_contents .top_news .news_box li .img_box img {
    max-width: 105px;
    max-height: 70px;
  }
  .detail_news .right_contents .top_news .news_box li .txt_box .news_title {
    font-size: 16px;
  }
}

/* コラム　目次 */
.detail_news #toc{
  border: 2px solid var(--white);
  padding: 30px 20px;
  margin: 0 auto 40px;
  width: 100%;
  max-width: 600px;
}
.detail_news #toc>ul{
  margin-top: 20px;
}
.detail_news #toc ul a{
  color: var(--white);
}
.detail_news #toc ul a:hover{
  color: var(--sub_color);
}
/* 目次装飾 */
.detail_news .contents h4 {
  font-size: clamp(20px, 2.8vw, 24px);
  margin: 20px 0 8px;
  padding: 0 8px 0 12px;
  background: var(--sub_color);
  color: var(--white);
  font-weight: bold;
}
.detail_news .contents h5 {
  font-size: clamp(18px, 2.6vw, 20px);
  margin: 10px 0 8px;
  /* padding: 2px 8px 2px 12px; */
  /* background: #f1f0ff; */
  /* border-left: 4px solid var(--sub_color); */
  /* color: var(--main_color); */
}
.detail_news .contents h6 {
  position: relative;
  margin-bottom: 8px;
  /* font-size: clamp(18px, 2.2vw, 20px); */
  /* padding: 0 8px 2px;
  border-bottom: 2px solid #ddd; */
  /* color: var(--white); */
}
/* .detail_news .contents h6:before{
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 8rem;
  max-width: 30%;
  height: 2px;
  background: var(--sub_color);
} */
.detail_news #toc .toc_title{
  text-align: center;
  font-size: 18px;
  margin: 0;
  padding: 0;
}
.detail_news #toc .toc-list ul{
  margin-left: 1.5em;
}
.detail_news summary{
  cursor: pointer;
}
/* コラム　LINEバナー */
.detail_news a.bnr_line{
  width: 100%;
  max-width: 500px;
  margin: 40px auto 0;
  display: block;
}

/* テンプレート一覧 */
.samples .samples_category .btn {
  margin-top: 30px;
}
.samples .samples_category .category_title {
  margin: 30px 0 10px;
}
.samples .samples_category .is-empty {
  width: 100%;
  max-width: 260px;
  color: var(--main_color);
  background: var(--white) url(../images/arrow_green_btm.svg) right 15px center / 7px 8px no-repeat;
  padding: 10px 35px 10px 15px;
  border-radius: 5px;
  text-align: left;
}
.samples .samples_list .samples_box {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 20px;
}
.samples .samples_list .samples_box .img_box {
  margin-bottom: 10px;
  position: relative;
}
.samples .samples_list .samples_box .img_box a::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.samples .samples_list .samples_box .img_box a img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}
.samples .samples_list .samples_box .btn_s {
  width: 100%;
  margin-top: 10px;
  text-align: center;
}
@media (min-width: 768px) {
  .samples .samples_list .samples_box {
    grid-template-columns: repeat(4,1fr);
    gap: 40px;
  }
}

/* pager */
.page_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px;
}
.page_list span ,
.page_list a {
    display: block;
    width: 30px;
    height: 30px;
    background: var(--white);
    border-radius: 40px;
    font-size: 14px;
    text-align: center;
    padding-top: 4px;
}
.page_list span {
    background: var(--sub_color) !important;
}
.page_list .arrow span ,
.page_list .arrow a {
    background: url(../images/arrow_double_white.svg) center / 20px 7px no-repeat;
}
.page_list .arrow a:hover {
    background: url(../images/arrow_double_green.svg) center / 20px 7px no-repeat;
}
.page_list li:first-child {
  transform: rotate(180deg);
}
.page_list li.disabled span {
  background: url(../images/arrow_double.svg) center / 20px 7px no-repeat !important;
}
@media (min-width: 768px) {
  .page_list {
    gap: 40px;
    margin-top: 60px;
  }
  .page_list span, .page_list a {
      width: 40px;
      height: 40px;
      font-size: 16px;
      padding-top: 7px;
  }
}

.news .page_list {
  margin-top: 30px;
}
.news .page_list span , .news .page_list a ,
.samples .page_list span , .samples .page_list a {
  background: var(--main_color);
  color: var(--white);
}
.news .page_list a:hover ,
.samples .page_list a:hover {
  color: var(--sub_color);
}
.news .page_list .arrow span , .news .page_list .arrow a ,
.samples .page_list .arrow span , .samples .page_list .arrow a {
    background: url(../images/arrow_double.svg) center / 20px 7px no-repeat !important;
}
.news .page_list .arrow a:hover ,
.samples .page_list .arrow a:hover {
    background: url(../images/arrow_double_green.svg) center / 20px 7px no-repeat !important;
}
.news .page_list li.disabled span ,
.samples .page_list li.disabled span {
  background: url(../images/dots.svg) center / 16px 3px no-repeat !important;
}
.news .page_list li.disabled.arrow span ,
.samples .page_list li.disabled.arrow span {
  background: url(../images/arrow_double_white.svg) center / 20px 7px no-repeat !important;
}
@media (min-width: 768px) {
  .news .page_list {
    margin-top: 50px;
  }
}

/* ログインページ */
form .btn {
  color: var(--main_color);
  padding: 0;
  margin-top: 30px;
}
form .btn button {
  width: 100%;
  padding: 15px 10px 15px 15px;
  background: url(../images/arrow_green.svg) calc(50% - 40px) center / 8px 7px no-repeat;
}
form input {
  color: var(--main_color);
  background: var(--white);
  width: 100%;
  max-width: 330px;
  padding: 10px;
  border-radius: 5px;
  text-align: left;
  font-size: 16px;
}
.err_box {
    color: var(--sub_color);
    border: solid 1px var( --sub_color);
    border-radius: 10px;
    padding: 20px;
    max-width: 500px;
    margin: 0 auto 20px;
}

/* 利用規約 */
/* terms */
.terms dl {
  padding: 20px 0;
  border-bottom: solid 1px #464646;
}
.terms .privacy dl:first-child {
  padding: 0 0 20px;
}
.terms dt {
  color: var(--sub_color);
  margin-bottom: 20px;
}
.terms dd ul li {
  padding-left:1.0em;
  text-indent:-1.0em;
}
@media (min-width: 768px) {
  .terms dl {
    padding: 40px 0;
  }
  .terms .privacy dl:first-child {
    padding: 0 0 40px;
  }
}

/*--------------------------------------
フルラッピング・シールオリシャン・直接プリント
--------------------------------------*/
/* 切替ボタン */
.top_wrapping_tab {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 0 auto 30px;
}
.top_wrapping_tab {
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 0;
}
/* 絞り込みボタン（トップ以外） */
.wrapping_tab,
.wrapping_tab_orican {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 10px;
}
.wrapping_tab>a,
.wrapping_tab_orican>a,
.wrapping_tab li {
  width: calc((100% / 2) - 5px);
}
.wrapping_tab img,
.wrapping_tab_orican img{ opacity: 0.4;transition: all .5s;}
.wrapping_tab img:hover,
.wrapping_tab_orican img:hover{ opacity: 0.6;}
.wrapping_tab .is-active img,
.wrapping_tab_orican .is-active img {
  opacity: 1;
}
@media (min-width: 600px) {
  .top_wrapping_tab{grid-template-columns: repeat(4, 1fr);}
  .top_wrapping_tab,
  .wrapping_tab,
  .wrapping_tab_orican {
    gap: 20px;
    flex-wrap: nowrap;
  }
  .wrapping_tab,
  .wrapping_tab_orican{
    margin-bottom: 30px;
  }
  .wrapping_tab>a,
  .wrapping_tab_orican>a,
  .wrapping_tab li {
    width: calc((100% / 2) - 10px);
  }
}

/* ---------- トップページ ---------- */
.cat.top_wrapping {
  padding: 40px 20px;
}
@media (min-width: 768px) {
  .cat.top_wrapping {
    padding: 60px 40px;
  }
}
.top_wrapping {
  background: var(--main_color) url(../images/top_wrapping_bg.jpg) center top / cover no-repeat;
  color: var(--white);
}

/* ---------- 選べるお酒・料金 ---------- */
.lineup_wrapping {
  padding: 60px 20px 0;
}
.lineup_wrapping .wrapping_tab {
  margin-bottom: 10px;
}
.lineup_wrapping .wrapping_box {
  background: url(../images/lineup_wrapping_bg2.png) center / cover no-repeat;
  padding: 20px;
}
.lineup_wrapping .wrapping_inner {
  background: var(--main_color) url(../images/lineup_wrapping_bg.png) left top / contain no-repeat;
  border-radius: 20px;
  padding: 30px 20px;
}
.lineup_wrapping .wrapping_txt .wrapping_name,
.lineup_wrapping .wrapping_contents_orican .wrapping_txt .wrapping_name {
  max-width: 300px;
  margin-bottom: 30px;
}
.lineup_wrapping .wrapping_contents_orican .wrapping_txt .wrapping_name{
  margin: 0 auto 30px;
}
.lineup_wrapping .wrapping_txt p,
.lineup_wrapping .wrapping_contents_orican .wrapping_txt p {
  margin: 0 10px;
}
.lineup_wrapping .wrapping_contents_orican .wrapping_txt p {
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}
.lineup_wrapping .wrapping_contents_orican .wrapping_txt p.image_can{
  max-width: 400px;
  margin: 0 auto;
  margin-top: 10px;
}
.lineup_wrapping .wrapping_contents_orican .wrapping_txt p.image_can::before,
.lineup_wrapping .wrapping_contents_orican .wrapping_txt p.image_can::after {
  content: "";
  flex: 0 0 40px;
  width: 40px;
  height: 70px;
  background: url(../images/img_orican_beer.png) center top / 40px 70px no-repeat;
}
.lineup_wrapping .wrapping_contents_orican .wrapping_txt p.image_can::after{background: url(../images/img_orican_cola.png) center top / 40px 70px no-repeat;}
.lineup_wrapping .wrapping_contents_orican .wrapping_img img{
  transform: rotate(10deg);
}
.lineup_wrapping .wrapping_img {
  max-width: 130px;
  margin: 0 auto;
}
.lineup_wrapping .wrapping_contents.show {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 300px;
  margin: 0 auto;
}
.lineup_wrapping .wrapping_contents_orican{
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 300px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .lineup_wrapping {
    padding: 120px 20px 0;
  }
  .lineup_wrapping .wrapping_tab {
    margin-bottom: 20px;
  }
  .lineup_wrapping .wrapping_box {
    padding: 30px;
  }
  .lineup_wrapping .wrapping_contents.show,
  .lineup_wrapping .wrapping_contents_orican {
    grid-template-columns: 130px 1fr;
    align-items: center;
    max-width: 500px;
    gap: 40px;
  }
  .lineup_wrapping .wrapping_contents_orican{
    max-width: 600px;
  }
  .lineup_wrapping .wrapping_txt {
    order: 2;
  }
  .lineup_wrapping .wrapping_img {
    order: 1;
  }
  .lineup_wrapping .wrapping_contents_orican .wrapping_txt p {
    font-size: 14px;
  }
}
/* ---------- 選べるお酒・料金（オリ缶） ---------- */
.lineup_orican_kind{
  color: var(--sub_color);
  margin-bottom: 30px;
  text-align: center;
  position: relative;
  font-weight: bold;
}
.lineup_orican_kind::after{
  position: absolute;
  bottom: -8px;
  left: calc(50% - 10px);
  content: '';
  width: 20px;
  height: 2px;
  background: var(--white);
}
#lineup2 .lineup_orican_kind{
  color: var(--line_color_pink3);
}
.orican_line_txt{
  font-size: 1.3em;
  font-weight: bold;
}
.orican_line_txt span{
  font-size: 1.2em;
}
#section_alcohol_orican .alcohol_outer_orican{
  margin-bottom: 40px;
}
#section_alcohol_orican .alcohol_item{
  font-size: 13px;
  background: #080809;
  padding: 20px;
  margin-bottom: 0;
}
#section_alcohol_orican .alcohol_item p,
#lineup2 #section_alcohol_orican .alcohol_item p{
  text-align: center;
  padding-bottom: 8px;
  margin-bottom: 15px;
  border-bottom: solid 1px #464646;
}
#lineup2 #section_alcohol_orican .alcohol_item{
  background:var(--white);
}
#section_alcohol_orican .swiper-slide > div > div:first-child {
  width: 30%;
}
#section_alcohol_orican .swiper-slide > div > div:last-child {
  width: 70%;
  margin-top: 0;
}
#section_alcohol_orican .swiper-slide > div > div:last-child .font_l{
  margin-top: 0;
  text-align: center;
}
#section_alcohol_orican .swiper-slide > div > div img{
  max-width: 70%;
  margin: 0 auto;
  display: block;
}

/* 矢印 */
#section_alcohol_orican .swiper-button-prev {
  left: -20px;
  top: 55%;
}
#section_alcohol_orican .swiper-button-next {
  right: -20px;
  top: 55%;
}
#section_alcohol_orican .swiper-button-prev::after {
  content: "" !important;
  width: 30px;
  height: 30px;
  background: url(../images/arrow_slide.svg) no-repeat center / contain;
  transform: rotate(180deg);
}
#lineup2 #section_alcohol_orican .swiper-button-prev::after{
  background: url(../images/arrow_slide.svg) no-repeat center / contain;
}
#section_alcohol_orican .swiper-button-next::after {
  content: "" !important;
  width: 30px;
  height: 30px;
  background: url(../images/arrow_slide.svg) no-repeat center / contain;
}
#lineup2 #section_alcohol_orican .swiper-button-next::after{
  background: url(../images/arrow_slide.svg) no-repeat center / contain;
}

/* ナビゲーション */
#section_alcohol_orican .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: transparent;
  border: 1px solid var(--sub_color);
  opacity: 1;
  margin: 0 6px !important;
}
#lineup2 #section_alcohol_orican .swiper-pagination-bullet{
  border: 1px solid var(--line_color_pink3);
}
#section_alcohol_orican .swiper-pagination-bullet-active {background: var(--sub_color);}
#lineup2 #section_alcohol_orican .swiper-pagination-bullet-active {background: var(--line_color_pink3);}

#section_alcohol_orican .alcohol_specification{
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  margin-bottom: 0;
}
#section_alcohol_orican .alcohol_specification li{
  border: solid 1px var(--sub_color);
  border-radius: 30px;
  text-align: center;
  padding: 5px 10px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#section_alcohol_orican .alcohol_specification li.can_price,
#lineup2 #section_alcohol_orican .alcohol_specification li.can_price{
  border: 0;
  font-size: 1.2em;
  padding: 5px 0;
}
#lineup2 #section_alcohol_orican .alcohol_specification li{
  border: solid 1px var(--line_color_pink3);
}
#section_alcohol_orican .alcohol_specification li span{
  color: var(--sub_color);
}
#lineup2 #section_alcohol_orican .alcohol_specification li span{
  color: var(--line_color_pink3);
}

/* スライドの高さを一旦リセット */
#section_alcohol_orican .swiper-slide {
  height: auto;
}
#section_alcohol_orican .swiper-slide > div {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}
#section_alcohol_orican  .swiper-pagination-horizontal{
  bottom: 0;
}
@media (min-width: 600px) {
  #section_alcohol_orican .alcohol_des{
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
  }
  #section_alcohol_orican .alcohol_des>div{
   width: calc(100% / 2);
  }
  #section_alcohol_orican .alcohol_outer_orican{
    margin-bottom: 30px;
  }
  #section_alcohol_orican .alcohol_des .circle img {
    width: 90%;
    margin: 0 0 0 auto;
  }
  #section_alcohol_orican .alcohol_item{
    font-size: 14px;
  }
  #section_alcohol_orican .swiper-slide > div {
    gap: 20px;
  }
}

/* ---------- タブ切り替え ---------- */
.wrapping_contents {
  display: none;
}
.wrapping_contents.show {
  display: block;
}

.table_wrap.wrapping_contents .sp .table_01 :is(th, td){
  white-space: normal;
}
.table_wrap.wrapping_contents .sp .table_01 {
  table-layout: fixed;
}

/*--------------------------------------
LINE注文公式ページ
--------------------------------------*/
:root {
  --line_color_purple1: #7d0f80;
  --line_color_purple2: #541f82;
  --line_color_blue1: #3f6eb4;
  --line_color_blue2: #65a6de;
  --line_color_pink1: #c51c70;
  --line_color_pink2: #e6a6b7;
  --line_color_pink3: #f86cb2;
}
.color_line_purple { color: var(--line_color_purple1); }
.color_line_blue { color: var(--line_color_blue1); }
.color_line_pink1 { color: var(--line_color_pink1); }
.color_line_pink2 { color: var(--line_color_pink2); }
.color_line_pink3 { color: var(--line_color_pink3); }

.fs_8 { font-size: 0.8em !important; }

html.line_html { scroll-padding-top: 0; }

/* ---------- ヘッダー ---------- */
header.line {
  display: block;
  position: inherit;
  height: auto;
  padding: 30px 20px;
}
header.line h1 a {
  max-width: 300px;
  width: 100%;
  display: block;
  margin: 0 auto;
}
header.line h1 img {
  width: 100%;
}

/* メニュー（PC） */
@media (min-width: 960px) {
  header.line ul.nav_menu {
    width: 100%;
    max-width: 1040px;
    background: var(--main_color);
    border-radius: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 30px auto 0;
  }
  header.line ul.nav_menu li a {
    display: block;
    color: var(--white);
    padding: 10px;
    font-size: 12px;
    transition: all 0.3s ease-in-out;
  }
  header.line ul.nav_menu li a:hover {
    color: var(--line_color_pink3);
  }
  header.line ul.nav_menu li a::after {
    display: none;
  }
  
  /* アコーディオン */
  header.line ul.nav_menu li.has_child {
    position: relative;
  }
  header.line ul.nav_menu li.has_child ul {
    position: absolute;
    left: calc(50% - 90px);
    top: 30px;
    z-index: 4;
    width: 180px;
    padding: 10px 0;
    background: var(--main_color);
    border-radius: 0 0 5px 5px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }
  header.line ul.nav_menu li.has_child:hover > ul {
    visibility: visible;
    opacity: 1;
  }
  header.line ul.nav_menu li.has_child ul li a {
    padding: 0;
  }
}

/* ハンバーガーメニュー */
header.line + .header_nav {
  top: 5px;
  right: 5px;
}
header.line + .header_nav .menu-icon {
  background: var(--white);
  border-radius: 5px;
}
header.line + .header_nav .menu-icon .navicon ,
header.line + .header_nav .menu-icon .navicon:before ,
header.line + .header_nav .menu-icon .navicon:after {
  background: var(--line_color_pink1);
}
header.line + .header_nav .nav_list .nav_menu li a:hover {
  color: var(--line_color_pink3);
}
header.line + .header_nav .nav_list .nav_menu .accordion_body {
  display: none;
}
header.line + .header_nav .nav_list .nav_menu .accordion_trigger {
  color: var(--white);
}
header.line + .header_nav .nav_list .nav_menu .accordion_trigger {
  position: relative;
}
header.line + .header_nav .nav_list .nav_menu .accordion_trigger::after,
header.line + .header_nav .nav_list .nav_menu .accordion_trigger::before {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  background-color: var(--line_color_pink3);
  transition: transform 0.6s ease;
}
header.line + .header_nav .nav_list .nav_menu .accordion_trigger::after {
  width: 11px;
  height: 1px;
  transform: translateY(-50%);
}
header.line + .header_nav .nav_list .nav_menu .accordion_trigger::before {
  width: 1px;
  height: 11px;
  transform: translate(-5px, -50%) rotate(0deg);
  transform-origin: center;
}
header.line + .header_nav .nav_list .nav_menu .accordion_child.is-open .accordion_trigger::before {
  transform: translate(-5px, -50%) rotate(270deg);
}

/* ---------- フッター ---------- */
footer.line {
  padding: 30px 20px;
}
footer.line .logo img {
  max-width: 200px;
  width: 100%;
  display: block;
  margin: 0 auto;
}
footer.line .copy_box {
  text-align: center;
  margin-top: 20px;
}

/* ---------- サブビジュアル ---------- */
.line .subvisual {
  margin-top: 0;
  background-image: url(../images/title_bg_line_sp.jpg);
}
@media (min-width: 768px) {
  .line .subvisual {
    background-image: url(../images/title_bg_line.jpg);
  }
}

/* ---------- 最短での発送をご希望の方はこちら ---------- */
.line .requests .title img {
  height: 60px;
}
.line .requests .box .list_box:nth-of-type(1) {
  background: var(--white);
}
.line .requests .box {
  padding: 0;
}
.line .requests .box .list_box {
  color: var(--main_color);
  padding: 20px;
  border-radius: 5px;
}
.line .requests .copy_button {
  background: var(--line_color_pink1);
}
.line .requests .box .list_box .contents_box {
  padding: 20px;
  border-radius: 5px;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .line .requests .title img {
    height: 80px;
  }
  .line .requests .box .list_box {
    padding: 40px;
    border-radius: 10px;
  }
  .line .requests .box .list_box .contents_box {
    padding: 30px;
    border-radius: 10px;
    margin-top: 20px !important;
  }
}

/* ---------- 選べるお酒・料金 ---------- */
.lineup2 .title img {
  height: 36px;
}
@media (min-width: 768px) {
  .lineup2 .title img {
    height: 50px;
  }
}

.lineup2 .section_alcohol{
  padding-top: 60px;
}
.lineup2 .section_alcohol .alcohol_des{
  margin-bottom: 20px;
}
.lineup2 .section_alcohol .alcohol_des .circle img{
  width: 80%;
  margin: 0 auto 15px;
  display: block;
}
.lineup2 .section_alcohol .alcohol_outer{
  margin-bottom: 40px;
}
.lineup2 .section_alcohol .alcohol_item{
  font-size: 13px;
}
.lineup2 .section_alcohol .swiper-slide > div > div:first-child {
  width: 40%;
  /* padding-top: 40px; */
}
.lineup2 .section_alcohol .swiper-slide > div > div:last-child {
  width: 60%;
}
.lineup2 .section_alcohol .alcohol_name{
  background: var(--main_color);
  color: var(--white);
  border-radius: 50px;
  text-align: center;
  padding: 4px 5px 3px;
  font-size: 14px;
  line-height: 1.2;
}
.lineup2 .section_alcohol .alcohol_specification{
  margin-bottom: 10px;
}
.lineup2 .section_alcohol .alcohol_specification li{
  padding: 6px 0;
  border-bottom: 1px solid #cecece;
  text-align: center;
}
.lineup2 .section_alcohol .flavor_des{
  margin-bottom: 10px;
}
.lineup2 .section_alcohol .flavor_kinds{
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 5px;
  margin-top: 10px;
}
/* .lineup2 .section_alcohol .flavor_kinds.row{
  flex-direction: column;
  align-items: start;
} */
.lineup2 .section_alcohol .flavor_kinds li{
  display: flex;
  align-items: flex-start;
  align-items: center;
}
/* .lineup2 .section_alcohol .flavor_kinds.row li{
  width: calc(50% - 10px);
} */
.lineup2 .section_alcohol .flavor_kinds li:before{
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  -webkit-mask: radial-gradient(circle, black 50%, transparent 51%);
  mask: radial-gradient(circle, black 50%, transparent 51%);
}
.lineup2 .section_alcohol .flavor_kinds li.raspberry:before{background: #AC2053;}
.lineup2 .section_alcohol .flavor_kinds li.lychee:before{background: linear-gradient(-45deg, #FC8385, #AC2053);}
.lineup2 .section_alcohol .flavor_kinds li.greenapple:before,.section_alcohol .flavor_kinds li.melon:before{background: #B1DE73;}
.lineup2 .section_alcohol .flavor_kinds li.peach:before{background: #FFA2C4;}
.lineup2 .section_alcohol .flavor_kinds li.muscat:before{background: #D0E07F;}
.lineup2 .section_alcohol .flavor_kinds li.pine:before{background: linear-gradient(-45deg, #FC8385, #FFED50);}
.lineup2 .section_alcohol .flavor_kinds li.strawberry:before{background: #EA2020;}
.lineup2 .section_alcohol .flavor_kinds li.mango:before{background: #FFB443;}
.lineup2 .section_alcohol .flavor_kinds li.lemon:before{background: #ffec43;}
.lineup2 .section_alcohol .flavor_kinds li.meron:before{background: #b8d200;}
.lineup2 .section_alcohol .flavor_kinds li.dry:before{background: #D4D5A4;}
.lineup2 .section_alcohol .flavor_kinds li.rose:before{background: #F976A6;}
.lineup2 .section_alcohol .flavor_kinds li.ice:before{background: #5CD244;}
.lineup2 .section_alcohol .flavor_kinds li.bran:before{background: var(--white); border: 4px solid #adadad; border-radius: 50%;}
.lineup2 .section_alcohol .flavor_kinds li.brut:before{background: #BFC294;}
.lineup2 .section_alcohol .flavor_kinds li.red_g:before{background: #C1386F;}
.lineup2 .section_alcohol .flavor_kinds li.whi_g:before{background: #DCE98E;}
/* スライドの高さを一旦リセット */
.lineup2 .section_alcohol .swiper-slide {
  height: auto; /* 明示的にリセット */
}
.lineup2 .section_alcohol .swiper-slide > div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
@media (min-width: 600px) {
  .lineup2 .section_alcohol{
    padding-top: 100px;
  }
  .lineup2 .section_alcohol .alcohol_des{
    display: flex;
    align-items: flex-start;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
  }
  .lineup2 .section_alcohol .alcohol_des>div{
   width: calc(100% / 2);
  }
  .lineup2 .section_alcohol .alcohol_outer{
    margin-bottom: 60px;
  }
  .lineup2 .section_alcohol .alcohol_des .circle img {
    width: 90%;
    margin: 0 0 0 auto;
  }
  .lineup2 .section_alcohol .alcohol_item{
    font-size: 14px;
  }
  .lineup2 .section_alcohol .swiper-slide > div {
    align-items: flex-start;
    gap: 20px;
  }
  .lineup2 .section_alcohol .swiper-slide > div > div:first-child {
    padding-top: 0;
  }
  .lineup2 .section_alcohol .flavor_kinds.row{
    flex-direction: row;
    align-items: center;
  }
  .lineup2 .section_alcohol .flavor_kinds.row li{
    width: calc(50% - 10px);
  }
}

.lineup2 .section_alcohol .alcohol_item{
  margin-bottom: 20px;
  display: block;
  padding: 20px;
  color: var(--main_color);
  background: var(--white);
  border-radius: 20px;
}
.lineup2 .section_alcohol .alcohol_item:last-child{
  margin-bottom: 0;
}

/*NO.1アイコン*/
.lineup2 .section_alcohol .alcohol_item div[class^="icon_"] {
  position: relative;
}
.lineup2 .section_alcohol .alcohol_item div[class^="icon_"]::before {
  position: absolute;
  top: 0;
  left: -17px;
  content: "";
  background-size: 100% auto;
  width: 18vw;
  aspect-ratio: 1 / 1;
}
.lineup2 .section_alcohol .alcohol_item div.icon_no1::before {
  background: url(../images/icon_no1.svg) no-repeat;
}
.lineup2 .section_alcohol .alcohol_item div.icon_lowalcohol_no1::before {
  background: url(../images/icon_lowalcohol_no1.svg) no-repeat;
}
.lineup2 .section_alcohol .alcohol_item div.icon_over_no1::before {
  background: url(../images/icon_over_no1.svg) no-repeat;
}
.lineup2 .section_alcohol .alcohol_item div.icon_yonashi::before {
  background: url(../images/icon_yonashi.svg) no-repeat;
}
@media (min-width: 768px) {
  .lineup2 .section_alcohol .alcohol_item div[class^="icon_"]::before {
    width: min(9vw, 90px);
  }
}

.lineup2 .section_alcohol .alcohol_outer{
  margin-bottom: 0;
}
.lineup2 .section_alcohol .alcohol_item>div{
  width: 100%;
  display: flex;
  align-items: flex-start;
  /* align-items: center; */
  gap: 16px;
  margin-bottom: 20px;
}
.lineup2 .section_alcohol .alcohol_item>div>div:first-child {
  width: 40%;
}
.lineup2 .section_alcohol .alcohol_item>div>div:last-child {
  width: 60%;
}
.lineup2 .section_alcohol .flavor_kinds{
  font-size: 12px;
}
.lineup2 .section_alcohol .flavor_kinds li {
  margin-bottom: 4px;
}
.lineup2 .table_op{
  font-size: 13px;
}
.lineup2 .table_op tr:first-child th {
  text-align: center;
}
.lineup2 .table_op th,
.lineup2 .table_op td {
  border-top: solid 1px #cecece;
}
.lineup2 .table_op th {
  background: var(--main_color);
}
.lineup2 .table_op th:last-child{
  border-top: 0;
}
.lineup2 .table_op td{
  color: var(--black);
  background: var(--white);
  text-align: center;
}
@media (min-width: 768px) {
  .lineup2 .section_alcohol .alcohol_outer{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
  }
  .lineup2 .section_alcohol .alcohol_item{
    width: calc((100% - 20px) / 2);
    margin-bottom: 0;
  }
  .lineup2 .section_alcohol .alcohol_item>div{
    gap: 24px;
  }
  .lineup2 .section_alcohol .alcohol_item>div>div:last-child {
    margin-top: 20px;
  }
  .lineup2 .table_op{
    font-size: 14px;
  }
}

/* ---------- オプション ---------- */
.option2 .title img {
  height: 42px;
}
@media (min-width: 768px) {
  .option2 .title img {
    height: 50px;
  }
}

.option2 .section_option .inner .option_outer li{
  margin-bottom: 20px;
  border: solid 2px var(--white);
  border-radius: 20px;
  padding: 20px;
}
.option2 .section_option .option_led .option_led_des{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.option2 .section_option .option_led .option_led_des div{
  width: calc((100% - 10px) / 2 );
}
.option2 .section_option .option_led .option_led_des div:first-child{
  width: 53%;
}
.option2 .section_option .option_led .option_led_des div:last-child{
  width: 47%;
}
.option2 .section_option .option_led .option_led_des div:last-child img{
  margin-top: -100px;
  transition: all 0.4s ease;
}
.option2 .section_option .option_neck img.img_option_neck_01{
  width: 95%;
  display: block;
  margin: 0 auto 20px;
}
.option2 .section_option .option_acrylic img.img_option_acrylic_01{
  margin-top: 10px;
  margin-bottom: 20px;
}
@media (min-width: 850px) {
  .option2 .section_option .inner .option_outer{
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .option2 .section_option .inner .option_outer li{
    width: calc((100% - 20px) / 2);
  }
}
@media (min-width: 600px) {
  .option2 .section_option .option_led .option_led_des div:last-child img {
    margin-top: -100px;
  }
  .option2 .section_option .option_acrylic img.img_option_acrylic_01{
    margin-top: 15px;
    margin-bottom: 25px;
  }
}
@media screen and (min-width:601px) and ( max-width:750px) {
  .option2 .section_option .option_led .option_led_des{
    margin-bottom: 20px;
  }
}
@media screen and (min-width:601px) and ( max-width:671px) {
  .option2 .section_option .option_led .option_led_des div:last-child img {
      margin-top: 0;
  }
}
.option2 .option_price {
  color: var(--main_color);
  background: var(--white);
  padding: 20px;
  border-radius: 20px;
}
.option2 .product_txt_atten {
  font-size: 0.9em;
}
@media (min-width: 768px) {
  .option2 .product_txt_atten {
    font-size: 1em;
  }
}

/* ---------- デザインテンプレート ---------- */
.samples .title img {
  height: 54px;
}
@media (min-width: 768px) {
  .samples .title img {
    height: 80px;
  }
}

.samples_design {
  border: solid 2px var(--white);
  border-radius: 20px;
  padding: 20px;
}
@media (min-width: 600px) {
  .samples_design {
    padding: 40px;
  }
}

.samples_design .design_outer{
  margin-bottom: 40px;
}
.samples_design .design_outer li img{
  width: 60%;
  margin: 0 auto;
  display: block;
}
.samples_design .design_item p{
  background: var(--white);
  color: var(--line_color_pink1);
  border-radius: 50px;
  text-align: center;
  padding: 4px 0;
  margin: -10px auto 0;
  width: 80%;
}
.samples_design .swiper-button-prev:after {
  transform: rotate(-135deg);
  left: -30px;
}
.samples_design .swiper-button-next:after {
  transform: rotate(45deg);
  right: -30px;
}
@media (min-width: 600px) {
  .samples_design .design_outer{
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    margin: 20px 0;
  }
  .samples_design .design_item {
    margin-right :0;
    width: calc((100% - 20px) / 3 );
  }
  .samples_design .design_outer li img{
    width: 100%;
  }
  .samples_design .design_item p{
    margin: 0;
    width: 100%;
  } 
}
@media screen and (min-width:601px) and ( max-width:1079px) {
  .samples_design .design_outer {
    gap: 30px;
  }
  .samples_design .design_item {
    width: calc((100% - 60px) / 3 );
  }
}
/* 左右矢印　*/
.samples_design .swiper-button-lock{
  display: block;
}
.samples_design .swiper-navigation-icon{
  display: none;
}
.samples_design .swiper-button-prev:after,
.samples_design .swiper-button-next:after{
  content: '';
  position: absolute;
  top: -40px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 1.4rem;
  height: 1.4rem;
  margin: auto;
  border: 0;
  border-top: solid 3.5px var(--line_color_pink1);
  border-right: solid 3.5px var(--line_color_pink1);
}
@media (min-width: 600px) {
  .samples_design .swiper-button-prev,
  .samples_design .swiper-button-next{
    display: none !important;
  }
}

/* マーカー */
.marker {
  font-size: 1.3em;
  position: relative;
  display: inline-block;
  overflow: hidden;
  color:  var(--white);
  padding: 4px 8px 2px;
  line-height: 1.5;
  z-index: 0;
}
.marker::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--line_color_purple1);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform 1.5s ease;
  z-index: -1;
}
.marker.active::before {
  transform: scaleX(1);
}

/* select */
.line .samples .samples_category .is-empty {
  background-image: url(../images/arrow_pink_btm.svg);
}

/* bgLRextend */
.line .samples .bgLRextend::before {
  background-color: var(--line_color_purple1);
}

/* pager */
.line .samples .page_list span {
  background: var(--line_color_pink1) !important;
}
.line .samples .page_list a:hover {
  color: var(--line_color_pink3);
}
.line .samples .page_list .arrow a:hover {
  background: url(../images/arrow_double_pink.svg) center / 20px 7px no-repeat !important;
}

/* ---------- 紹介制度 ---------- */
.amazongift .title img {
  height: 40px;
}
@media (min-width: 768px) {
  .amazongift .title img {
    height: 50px;
  }
}

.amazongift .introduction_des {
  border: solid 2px var(--white);
  border-radius: 20px;
  padding: 20px;
}
.amazongift .introduction_des img{
  width: 80%;
  display: block;
  margin: 0 auto;
}
.amazongift .introduction_des p {
  margin-bottom: 20px;
}
@media (min-width: 600px) {
  .amazongift .introduction_des{
    display: flex;
    gap: 20px;
    padding: 40px;
  }
  .amazongift .introduction_des img{
    max-width: 220px;
    object-fit: contain;
  }
  .amazongift .introduction_des p {
    margin-bottom: 0;
  }
}

/* ---------- テンプレートダウンロード ---------- */
.line_login .title img,
.line_templates .title img {
  height: 34px;
}
@media (min-width: 768px) {
  .line_login .title img,
  .line_templates .title img {
    height: 60px;
  }
}

.line .btn button {
  background-image: url(../images/arrow_pink.svg);
}
.line .btn.bg_white:hover {
  color: var(--line_color_pink1);
}
@media (min-width: 768px) {
  .line .btn.bg_white::before {
    background: var(--line_color_pink2);
  }
}

.line .login_entry .err_box {
  color: var(--line_color_pink3);
  border: solid 1px var(--line_color_pink3);
}

/* ---------- 制作マニュアル ---------- */
.line .line_manual .title img {
  height: 42px;
}
@media (min-width: 768px) {
  .line .line_manual .title img {
    height: 50px;
  }
}

.line .line_manual .btn_txt {
  background-image: url(../images/arrow_pink.svg);
}
.line .line_manual .box .contents_box .type_name::after {
  background: var(--line_color_pink1);
}
.line .line_manual .btn::before {
  background: var(--line_color_pink2);
}
.line .line_manual .btn.bg_black:hover {
  color: var(--line_color_pink3);
}

/* ---------- ボトルイメージ作成 ---------- */
.line .line_bottledesignviewer .title img {
  height: 42px;
}
@media (min-width: 768px) {
  .line .line_bottledesignviewer .title img {
    height: 50px;
  }
}

.line .line_bottledesignviewer .color_link a {
  color: var(--line_color_pink3);
  text-decoration: underline var(--line_color_pink3);
}

/*--------------------------------------
モーダル
--------------------------------------*/ 
/* モーダルのボタンの色を変更したい場合 */
.modaal-gallery-control,
.modaal-gallery-control:hover {
  background: rgba(25, 27, 31, 0.5);
}
.modaal-close::after, 
.modaal-close::before,
.modaal-gallery-control::after,
.modaal-gallery-control::before {
	background: var(--white);	
}
.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before,
.modaal-gallery-control:hover:after,
.modaal-gallery-control:hover:before {
	background: var(--sub_color);
}
@media only screen and (max-width: 1140px) {
  .modaal-gallery-control {
    bottom: -70px;
  }
  .modaal-gallery-prev {
    left: 0;
  }
  .modaal-gallery-next {
    right: 0;
  }
}

/*--------------------------------------
アニメーション
--------------------------------------*/
/* 左からヒュッ */
.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
  animation-delay: 0.4s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden; /* はみ出た色要素を隠す */
	opacity:0;
}
@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }
  to {
    opacity:1;  
  }
}

.bgappear{ /* 中の要素 */
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
    opacity: 0;
	}
	100% {
    opacity: 1;
  }
}

.bgLRextend::before{ /* 左から */
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(5, 226, 183, 01); /* 伸びる背景色の設定 */
  z-index: 1;
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

/* 順番にフェードアップ */
.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-delay: 0.3s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@media (min-width: 768px) {
  .delay_1 {
    animation-delay: 0.4s;
  }
  .delay_2 {
    animation-delay: 0.5s;
  }
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* お問い合わせ・お見積もりのキラキラ */
.contact_box .img_box .icon_star_1 ,
.contact_box .img_box .icon_star_2 ,
.contact_box .img_box .icon_star_3 {
  animation-duration:3s;
  animation-fill-mode:forwards;
  animation-iteration-count:infinite;
  animation-name:kirakira;
}
.contact_box .img_box .icon_star_2 {
  animation-delay: 0.4s;
}
.contact_box .img_box .icon_star_3 {
  animation-delay: 0.8s;
}
@keyframes kirakira{
  0% { opacity: 0; }
  10% { opacity: 1; }
  10.001% { opacity: 0; }
  20% { opacity: 1; }
}

/* ローディング */
#splash {
/* fixedで全面に固定 */
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background:#fff;
  text-align:center;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo img {
  width: 220px;
}
@media (min-width: 768px) {
  #splash_logo img {
    width: 300px;
  }
}
#splash_logo .logo {
  margin: 30px 30px 35px;
}
#splash_logo .txt {
  margin: 0 30px 30px 20px;
}

/* HTML: <div class="loader"></div> */
.loader {
  width: 0;
  aspect-ratio: 1;
  /* position: relative; */
}
.loader:before,
.loader:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  margin: -8px 0 0 -8px;
  width: 16px;
  aspect-ratio: 1;
  background: var(--sub_color);
  animation:
    l2-1 2s  infinite,
    l2-2 1s infinite ;
}
.loader:after {
  background: var(--red);
  animation-delay: -1s,0s;
}
@keyframes l2-1 {
  0%   {top:0   ;left:0}
  25%  {top:100%;left:0}
  50%  {top:100%;left:100%}
  75%  {top:0   ;left:100%}
  100% {top:0   ;left:0}
}
@keyframes l2-2 {
  40%,50% {transform: rotate(0.25turn) scale(0.5)}
  100%    {transform: rotate(0.5turn) scale(1)}
}
.top_news.colum .news_box li .txt_box .txt{
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
-webkit-line-clamp: 2;
margin-bottom: 30px;
}
@media (min-width: 768px) {
  .top_news.colum .news_box li .txt_box .txt{
      -webkit-line-clamp: 3;
  }
}
.top_news.colum .news_box li .txt_box .btn_txt {
  display: block;
  transition: all .5s;
  width: fit-content;
  margin-left: auto;
}
.top_news.colum .news_box li .txt_box .news_title {
  margin-bottom: 0;
}

/* 最速での発送をご希望の方はこちら */
.requests .requests_text {
  width: fit-content;
  margin: 0 auto 40px;
}

.requests .box .list_box {
  background: var(--white)!important;
}
.requests .box .list_box .contents_box ::selection {
  background-color: var(--sub_color);
}

.days .box .list_box .contents_box ::selection {
  background-color: var(--sub_color);
}
/*お届けまでの日数*/
.days .box .list_box {
  background: var(--white)!important;
}
.days .box .list_box .btn_s{
  padding: 10px 50px;
}
/* 制作ガイド */
.guides p,
.introductions p {
  font-size: clamp(12px , 2vw ,14px);
}
.guides .btn {
  margin-top: 20px;
}
.guide_wrap {
  max-width: 600px;
  margin: 0 auto;
}
/* ボトル制作 */
.bottledesignviewer .color_sub a{
  color: var(--sub_color);
  text-decoration: underline var(--sub_color);
  -webkit-text-decoration: underline var(--sub_color);
}
.bottledesignviewer iframe{
  border-radius: 20px;
}
.bottledesignviewer .btn_select {
  display: flex;
  justify-content: center;
  gap: clamp(10px, 2vw, 20px);
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.bottledesignviewer .btn_select .btn {
  margin: 0;
  width: 100%;
}
/* ボトルビューアー テストページ用 */
.cat.bottledesignviewer_test { padding-inline: 0;}
.bottledesignviewer iframe.test{
  max-width: 480px;
}

/*

canva マニュアル
ロゴオリシャン制作マニュアル
背景透過マニュアル（人物切り抜き）

*/

.manual_step img{
  width: auto;
  max-width:100%;
}

.step_area {
  position: relative;
}
.step_area > ul > li {
  display: flex;
  align-items: flex-start;
  justify-content: space-around;
  /* align-items: center; */
  padding: 0 0 50px 0;
  position: relative;
}
.step_area ul > li.step_area_list:after {
  content: "";
  position: absolute;
  top: 0;
  left: 68px;
  right: 0;
  width: 10px;
  height: 100%;
  background: #434B5C;
  z-index: 1;
}
.step_area li.step_area_list:last-of-type::after {
  display: none;
}
.step_area > ul > li .step_icon {
  position: relative;
  padding: 5px;
  width: 120px;
  line-height: 27px;
  color: #000;
  font-size: 17px;
  padding: 30px 0 30px;
  text-align: center;
  background: #05E2B7;
  /*  display: flex;
  flex-wrap:wrap;
  align-items: center;*/
  justify-content: center;
  text-align: center;
  border-radius: 60px;
  z-index: 9;
  font-size: 21px;
  letter-spacing: 0.1em;
}
.step_area > ul > li .step_icon span{margin-top: 7px;display: block;font-size: 48px;}

.step_area > ul > li .step_text_area {
  position: relative;
  width: calc(100% - 180px);
  border: 8px solid #fff;
  padding: 30px;
  border-radius: 16px;
}

.step_area > ul > li .step_text_area .step_title {
  font-size: 25px;
  margin-bottom: 30px;
}

.step_area > ul > li .step_text_area .step_inner {
  display: flex;
  background: #fff;
  padding: 30px;
}
.step_area > ul > li .step_text_area .step_img {
  min-width: 220px;
  max-width: 100%;
}
.step_area > ul > li .step_text_area .step_text {
    width: 100%;
    color: #000;
    padding: 20px 0 0 20px;
    text-align: left;
    /* letter-spacing: -0.0em; */
    -ms-font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    word-break: break-word;
    font-size: 13.5px;
}

.green_color{
  color:#05E2B7 !important;
}

.thumbnail {
  cursor: pointer;
}

.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.modal.active {
  display: flex;
}

.modal video {
    max-width: 90%;
    max-height: 90%;
}
.modal img {
    max-width: 90%;
    max-height: 90%;
}


.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 32px;
  color: var(--sub_color);
  background: #ffffff;
  padding: 0px 20px 5px 20px;
  cursor: pointer;
  z-index: 9999;
}

.app_introduction ul{
  display: flex;justify-content: space-between;width: 100%;max-width: 650px;margin: 50px auto;
}
.app_introduction ul .app_introduction_img{

}
.app_introduction ul .app_introduction_text{
  width: 350px;
}

.app_introduction ul .app_introduction_link a{
  color: #05E2B7;
  border: 1px solid #05E2B7;
  padding: 10px 15px;
  display: block;
  border-radius: 50px;margin: 5px 0;
}



@media screen and (max-width:768px) {

.step_area > ul > li {
    justify-content: space-between;
}

.step_area ul li .step_icon {
    margin: 0 0 20px 0;
    width: 64px;
    font-size: 14px;
    line-height: 20px;
    padding: 10px 0 10px;
}
.step_area > ul > li .step_icon span {
    margin-top: 4px;
    display: block;
    font-size: 28px;
}
.step_area li:after {
    left: 35px;
}
.step_area > ul > li .step_text_area .step_inner {
    flex-wrap: wrap;
    padding: 20px;
    justify-content: center;
}

.step_area > ul > li .step_text_area .step_title {
    font-size: 16px;
    margin-bottom: 10px;
}
.step_area > ul > li .step_text_area .step_text {
    padding: 10px 0 0 0;
    width: 100%;
}

.step_area > ul > li .step_text_area .step_img {
  min-width: auto;
}

.step_area > ul > li .step_text_area {
    position: relative;
    width: calc(100% - 80px);
    border: 5px solid #fff;
    padding: 20px;
    border-radius: 20px;
}

.step_area ul > li.step_area_list:after {
    left: 27px;
}

.app_introduction ul {
    flex-wrap: wrap;
    justify-content: center;
}
.app_introduction ul .app_introduction_img {
    /*max-width: 140px;*/
    margin-bottom: 40px;
}
.app_introduction ul .app_introduction_text {
    width: 100%;
}

}