@charset "UTF-8";

/*-----------------------------------------------------	*/
/*	基本設定					                         */
/*-----------------------------------------------------	*/

html {
  -webkit-overflow-scrolling: touch; /* iosバグ回避　スマホスクロールスムーズにする */
  scroll-behavior: smooth; /* スムーススクロール */
    scrollbar-gutter: stable;
}

body {
  font-family: 'Noto Sans JP',"游ゴシック体", "游ゴシック", "YuGothic", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  margin: 0px;
  font-size: 1.1em;
  font-weight: 500;
  line-height: 1.8em;
  letter-spacing: 0.05em;
}

/* 読み込み時フワッと読み込み 
.js-box {
    display: none;
}*/

ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
	letter-spacing: -.40em; /* inline-block隙間除去 文字間を詰めて隙間を削除する */
}

ol {
    list-style-type: none;
    padding: 0px;
    margin: 0px;    
}

ul li {
	list-style-type: none;
	letter-spacing: normal; /* inline-block隙間除去 文字間を通常に戻す */
}

h1,h2,h3,h4,h5 {
    font-weight: 500;
}

h1,h2,h3,h4,h5,p {
  margin: 0px; /* 初期化 */
}

img {
	width:100%;
	max-width: 100%;
	height: auto;
	vertical-align:bottom; /* img隙間をなくす */
	border: 0px; /* IE10以下で画像周りの青い線を非表示 */
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
}

/* テーブル */
table {
    width: 100%;
}

table th {
    font-weight: 400;
}

table th,table td {
    line-height: 1.4em;
}

/* リンク設定
a:link		{ color:#333333; text-decoration: none; }
a:visited	{ color:#333333; }
a:hover		{ color:#5a5758; }
a:active	{ color:#333333; }

 */

/* フォーカスした際に線が入るのを消す処理 */
*:focus {
  outline: none;
}

/* float 解除 Clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

/* 改行 */
.sp-br {
 display: none;   
}

/* 中央揃え */
.text-align-out {
    text-align: center;
}

@media screen and (max-width: 767px) {
    body {
      font-size: 90%;
    }    
}

/*
.br480 {
    display: none;
}

@media screen and (max-width: 1199px) {
    body {
        font-size: 1.2em;
    }
}

@media screen and (max-width: 900px) {
    body {
        font-size: 1em;
    }    
}

@media screen and (max-width: 480px) {
    .sp-br {
     display: inline;   
    }
    
    .br480 {
        display: inline;
    }
}
*/

/* タブレットスマホメニューボタン */
#side-menu-btn {
    float: right;
}

/*
#side-menu-btn.active {
    position: fixed;
}
*/

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 46px;
  height: 34px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000000;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 16px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

/* 閉じるボタン */
#menu-close-btn {
    position: absolute;
    max-width: 36px;
    top: 30px;
    right: 30px;
    z-index: 10002;
    cursor: pointer;
}

/* メニューボタン　アニメーション */
.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(14px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-14px) rotate(45deg);
}

.menu-trigger.active span {
    background-color: white;
}

/* 大見出し01 
.big-title01-out {
    text-align: center;
    margin-top: 30px;
    padding-top: 30px;
    margin-bottom: 30px;
}

.big-title01-out h2 {
    display: inline-block;
    font-size: 180%;
    line-height: 1.3em;
    color: #5ebcdd;
}*/

#side-menu-out {
    text-align: center;
}

#side-menu-out  nav ul.main {
    display: inline-block;
}

#side-menu-out  nav ul.main li {
    text-align: left;
}

#side-menu-out  nav ul.main li .symbol {
    color: white;
    margin-right: 3px;
}

#side-menu-out nav.show ul.main li p {
    text-indent: -1.5em;
    padding-left: 1.5em;
}

#side-menu-out .drop-icon02 {
    max-width: 16px;
    margin-bottom: 6px;
    margin-right: 3px;
}

@media screen and (max-width: 767px) {
    #side-menu-out .drop-icon02 {
        max-width: 13px;
        margin-bottom: 4px;
    }    
}

/* サイドナビ */
#side-navi-out {
    display: none;
    position: fixed;
    top: 40%;
    left: 30px;
}    
    
.navi_list {
position: relative;
}
.navi_list li {
    position: relative;
    z-index: 99;
    margin-bottom: 18px;
}
    
.navi_list a {
    display: block;
    color: white;
    text-decoration: none;
    width: 11px;
    height: 11px;
    background: #e6f9ff;
    border-radius: 60px;
    border: 1px solid #8de2ff;
}

#back-line {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 5px;
    height: 100%;
    border-left: 1px solid #8de2ff;;
    z-index: 1;
}
    
.navi_item.now {
    transform: scale(1.25);
}
    
.navi_item.now a {
    background: #8de2ff;
}

/* 中見出し */
.middle-title01 {
    font-size: 102%;
    margin-top: 30px;
    margin-bottom: 10px;
	padding-left:1em;
	text-indent:-1em;
}

/* ラインタイトル */
.line-title01 {
    font-size: 270%;
    font-weight: 700;
    color: #009fbf;
    letter-spacing: 0.2em;
    text-decoration: underline;
    text-decoration-color: #ffee3f;
    text-decoration-thickness: 30px;
    text-underline-offset: -16px;
}

/* 画像 レスポンシブ基本切り替え用 */
.sp-img {
    display: none;
}

@media screen and (max-width: 850px) {
    .pc-img {
        display: none;
    }
    
    .sp-img {
        display: inline;
    }
}

/* 改行 */
.br850 {
    display: none;
}

.br767 {
    display: none;
}

.br600 {
    display: none;
}

.br650 {
    display: none;
}

.br500 {
    display: none;
}

.br400 {
    display: none;
}

/* 文字詰め */
.letter-spacing003 {
    display: inline-block;
    letter-spacing: -0.03em;
}

.letter-spacing01 {
    display: inline-block;
    letter-spacing: -0.1em;
}

.letter-spacing02 {
    display: inline-block;
    letter-spacing: -0.2em;
}

.letter-spacing03 {
    display: inline-block;
    letter-spacing: -0.3em;
}

.letter-spacing04 {
    display: inline-block;
    letter-spacing: -0.4em;
}

.position-spacing03 {
    display: inline-block;
    position: relative;
    left: -3px;
}

/* 文字間 
.gap03 {
    letter-spacing: -0.1em;
}*/

.br420 {
    display: none;
} 

.br450 {
    display: none;
}

.br480 {
    display: none;
}

.br550 {
    display: none;
}  

@media screen and (max-width: 1100px) {
    .br-n1100 {
        display: none;
    }
}

@media screen and (max-width: 850px) {
    .br850 {
        display: inline;
    }
}

@media screen and (max-width: 767px) {
    .br767 {
        display: inline;
    }
}

@media screen and (max-width: 650px) {
    .br650 {
        display: inline;
    }    
}

@media screen and (max-width: 600px) {
    .br600 {
        display: inline;
    }
}

@media screen and (max-width: 550px) {
    .br550 {
        display: inline;
    }
}

@media screen and (max-width: 500px) {
    .br500 {
        display: inline;
    } 
    
    .br-n500 {
        display: none;
    }
}

@media screen and (max-width: 450px) {
    .br450 {
        display: inline;
    }
}

@media screen and (max-width: 480px) {
    .br480 {
        display: inline;
    }    
}

@media screen and (max-width: 420px) {
    .br420 {
        display: inline;
    }    
}

@media screen and (max-width: 400px) {
    .br400 {
        display: inline;
    }    
}

/* 字間 小さめ */
.letter-space-s {
   letter-spacing: 0.04em !important; 
}

/* 注意書きリスト */
.cation-list01 li {
  text-indent: -1em;
  padding-left: 1em;
}

.cation-list02 {
    font-size: 115%;
}

.cation-list02 li {
  text-indent: -2em;
  padding-left: 2em;
  line-height: 1.4em;
  margin-bottom: 10px;
}

/*　文字サイズ */
.font-s {
    font-size: 70%;
}

/* マージン設定 */
.mt0 {
    margin-top: 0px !important; 
}

.mb0 {
    margin-bottom: 0px !important; 
}

.mt10 {
   margin-top: 10px !important;  
}

.mt20 {
   margin-top: 20px !important;  
}

.mt30 {
   margin-top: 30px !important;  
}

.mt40 {
   margin-top: 40px !important;  
}

.mt50 {
   margin-top: 50px !important;  
}

/* ブロックレベル要素 */
.dispaly-block {
    display: block;
}

/* youtubeレスポンシブ */
.youtube-out {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube-out iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
    .br767 {
        display: inline;
    }
    
    .big-title01-out h2 {
        font-size: 130%;
    }
}


/*-----------------------------------------------------	*/
/*	共通					                               */
/*-----------------------------------------------------	*/

.inner-width {
    max-width: 1100px;
    margin: 0px auto;
}

.inline-block {
    display: inline-block;
}

/* 基本リスト01 */
.list01 li:not(.list02 li) {
    padding-left: 1.8em;
    text-indent: -1.8em;
    margin-bottom: 35px;
}

.list01 .list-symbol {
    color: #009ebf;
    font-size: 120%;
    margin-right: 0.5em;
    vertical-align: -3px;
}

/* 基本リスト02 */
.list02 li {
    padding-left: 2.5em;
    text-indent: -2.5em;
    margin-bottom: 10px;
}

/* 中央揃え */
.align-center {
    text-align: center;   
}

/* 下線 */
.underline01 {
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-color: #00a1c2;
    text-decoration-thickness: 2px;
}

/* ヘッダーメニューリンク */
#header-link-menu {
    position: absolute;
    top: 30px;
    right: 80px;
}

#header-link-menu li {
    float: right;
    margin-right: 40px;
}

#header-link-menu li a {
    color: #173163;
    text-decoration: none;
    font-size: 100%;
}

/*** ヘッダーメニュー ***/
#header-inner {
    max-width: 1320px;
    margin: 0px auto;
    padding-top: 13px;
    padding-bottom: 13px;
}

#header-head {
    background: #d7d8d8;
    color: #848484;
}

#header-section {
    width: 100%;
    vertical-align: middle;
}

@media screen and (min-width: 1200px) {
    #header-section {
        display: table;
    }    
}

#header-head h1 {
    font-size: 65%;
    font-weight: 400;
    line-height: 1.3em;
    padding-top: 2px;
    padding-bottom: 4px;
    font-weight: normal;
    text-align: right;
    max-width: 1320px;
    margin: 0px auto;
}

#header-logo {
    width: 20%;
    display: table-cell;
}

/*
#header-logo img {
    max-width: 155px;
}
*/

@media screen and (min-width: 1200px) {
    #side-menu-btn {
        display: none;   
    }
}

@media screen and (max-width: 1199px) {
    #header-logo {
        display: block;
        float: left;
    } 
    
    #side-menu-btn {
        float: right;
        margin-top: 4px;
    }
}

#pc-menu-out {
    position: relative;
    top: 5px;
    text-align: right;
    width: 80%;
    display: table-cell;
    font-size: 80%;
    /* padding-top: 20px; */
}

#pc-menu-out a {
    text-decoration: none;
    color: #000000;
    color: #000000;
    font-weight: 400;
}

@media screen and (max-width: 1360px) {
    #header-head,#header-inner {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (max-width: 767px) {
    #header-head {
        padding-left: 5px;
        padding-right: 30px;
    }
    
    #header-logo {
        width: 35%;
    }
}

@media screen and (max-width: 500px) {
    #header-head {
        padding-left: 5px;
        padding-right: 5px;
    }    
    
    #header-head h1 {
        line-height: 1.3em;
    }
    
    #header-head h1 {
        padding-top: 2px;
        padding-bottom: 3px;
    }
}

@media screen and (max-width:450px) {
    #header-logo {
        width: 40%;
    }
    
    #side-menu-btn {
        margin-top: 4px;
    }
}

@media screen and (max-width: 350px) {
    #header-head .br500 {
        display: none;
    }
}

/*** フッター ***/

/* 上に戻るボタン */
.top-back-btn.sp-img {
    max-width: 60px;
}

#footer-out {
    padding-bottom: 2px;
}

#footer-inner {
    max-width: 1200px;
    margin: 0px auto 30px;
}

#footer-link-out {
    padding: 72px 10px 72px;
}

#footer-link-out {
    text-align: center;
}

#footer-link-out > *:first-child {
    margin-right: 0px;
}

#footer-link-out li {
    display: inline-block;
    margin: 0px 40px;
    vertical-align: middle;
}

#footer-link-out li a {
    font-size: 0.9rem;
    color: #000000;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
}

#footer-link-out .sp-link {
    display: none;
}

#footer-buy-link-out {
    text-align: center;
    margin-top: 100px;
}

#footer-buy-link {
    display: inline-block;
}

#footer-buy-link a {
    display: flex;
    align-items: center;
    color: black;
    font-size: 0.9rem;
    text-decoration: none;
}

#buy-link-text {
    margin-right: 40px;
}

#footer-buy-link img {
    max-width: 193px;
}

@media screen and (max-width: 767px) {
    #footer-buy-link-out {
        margin-top: 30px;
    }
    
    #footer-buy-link a {
        display: inline-block;
    }
    
    #buy-link-text {
        display: block;
        margin-right: 0px;
    }
    
    #buy-link-img {
        display: block;
        margin-top: 15px;
    }
    
    #footer-buy-link img {
        max-width: 167px;
    }
    
    #footer-link-out .pc-link {
        display: none;
    }
    
    #footer-link-out .sp-link {
        display: inline;
    }
}

#footer-bottom-link-out {
    border-top: 1px solid #a7a7a7;
}

#arax-footer-logo {
    margin-top: 35px;
    margin-left: 55px;
}

#arax-footer-logo a {
    display: block;
    background: url(../images/common/arax-logo.png) no-repeat;
    background-size: contain;
    width: 243px;
    height: 44px;
    text-indent: -9999px;
}

#arax-footer-logo img {
    max-width: 244px;
}

#insta-icon {
    max-width: 44px;
}

#x-icon {
    max-width: 42px;
}

#arax-footer-logo {
    float: left;
}

#copyright {
    float: right;
    margin-top: 45px;
    margin-right: 65px;
    font-size: 70%;
}

/* ボタン */
.basic-btn01 {
    text-align: center;
}

.basic-btn01 a {
    color: white;
    font-size: 110%;
    padding: 13px 30px;
    line-height: 1.1em;
    border-radius: 60px;
    text-decoration: none;
    background: #5ebcdd;
    display: inline-block;
}

.basic-btn01 a:hover {
    opacity: 0.9;
}

/* 注意書き */
.cation-position {
    position: relative;
}

/*** アニメーション ***/
/* フェードイン */
@keyframes fadeIn {
   0% {
     opacity: 0;
     transform-origin: center;
     transform: translateY(30px) scale(1.1);
   }
   100% {
     transition: opacity 1.4s linear 0s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
     opacity: 1;
   }
}

@keyframes fadeIn02 {
   0% {
     opacity: 0;
     transform-origin: center;
   }
   100% {
     transition: opacity 1.4s linear 0s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
     opacity: 1;
   }
}

/* フェードアップ */
@keyframes fadeUp01 {
   0% {
     opacity: 0;
     transform: translate(0px, 18px);
   }
   100% {
     opacity: 1;
     transform: translate(0);
   }
}

/* フェードレフト */
@keyframes fadeLeft {
   0% {
     opacity: 0;
     transform: translateX(-100px);
   }
   100% {
     opacity: 1;
     transform: translateX(0);
   }
}

@media screen and (max-width: 1240px) {
    #footer-inner {
        max-width: 1240px;
        margin-right: 20px;
        margin-left: 20px;
    }            
}

@media screen and (max-width: 1199px) {
    #header-link-menu {
        display: none;
    }
    /*
    #side-menu-btn {
        position: fixed;
    }
    */
}

@media screen and (max-width: 1160px) {
    .inner-width {
        margin-left: 10vw;
        margin-right: 10vw;
    }    
}

@media screen and (max-width: 767px) {
    #footer-out {
        margin-top: 0px;
    }
    
    #footer-inner {
        margin-left: 20px;
        margin-right: 20px;
    }
    
    #footer-link-out {
        padding: 50px 0px 45px;
    }    
    
    .inner-width {
        margin-left: 7vw;
        margin-right: 7vw;
    }
    
    #footer-inner {
        margin-bottom: 10px;
    }
    
    #footer-bottom-link-out {
        text-align: center;
    }
    
    #footer-link-out {
        margin-top: 30px;
    }
    
    #footer-link-out li {
        margin-left: 30px;
        margin-right: 30px;
    }
    
    #footer-link-out > *:first-child {
        display: inline;
        margin-left: 0px;
        margin-right: 10px;
    }
    
    #footer-link-out > *:first-child+* {
        display: inline;
        margin-left: 10px;
        margin-right: 0px;
    }
    
    #footer-link-out > *:first-child+*+*,
    #footer-link-out > *:first-child+*+*+*
    {
        display: block;
    }
    
    #footer-link-out > *:first-child+*+* {
        margin-top: 25px;
    }
    
    #footer-link-out > *:first-child+*+*+* {
        margin-top: 12px;
    }
    
    #footer-link-out li a {
        font-size: 0.8rem;
    }
    
    #copyright {
        font-size: 80%;
    }
    
    #arax-footer-logo {
        float: none;
        text-align: center;
        margin-top: 25px;
        margin-left: 0px;
    }
    
    #arax-footer-logo a {
        display: inline-block;
    }
    
    #arax-footer-logo a {
        width: 200px;
        height: 20px;
    }

    #copyright {
        float: none;
        margin-top: 10px;
        margin-right: 0px;
    }
}

@media screen and (max-width: 700px) {
    #footer-link-out {
        padding: 30px 0px 40px;
    }        
    
    #footer-link-out li {
        display: block;
        margin: 10px 0px 0px;
    }
    
}


@media screen and (max-width: 500px) {
    #footer-link-out {
        padding: 15px 0px 40px;
    }
    
    #x-icon {
        max-width: 39px;
    }
    
    #header-inner {
        padding-top: 10px;
        padding-bottom: 12px;
    }
    
    #side-menu-btn {
        margin-top: 9px;
    }
    
    .menu-trigger {
        width: 36px;
        height: 28px;
    }
    
    .menu-trigger span:nth-of-type(2) {
        top: 13px;
    }
    
    #copyright {
        margin-top: 10px;
    }
}

@media screen and (max-width: 480px) {
    #footer-link li {
        margin: 0px;
    }
}

@media screen and (max-width: 420px) {
    #arax-footer-logo a {
        width: 144px;
        height: 14px;
    }
    
    #arax-footer-logo {
        margin-top: 20px;
    }
    
    #copyright {
        margin-top: 0px;
    }
}

/*-----------------------------------------------------	*/
/*	トップ			                            　　　　   */
/*-----------------------------------------------------	*/

/* アニメーション用 */
.wrapper {
    display: none;
}

.scroll {
    opacity: 0;
}

/* 読み込み時ロゴアニメーション */
.start {
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    margin: auto;
    inset: 0;
    background-size: cover;
    z-index: 9999;
    opacity: 0;
    animation:startFade 0.2s forwards;
}

@keyframes startFade {
    to{
        opacity:1;
    }
}

.start-bg img{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
}

#start-inner {
    height: 100dvh;
    display:flex;
    align-items:center;
    justify-content:center;    
}

#lottie {
  width: 500px;
  height: 500px;
max-width: 80vw;   /* スマホ対策 */
    max-height: 80vh;
}

#load-logo-out {
    display: table;
    width: 100%;
    height: 100%;
    text-align: center;
}

#load-logo-out span {
    display: table-cell;
    vertical-align: middle;
}

.start #load-logo-out img {
    /* max-width: 370px; */
    max-width: 300px;
    padding-right: 7vw;
}
/*
@media screen and (max-width:1400px) {
    .start #load-logo-out img {
        padding-right: 8.6vw;
    }    
}


@media screen and (max-width:1100px) {
    .start #load-logo-out img {
        padding-right: 12vw;
    }    
}

@media screen and (max-width:900px) {
    .start #load-logo-out img {
        padding-right: 12vw;
    }    
}
*/

@media screen and (max-width: 767px) {
    .start {
        background: url(../images/common/logo-back-sp.jpg) no-repeat;
        background-size: cover;
    }
}

/*
@media screen and (max-width: 767px) {
    .start {
        background: url(../images/common/logo-back-sp.jpg) no-repeat;
    }
    
    .start #load-logo-out img {
        max-width: 320px;
        padding-right: 11vw;
    } 
}

@media screen and (max-width: 500px) {
    .start #load-logo-out img {
        max-width: 240px;
        padding-right: 13vw;
    }    
}

@media screen and (max-width: 400px) {
     .start #load-logo-out img {
        padding-right: 14.4vw;
    }    
} 
*/

/*** メインイメージ ***/
#main-img-back {
    display: block;
    width: 100%;
    background: url(../images/top/01-nocopy.jpg) no-repeat center center;
    background-size: cover;      
}

#main-img {
    position: relative;
    width: 100%;
    height: 92vh;
    background: url(../images/top/01.jpg) no-repeat center center;
    background-size: cover;
    /* ページ読み込み時　フェードイン 
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;*/
}

#main-img-title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;    
}

@media screen and (min-width: 1921px) {
    #main-img {
        height: 1050px;
    }
}

/*
#sp-main-img {
    display: none;
    background: url(../images/top/01sp-nocopy.jpg) no-repeat center center;
    background-size: cover;
    height: 100%;
}
*/

@media screen and (max-width: 1199px) {
    #main-img {
        background: url(../images/top/01.jpg) no-repeat center center;
        background-size: cover;
        height: 500px;
    }    
}

@media screen and (max-width: 820px) {
    #main-img {
        height: 420px;
    }      
}

@media screen and (max-width: 767px) {
    #main-img-back {
        height: auto;
        background: url(../images/top/01sp-nocopy.jpg) no-repeat center center;
        background-size: cover;
    }    
    
    #main-img {
        background: url(../images/top/01sp.jpg) no-repeat center center;
        background-size: cover;
        padding-bottom: 156.5%;
    }
}

/*** アバウト ***/
#about {
    position: relative;
    padding-top: 80px;
    padding-bottom: 190px;
    background: url(../images/top/back02.jpg) no-repeat center bottom;
    background-size: cover;
}

@media screen and (min-width: 1160px) {
    #about .inner-width {
        max-width: 1120px;   
    }
}

#about-title {
    font-size: 240%;
    letter-spacing: 0.2em;
    line-height: 1.4em;
}

#about-title.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0s;
    animation-fill-mode:forwards;    
}

/*

*/

#about-text {
    font-size: 115%;
    line-height: 2.5em;
    margin-top: 40px;
    letter-spacing: 0.2em;
}

#about-text sup {
    font-size: 0.9rem;
}

@media screen and (max-width: 767px) {
    #about-text sup {
        font-size: 0.6rem;
    }   
}

#about01 {
    margin-top: 80px;
}

#about01,#about02,#about03,#about04,#about05 {
    display: block;
}

#about01,#about02,#about03,#about04 {
    margin-bottom: 2em;
}

#about01.active {
    animation-name: fadeUp01;
    animation-duration: 1s;
    animation-direction: normal;
    animation-delay: 0.25s;
    animation-fill-mode: forwards;
}

#about02.active {
    animation-name: fadeUp01;
    animation-duration: 1s;
    animation-direction: normal;
    animation-delay: 0.25s;
    animation-fill-mode: forwards;
}

#about03.active {
    animation-name: fadeUp01;
    animation-duration: 1s;
    animation-direction: normal;
    animation-delay: 0.25s;
    animation-fill-mode: forwards;
}

#about04.active {
    animation-name: fadeUp01;
    animation-duration: 1s;
    animation-direction: normal;
    animation-delay: 0.5s;
    animation-fill-mode: forwards;
}

#about05.active {
    animation-name: fadeUp01;
    animation-duration: 1s;
    animation-direction: normal;
    animation-delay: 0.5s;
    animation-fill-mode: forwards;
}


#about-cation {
    text-align: right;
    margin-top: 30px;
    font-size: 90%;
}

@media screen and (min-width: 768px) {
     #about04 .last-spacing {
        letter-spacing: 0em;
    }    
}

@media screen and (max-width: 767px) {
    #about04 .last-spacing {
        display: inline;
    } 
    
    #about-cation {
        font-size: 70%;
    }
}

/* スクロール矢印 */
#scroll-arrow-out {
    position: absolute;
    top: -66px;
    left: 5vw;
    z-index: 99;
}

#scroll-arrow-out img {
    max-width: 11px;
}
    
#scroll-arrow-out {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
    
#scroll-sp {
    display: none;
}

@keyframes floating-y {
  0% {
    transform: translateY(-8%);
  }
  100% {
    transform: translateY(8%);
  }
}

@media screen and (max-width: 1199px) {
    #about {
        background: url(../images/top/back02.jpg) no-repeat center bottom;
        background-size: cover;
        padding-top: 50px;
        padding-bottom: 90px;
    }
    
    #about-title {
        font-size: 195%;
    }
}

@media screen and (max-width: 800px) {
    #about-text {
        font-size: 110%;
    }    
}

@media screen and (max-width: 767px) {
    #about {
        background: url(../images/top/back02sp.jpg) no-repeat center top;
        background-size: cover;
        padding-top: 40px;
        padding-bottom: 80px;
    }
    
    #about-title {
        font-size: 150%;
    }
    
    #about01 {
        margin-top: 40px;
    }
    
    #scroll-arrow-out {
        top: -60px;
    }    
    
    #scroll-arrow-out img {
        max-width: 22px;
    }    
    
    #scroll-pc {
        display: none;
    }
    
    #scroll-sp {
        display: inline;
    }
}

@media screen and (max-width: 500px) {
    #about {
        padding-top: 20px;
        padding-bottom: 55px;
    }
    
    #about-title {
        letter-spacing: 0.1em;
    }
    
    #about-text {
        line-height: 2em;
        margin-top: 35px;
        letter-spacing: 0.1em;
    }
    
    #about01 {
        margin-top: 0px;
    }
}

@media screen and (max-width: 480px) {
    #scroll-arrow-out {
        top: -30px;
        left: 3vw;
    }    
    
    #scroll-arrow-out img {
        max-width: 11px;
    }        
}

@media screen and (max-width: 419px) {
    #about-text {
        font-size: 100%;
    }
}
/*
@media screen and (max-width: 340px) {
    #about {
        padding-bottom: 102vw;
    }    
}
*/

@media screen and (max-width: 345px) {
    #about-text {
        font-size: 95%;
    }    
}


/*** 製品特長 ***/
.sub-title {
    display: inline-block;
    padding: 6px 23px 9px;
    color: white;
    font-size: 170%;
    font-weight: 400;
    text-align: center;
    background: #01a1c3;
    border-radius: 60px;
    line-height: 1.1em;
    letter-spacing: 0.18em;
}

#features {
    padding-top: 160px;
    padding-bottom: 150px;
    background: url(../images/top/back01.jpg) no-repeat center center;
    background-size: cover;
}

@media screen and (min-width: 1921px) {
    #features {
        background: url(../images/top/back01.jpg) no-repeat center center;
        background-size: cover;
    }
}

#features-title {
    display: flex;
    flex-wrap: wrap;
}

#features-title-out01.active,
#features-title-out02.active
{
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
}

#features-title-out01 {
    order: 1;
    width: 1008px;
    margin-right: 50px;
}

#features-circle-title {
    order: 2;
    width: 257px;
}

#features-title-out02 {
    margin-top: 110px;
    order: 3;
    width: 100%;
}

.cation-text {
    font-size: 80%;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.5em;
    margin-top: 10px;
}

.cation-text02 {
    display: block;
    font-size: 70%;
    text-indent: -2em;
    padding-left: 2em;
}

#header-logo h2 {
    background: url(../images/common/logo.png) no-repeat;
    background-size: contain;
    height: 44px;
    text-indent: -9999px;
}

#features-title01 {
    margin-top: 100px;
    text-indent: -9999px; /* または visually-hidden */
    height: 259px;
    background: url(../images/top/features-title01.png) top left no-repeat;
    background-size: contain;
}

#features-point-out {
    text-align: center;
    margin-top: 50px;
}

#features-point-out img {
    max-width: 270px;
    margin: 0px 15px;
}

.features-point-sp {
    display: none;
}

.features-point01.active {
    animation-name: fadeIn;
    animation-duration:2s;
    animation-delay: 0.3s;
    animation-fill-mode:forwards;
    opacity:0;  
}

.features-point02.active {
    animation-name: fadeIn;
    animation-duration:2s;
    animation-delay: 0.6s;
    animation-fill-mode:forwards;
    opacity:0;  
}

.features-point03.active {
    animation-name: fadeIn;
    animation-duration:2s;
    animation-delay: 0.9s;
    animation-fill-mode:forwards;
    opacity:0;  
}

#features-circle-title div {
    position: relative;
    top: 75px;
    display: flex;
    text-indent: -9999px; /* または visually-hidden */
    height: 258px;
    background: url(../images/top/features-circle-title.png) center bottom no-repeat;
    background-size: contain;    
}

#features-circle-title.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#features-title02 {
    margin-top: 10px;
    text-indent: -9999px; /* または visually-hidden */
    height: 157px;
    background: url(../images/top/features-title02.png) top left no-repeat;
    background-size: contain;
}

.features-list {
    margin-top: 70px;
}

.features-list.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#features-point-list {
    margin-top: 100px;
}

#features-point-list.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#features-point-list li {
    position: relative;
    color: #009ebf;
    display: table;
    font-size: 170%;
    line-height: 1.5em;
    margin-bottom: 30px;
    letter-spacing: 0.15em;
    /*
    text-decoration: underline;
    text-decoration-color: #ffea00;
    text-decoration-thickness: 8px;
    text-underline-offset: -4px;
    */
}

#features-point-list li span.text-line {
    background-image: linear-gradient(#ffea00, #ffea00);
    background-repeat: no-repeat;
    background-size: 100% 8px; /* 太さ */
    background-position: 0 90%; /* ← ここで上下調整 */
}

#features-point-list li sup {
    position: absolute;
    font-size: 0.65em;
    letter-spacing: 0em;
    top: -3px;
}

#features-point-list li #features-sup02 {
    position: absolute;
    top: -6px;
}

@media screen and (max-width: 1199px) {
    #features-point-out {
        margin-top: 0px;
        margin-bottom: 50px;
    }
    
    #features-point-out img {
        width:30%;
        margin: 0px 1%;
    } 
}

#features-point-list .drop-icon01 {
    max-width: 24px;
    margin-right: 5px;
}

.features-symbol {
    text-align: left;
    display: table-cell;
    padding-right: 5px;
    font-size: 130%;
    letter-spacing: 0.1em;
}

.features-list-title-out {
    display: table-cell;
    text-align: left;
}

.features-list-title {
    position: relative;
    z-index: 3;
    display: inline-block;
    font-size: 130%;
    letter-spacing: 0.15em;
    text-decoration: underline;
    text-decoration-color: #ffea00;
    text-decoration-thickness: 8px;
    text-underline-offset: -4px;
}

#features-title-img-sp {
    display: none;
    padding-left: 5vw;
    padding-right: 5vw;
}

.features-symbol {
    margin-right: 8px;
}

#features .cation-list02.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;        
}

/*
.features-list-line {
    position: relative;
    top: -12px;
    left: -2px;
    z-index: 1;
    display: block;
    content: "";
    height: 8px;
    background: #feed01;
}
*/

#features .cation-list02 {
    margin-top: 60px;
}

#features .cation-list02 li {
    text-indent: 0em;
    padding-left: 0em;
}

@media screen and (max-width: 1199px) {
    #features-title {
        display: block;
        position: relative;
    }
    
    #features-title-out01 {
        width: 100%;
        margin-right: 0px;
    }
    
    #features-title-out02 {
        margin-top: 50px;
    }

    #features-circle-title {
        position: absolute;
        top: 75px;
        left: 49vw;
        width: 42%;
    }
    
    #features-circle-title div {
        position: static;
    }
}

@media screen and (max-width: 1000px) {
    #features-circle-title {
        top: 6vw;
    }
    
    #features-circle-title div {
        height: 230px;
    }    
}

@media screen and (max-width: 900px) {
    #features-title-out02 {
        margin-top: 0px;
    }
    
    #features-point-list {
        margin-top: 0px;
    }
}

@media screen and (max-width: 767px) {
    #features {
        padding-top: 50px;
        padding-bottom: 40px;
        background: url(../images/top/back01sp.jpg) no-repeat bottom center;
        background-size: 100% auto;
    }    
    
    #features-title {
        display: flex;
    }
    
    #features-title-out01 {
        width: 100%;
        margin-bottom: 20px;
    }
    
    #features-circle-title {
        position: static;
        width: auto;
    }

    #features-title01 {
        margin-top: 30px;
        width: 100%;
        height: 60vw;
        background: url(../images/top/features-title-sp.png) center center no-repeat;
        background-size: contain;
    }
    
    #features-circle-title {
        width: 40%;
        order: 3;
    }
    
    #features-circle-title div {
        background: url(../images/top/features-circle-title-sp.png) center bottom no-repeat;
        background-size: contain; 
        height: 80vw;
    }
    
    #features-title-out02 {
        width: 100%;
        margin: 0px auto;
    }
    
    .features-point-pc {
        display: none;
    }
    
    .features-point-sp {
        display: inline;
    }
    
    #features-point-sp01 {
        display: block;
    }
    
    #features-point-out {
        margin-top: 40px;
    }
    
    #features-point-out img {
        width: 47%;
        max-width: 48vw;
    }
    
    #features-point-list li sup {
        top: -1px;
        font-size: 0.7rem;
    }
    
    #features-point-list > *:first-child+*+* sup {
        top: -8px;
    }
    
    #features-title02 {
        order: 2;
        height: 28vw;
        background: url(../images/top/features-title02-sp.png) top center no-repeat;
        background-size: contain;
    }
    
    .sub-title {
        font-size: 150%;
        padding: 3px 30px 6px;
        letter-spacing: 0.15em;
    }
    
    #features .sub-title {
        padding: 3px 36px 6px;
    } 
    
    #features-point-list {
        margin-top: 60px;
    }
    
    #features-point-list li {
        margin-bottom: 30px;
    }
    
    #features-point-list .drop-icon01 {
        max-width: 21px;
    }
    
    #features-title-out01,
    #features-title-out02
    {
        text-align: center;
    }
    
    .features-list dd {
        margin-top: 10px;
    }
    
    #features-title-img-pc {
        display: none;
    }

    #features-title-img-sp {
        display: inline;
    }
    
    #features .cation-text {
        display: inline;
    }
    
    #features-point-list li #features-sup02 {
        position: absolute;
        top: -4px;
    }
    
    /*
    .features-list-line {
        top: -7px;
        height: 6px;
    }
    */
}

@media screen and (max-width: 600px) {
    #features .cation-text {
        display: block;
    }
    
    #features-point-list {
        margin-top: 30px;
    }
    
    #features-point-list li {
        font-size: 120%;
        line-height: 2em;
        margin-bottom: 5px;
    }
    
    #features-point-list li #features-sup02 {
        position: absolute;
        top: -5px;
    }    
    
    #features-point-list li span.text-line {
        background-size: 100% 5px; /* 太さ */
        background-position: 0 90%; /* ← ここで上下調整 */
    }
    
    #features-point-list > *:first-child+*+*+*+*,
    #features-point-list > *:first-child+*+*+*+*+*
    {
        float: left;
    }
    
    #features-point-list > *:first-child+*+*+*+* {
        margin-right: 50px;
    }
    
    .features-symbol {
        width: 18px;
    }

    #features-point-list .drop-icon01 {
        margin-right: 18px;
        max-width: 14px;
        margin-bottom: 4px;
    }
    
    #features-point-list:after {
        content: "";
        display: block;
        clear: both;
    }
    
    #features .cation-list02 {
        font-size: 85%;
        margin-top: 15px;
    }
    
    #features .cation-list02 li {
        margin-bottom: 2px;
    }
}

@media screen and (max-width: 500px) {
    #features {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    
    #features-title01 {
        margin-top: 40px;
    }
    
    .features-list {
        margin-top: 50px;
    }
    
    .features-list dd {
        margin-bottom: 25px;
    }
}

@media screen and (max-width: 500px) {
    #features-point-list li {
        font-size: 115%;
        letter-spacing: 0em;
    }
}

@media screen and (max-width: 480px) {
    #features {
        padding-top: 30px;
        padding-bottom: 20px;
    }
    
    #features-title01 {
        margin-top: 30px;
    }
    
    #features-point-out {
        margin-bottom: 30px;
    }
    
    #features-point-list li sup {
        top: 0px;
        font-size: 0.6rem;
    }
    
}

@media screen and (max-width: 340px) {
    #features-point-list {
        font-size: 90%;
    }
}

/*** メカニズム ***/
#mechanism-con-out.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;   
}

#mechanism-text {
    margin-top: 50px;
}

#recommend {
    padding-top: 70px;
}

#point-illust {
    margin-top: 40px;
}

#point-illust img {
    max-width: 624px;
}

#point-illust.active {
    animation-name: fadeUp01;
    animation-duration:1s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards; 
}

#mechanism-point-illust-sp {
    display: none;
}

/*
#mechanism-text.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 1s;
    animation-fill-mode:forwards;
    opacity:0;
}
*/

.mechanism-section01 {
    background: url(../images/top/back03.jpg) no-repeat center center;
    background-size: cover;
}

#mechanism {
    padding-top: 90px;
}

.mechanism-section02 {
    position: relative;
    background: #fff7af;
    padding-top: 100px;
    padding-bottom: 100px;
}

#mechanism-img-out {
    margin-top: 40px;
    margin-left: 2em;
}

/*
#mechanism-img-out.active {
    animation-name: fadeIn;
    animation-duration:0.5s;
    animation-delay: 1s;
    animation-fill-mode:forwards;
    opacity:0;    
}
*/

#mechanism-img-out img {
    max-width: 300px;
}

.space01 {
    display: block;
    padding-bottom: 210px;
}

#mechanism-point-out {
    /* display: flex; */
    background: white;
    padding: 70px 20px 30px 6vw;
    border-radius: 10px;
}

#mechanism-point-out .line-title01.active {
    animation-name: fadeUp01;
    animation-duration:1s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;        
}

.mechanism-point-section {
    margin-bottom: 40px;
}

.mechanism-point-text-out {
    margin-top: 60px;
}

.mechanism-point-text-out p.active {
    animation-name: fadeUp01;
    animation-duration:1s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;    
}

.mechanism-point-text-out sup {
    position: absolute;
    top: -39px;
    right: -13px;
    font-size: 70%;
}

.mechanism-point-text-out p {
    font-size: 1.9em;
    line-height: 2.15em;
}

.mechanism-point-text {
    margin-right: 30px;
}

/* リスト */
.mechanism-point-list li {
    font-size: 1.9em;
    line-height: 1.3em;
    letter-spacing: 0.2em;
    margin-bottom: 20px;
    text-indent: -1em;
    padding-left: 1em;
}

.mechanism-point-list.active {
    animation-name: fadeUp01;
    animation-duration:1s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;     
}

.mechanism-point-list .mechanism-point-list-dot {
    font-size: 60%;
    vertical-align: 4px;
    margin-right: 5px;
}

@media screen and (max-width: 900px) {
    #mechanism-point-out {
        padding: 60px 35px 60px 35px;
    }
}

@media screen and (max-width: 767px) {
    #mechanism {
        padding-top: 40px;
    }
    
    #mechanism h3 {
        text-align: center;
    }
    
    #mechanism .list01 li:not(.list02 li) {
        font-size: 120%;
        line-height: 2em;
    }
    
    #mechanism-img-out {
        margin-top: 50px;
    }
    
    .mechanism-point-text-out .br-n1100 {
        display: inline;
    }

    .space01 {
        padding-bottom: 130px;
    }    
    
    #mechanism-point-out {
        font-size: 65%;
        padding: 40px 20px 20px 20px;
    } 
    
    #mechanism-point01 .br850 {
        display: none;
    }
    
    #mechanism-point-out .line-title01 {
        font-size: 240%;
        text-decoration-thickness: 10px;
        text-underline-offset: -4px;
    }
    #recommend {
        padding-top: 10px;
    }
    
    #point-illust {
        margin-top: 20px;
    }
    
    #point-illust-sp {
        display: inline-block;
    }
    
    .mechanism-point-text-out {
        margin-top: 10px;
    }
    
    .mechanism-point-text-out sup {
        top: -28px;
    }
    
    .mechanism-point-list {
        margin-top: 20px;
    }
    
    .mechanism-point-list li {
        margin-bottom: 5px;
        letter-spacing: 0em;
    }
}

@media screen and (max-width: 650px) {
    #mechanism-point01 .br850 {
        display: inline;
    }
}

@media screen and (max-width: 550px) {    
    .mechanism-point-text-out {
        font-size: 75%;
    }
    
    .mechanism-point-text-out p .br-n1100 {
        display: none;
    }
    
    #mechanism-point-illust-pc {
        display: none;
    }
    
    #mechanism-point-illust-sp {
        display: inline;
    }
    
    .mechanism-point-text-out p {
        font-size: 1rem;
        line-height: 1.7em;
    }
    
    .mechanism-point-list li {
        font-size: 1rem;
    }
}

@media screen and (max-width: 500px) {
    .space01 {
        padding-bottom: 70px;
    }     
    
    #mechanism {
        padding-top: 40px;
    }
    
    .mechanism-point-section {
        margin-bottom: 20px;
    }
    
    #recommend {
        padding-top: 25px;
    }
    
    #mechanism-point-out .line-title01 {
        font-size: 220%;
        text-decoration-thickness: 7px;
        text-underline-offset: -2px;
    }
    
    .mechanism-point-text-out {
        margin-top: 15px;
    }
    
    .mechanism-point-text-out p {
        letter-spacing: 0em;
    }
    
    .mechanism-point-text-out sup {
        top: -18px;
        right: -5px;
    }
    
    .mechanism-point-list .mechanism-point-list-dot {
        vertical-align: 3px;
    }
}

@media screen and (max-width: 420px) {
    #mechanism-point-out {
        padding: 30px 12px 10px 12px;
    }      
    
    .mechanism-point-text-out sup {
        top: -16px;
    }
}

/* 画像 
#mechanism-point-img img {
    max-width: 200px;
}*/

/*** 使い方 ***/
/*
#usage-out {
    position: absolute;
    top: -90px;
    left: 0px;
    z-index: 2;
    width: 67%;
    padding: 130px 30px 434px 100px;
        clip-path: inset(0 0 round 0px 20px 20px 0px) !important;
} */

#usage-out {
    position: absolute;
    top: -90px;
    left: 0px;
    z-index: 2;
    width: 65%;
    padding: 210px 30px 434px 100px;
    background: url(../images/top/back04.jpg) no-repeat;
    background-size: contain;
    clip-path: inset(0 0 round 0px 20px 20px 0px) !important;
}

@media screen and (min-width: 2401px) {
    #usage-out {
        width: 45%;
       padding: 300px 30px 300px 100px;
        /*border-radius:20px 0px 0px 20px;*/
        clip-path: inset(0 0 round 0px 20px 20px 0px) !important;
    }
}

@media screen and (min-width: 1921px) and (max-width: 2400px) {
    #usage-out {
        width: 50%;
        padding: 300px 30px 300px 100px;
        /*border-radius:20px 0px 0px 20px;*/
        clip-path: inset(0 0 round 0px 20px 20px 0px) !important;
    }
}

#usage-out #usage-back-img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: -100;
    background: url(../images/top/back04.jpg) no-repeat center center;
    background-size: cover;
}

/*
#usage-out.backdown {
    animation-name: backoutdown;
    animation-duration:2s;
    animation-delay: 1s;
    animation-fill-mode:forwards;    
}
*/


#usage-out.backup {
    animation-name: backup;
    animation-duration:3s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;    
}

#usage-out.backdown #usage-back-img {
    animation-name: backdown;
    animation-duration:3s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
}


/*
@keyframes backoutdown {
   0% {
       top: -90px;
   }
   100% {
       top: -110px;
   }
}
*/


@keyframes backdown {
   0% {
      background: url(../images/top/back04.jpg) no-repeat center bottom;
       background-size: cover;
   }
   100% {
      background: url(../images/top/back04.jpg) no-repeat center bottom -50px;
       background-size: cover;
   }
}

@keyframes backup {
   0% {
      background: url(../images/top/back04.jpg) no-repeat center bottom -50px;
       background-size: cover;
       padding-bottom: 0px;
   }
   100% {
      background: url(../images/top/back04.jpg) no-repeat center bottom;
       background-size: cover;
       padding-bottom: 30px;
   }
}


#usage-inner {
  display: block;
}

/*
#usage-inner {
    position: relative;
        padding: 130px 30px 100px 100px;
}

#usage-inner::before {
    position: absolute;
    z-index: -1;
    content: "";
    display: block;
    width: 1600px;
    height: 100%;
    background: url(../images/top/back04.jpg) no-repeat center bottom -50px;
    background-size: cover;
}


#usage-inner.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}*/

#usage-text-out .sub-title {
    font-size: 140%;
}

#order-out .sub-title.active {
    animation-name: fadeIn;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;       
}

#usage-text {
    margin-top: 40px;
    font-size: 145%;
    line-height: 2.5em;
    letter-spacing: 0.05em;
}

#usage-text.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;  
}

#usage-text dd {
    margin-left: 0px;
    line-height: 2em;
    margin-top: 20px;
}

@media screen and (max-width: 1536px) {
    #order-out {
        margin-left: 10vw;
        padding-right: 50px;
    }
}

@media screen and (max-width: 1450px) {
    #usage-out {
        /*
        background: url(../images/top/back04.jpg) no-repeat center bottom -50px;
        */
        background-size: cover;
        width: 80%;
    }
}

@media screen and (max-width: 1199px) {
    #order-out {
        margin-left: 5vw;
        padding-right: 20px;
    }    
}

@media screen and (max-width: 950px) {
    #usage-out {
       padding: 200px 30px 200px 50px;
    }
}

@media screen and (max-width: 767px) {   
    #usage-out {
        padding: 210px 30px 210px 50px;
        width: 90%;
        clip-path: inset(0 0 round 0px 10px 10px 0px) !important;
    }
    
    #usage-text {
        margin-top: 30px;
        font-size: 120%;
        line-height: 1.6em;
    }
    
    #usage-out #usage-back-img {
        background: url(../images/top/back04.jpg) no-repeat center bottom;
        background-size: cover;
    } 
    
    @keyframes backdown {
       0% {
          background: url(../images/top/back04.jpg) no-repeat center bottom;
           background-size: cover;
       }
       100% {
          background: url(../images/top/back04.jpg) no-repeat center bottom -20px;
           background-size: cover;
       }
    }

    @keyframes backup {
       0% {
          background: url(../images/top/back04.jpg) no-repeat center bottom -20px;
           background-size: cover;
           padding-bottom: 0px;
       }
       100% {
          background: url(../images/top/back04.jpg) no-repeat center bottom;
           background-size: cover;
           padding-bottom: 30px;
       }
    }
    
    #order-out {
        padding-right: 0px;
    }
}

@media screen and (max-width:600px) {
    #usage-out {
        padding: 160px 30px 160px 50px;
    }    
    
    #usage-text {
        margin-top: 20px;
    }
}

@media screen and (max-width: 500px) { 
    #usage-out {
        width: 85%;
        padding: 120px 30px 120px 50px;
        top: -30px;
    } 
    
    #usage-out .sub-title {
        font-size: 120%;
    }
    
    #usage-text {
        font-size: 110%;
    }
    
    #usage-text dd {
        margin-top: 0px;
        line-height: 1.5em;
    }
    
    
    #usage-out #usage-back-img {
        background: url(../images/top/back04.jpg) no-repeat center bottom;
        background-size: cover;
    } 
}

@media screen and (max-width: 420px) {
    #usage-out {
        width: 90%;
        padding: 100px 30px 100px 50px;
    }    
}

@media screen and (max-width: 400px) {
    #usage-out .sub-title {
        font-size: 110%;
    }
    
    #usage-text {
        margin-bottom: 10px;
    }
}

@media screen and (max-width: 360px) {
    #usage-out {
        padding: 95px 30px 95px 50px;
    }
}

@media screen and (max-width: 340px) {
    #usage-text {
        font-size: 100%;
    }
}

/* 使用手順 */
#order-out {
    max-width: 1420px;
    padding-top: 550px;
}

@media screen and (max-width: 1160px) {
    #order-out {
        margin-left: 10vw;
        margin-right: 10vw;
    }    
}

#order-kaisetsu.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;   
}

#order-kaisetsu h4 {
    font-size: 120%;
}

#order-kaisetsu p {
    margin-top: 20px;
    font-size: 110%;
}

#order-kaisetsu {
    margin-bottom: 40px;
}

#order-list {
    display: table;
    width: 100%;
}

#order-list.active {
    opacity: 1;
}

#order-list li:nth-child(1) {
    opacity: 0;
    transition: opacity 1.4s linear .0s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(2) {
    opacity: 0;
    transition: opacity 1.4s linear .0s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(3) {
    opacity: 0;
    transition: opacity 1.4s linear .25s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(4) {
    opacity: 0;
    transition: opacity 1.4s linear .25s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(5) {
    opacity: 0;
    transition: opacity 1.4s linear .5s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(6) {
    opacity: 0;
    transition: opacity 1.4s linear .5s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(7) {
    opacity: 0;
    transition: opacity 1.4s linear .75s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list li:nth-child(8) {
    opacity: 0;
    transition: opacity 1.4s linear .75s, transform 1.4s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;    
}

#order-list.active li {
    opacity: 1;
    transform: translateY(0) scale(1);   
}

#order-list li {
    display: table-cell;
}

.order-con {
    width: 21%;
}

.order-arrow {
    width: 5.33333333333%;
    vertical-align: top;
    text-align: center;
}

.order-arrow img {
    max-width: 15px;
    margin-top: 97px;
    margin-left: 3px;
}

.order-text {
    font-size: 95%;
    margin-top: 10px;
    line-height: 1.6em;
}

#order-text01 {
    letter-spacing: 0em;
}

#order-sub-text {
    margin-top: 30px;
}

#order-sub-text.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
}

@media screen and (max-width: 1060px) {
    .order-arrow img {
        margin-top: 7vw;
    }
}

@media screen and (max-width: 950px) {
    #order-out {
        padding-top: 300px;
    }
}

@media screen and (max-width: 767px) {
    #order-kaisetsu h4 {
        font-size: 140%;
    }
    
    #order-kaisetsu p {
        font-size: 120%;
    }
    
    #order-out {
        padding-top: 260px;
        margin-left: 5vw;
        margin-right: 5vw;
    }
    
    #order-out h4 {
        text-align: center;
    }
    
    #order-out .sub-title {
        padding: 4px 27px 7px;
    }    
    
    #order-list {
        display: flex;
        flex-wrap: wrap;
    }
    
    #order-list li {
        display: block;
    }
    
    .order-text {
        font-size: 115%;
        margin-bottom: 40px;
    }
    
    #order-kaisetsu {
        margin-bottom: 30px;
    }
    
    .order-con {
        width: 38%;
    }
    
    #order-sub-text {
        margin-top: 0px;
    }
    
    .order-arrow img {
        margin-top: 14vw;
        max-width: 19px;
    }

    .order-arrow {
        width: 12%;
        vertical-align: top;
        text-align: center;
    }
}

@media screen and (max-width: 650px) {
    .order-arrow img {
        margin-top: 15vw;
        max-width: 14px;
    }
    
    .order-con {
        width: 42%;
    }

    .order-arrow {
        width: 8%;
    }
}

@media screen and (max-width: 600px) {
     #order-out {
        padding-top: 160px;
    }
    
    #order-text01 br {
        display: none;
    }
}

@media screen and (max-width: 500px) {
     #order-out {
        padding-top: 145px;
    }
    
    #order-out .sub-title {
        font-size: 130%;
        padding: 2px 30px 5px;
    } 
    
    .order-con {
        width: 40%;
    }

    .order-arrow {
        width: 10%;
    }
    
    .order-arrow img {
        margin-top: 14.5vw;
        max-width: 12px;
    }
    
    .order-text br {
        display: none;
    }
}

@media screen and (max-width: 420px) { 
     #order-out {
        padding-top: 105px;
    }  
}

@media screen and (max-width: 400px) { 
    .order-arrow img {
        margin-top: 14.2vw;
        max-width: 9px;
    }
    
     #order-out {
        padding-top: 100px;
    }  
}

@media screen and (max-width: 360px) {
     #order-out {
        padding-top: 95px;
    }   
}

/* ポイントリスト */
#point-list-out {
    margin-top: 80px;
}

#point-list-out.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards; 
}

#point-list-out dt {
    display: inline-block;
}

#point-list-out dd {
    margin-top: 10px;
    margin-left: 14px;
    padding-bottom: 3em;
}

.point-title h4 {
    display: table;
    width: 100%;
}

.point-title .point-num {
    display: table-cell;
    position: relative;
    background: #01a1c3;
    color: white;
    padding: 2px 8px 2px 12px;
    width: 128px;
    border-top: 3px solid #01a1c3;
    border-left: 3px solid #01a1c3;
    border-bottom: 3px solid #01a1c3; 
    border-radius: 60px 0px 0px 60px;
}

.point-title .point-title-text {
    display: table-cell;
    font-size: 115%;
    border-top: 3px solid #01a1c3;
    border-right: 3px solid #01a1c3;
    border-bottom: 3px solid #01a1c3; 
    padding: 3px 22px 4px 15px;
    border-radius:0px 60px 60px 0px ;
    line-height: 1.2em;
}

.point-num img {
    position: absolute;
    width: 108px;
    bottom: 0px;
    z-index: 2;
}

.point-title .point-title-text {
    background: white;
}
@media screen and (max-width: 767px) {
    .mechanism-section02 {
        padding-bottom: 60px;
    }
}

@media screen and (max-width: 600px) {
    #point-list-out {
        margin-top: 70px;
    }
    
    .mechanism-section02 {
        padding-bottom: 30px;
    }
    
    .point-num img {
        width: 67px;
        top: 0;
        bottom: 0px;
        left: 8px;
        margin: auto;
    }
    
    .point-title .point-num {
        width: 80px;
    }
}


/*** 製品情報 ***/
#product {
    padding-top: 100px;
    padding-bottom: 100px;
}

/*
#product .inner-width {
    max-width: 1100px;
}
*/

#product.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

/*
#product-img-out {
    display: block;
    width: 28%;
    height: 480px;
    background: url(images/top/product-photo.jpg) no-repeat center bottom -30px;
    background-size: 135% auto;
    border-radius: 10px;
}
*/

#product-img-out {
    float: left;
    width: 27%;
}

#product-text-out {
    float: right;
    width: 68%;
    margin-left: 5%;
    font-size: 95%;
    letter-spacing: 0em;
}

#product-text-out {
    margin-top: 10px;
}

#product-sub-title01 {
    display: inline-block;
    border-bottom: 1px solid #000000;
    font-size: 110%;
    line-height: 1.6em;
}

#product-sub-title02 {
    display: inline-block;
    padding: 2px 7px 3px;
    margin-top: 40px;
    font-size: 110%;
    border: 1px solid #000000;
    line-height: 1.2em;
}

#product-title {
    margin-top: 25px;
    font-size: 1.3em;
    line-height: 1.7em;
}

#product-title span {
    display: block;
    text-indent: -4em;
    padding-left: 4em;   
}

#product-text {
    margin-top: 20px;
    font-size: 1.15em;
    line-height: 1.8em;
    letter-spacing: 0em;
}

#product-text span {
    white-space: nowrap;
}

#product-dl dt {
    white-space: nowrap;
}

#product-dl dd {
    margin-left: 0px;
}

#product-text #product-seibun {
    display: block;
    text-indent: -5.3em;
    padding-left: 5.3em;
}

#product-text #product-kono {
    display: block;
    text-indent: -6.3em;
    padding-left: 6.3em;
}

#product-dl-section02 {
    text-indent: -5em;
    padding-left: 5em;    
}

#product-dl-section03 {
    text-indent: -6em;
    padding-left: 6em;    
}

@media screen and (max-width: 1199px) {
    #product-img-out {
        width: 32%;
    }

    #product-text-out {
        width: 62%;
        margin-left: 6%;
    }
    
    #product-text-out {
        margin-top: 5px;   
    }
    
    #product-text {
        margin-top: 30px;
    }
}

@media screen and (max-width: 1000px) {
    #product-text #product-seibun .br767 {
        display: none;
    }
}

@media screen and (max-width: 900px) {
     #product-text-out {
        margin-top: 0px;   
    }   
}

@media screen and (max-width: 767px) {
    #product-sub-title01 {
        font-size: 0.95rem;
    }
    
    #product {
        padding-top: 50px;
        padding-bottom: 60px;
    }

    #product-sub-title02 {
        margin-top: 0px;
        font-size: 0.8rem;
        margin-bottom: 15px;
    }
    
    #product-title {
        font-size: 1.2em;
        margin-top: 10px;
        margin-bottom: 10px;
    }
    
    #product-img-out {
        width: 38%;
    }

    #product-text-out {
        width: 57%;
        margin-left: 5%;
    }
    
    #product-text-out {
        margin-top: 10px;   
    }
    
    #product-text {
        margin-top: 22px;
    }
    
    #product-dl-section02 {
        text-indent: -7em;
        padding-left: 7em;
    }
    
    #product-dl-section03 {
        text-indent: -7em;
        padding-left: 7em;
    }
    
    #product-dl-section01 span {
        letter-spacing: 1.45em;   
    }
    
    #product-dl-section02 span {
        letter-spacing: 0.63em;   
    }
    
    #product-dl-section03 span {
        letter-spacing: 0.23em;   
    }
}

@media screen and (max-width: 600px) {
    #product {
        padding-top: 25px;
        padding-bottom: 50px;
    }
    
    #product-img-out {
        display: block;
        width: 100%;
        margin-top: 20px;
        text-align: center;
    }
    
    #product-img-out img {
        max-width: 40vw;
    }

    #product-text-out {
        display: block;
        width: 100%;
        margin-left: 0px;
    }
}

@media screen and (max-width: 500px) {
    #product {
        padding-top: 20px;
        padding-bottom: 30px;
    }
    
    #product-img-out {
        margin-top: 5px;
    }
    
    #product-title {
        font-size: 1.1em;
    }
    
    #product-text {
        font-size: 100%;
    }
}

@media screen and (max-width: 380px) {
    #product-text #product-seibun .br767 {
        display: inline;
    }      
}

@media screen and (max-width: 350px) {
    #product-text {
        font-size: 90%;
    }
}

/*** 購入前にご角印いただきたいこと ***/
#check {
    background: #01a1c3;
    padding-top: 70px;
    padding-bottom: 60px;
}

#check-inner.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#check-title {
    color: #01a1c3;
    font-size: 180%;
    background: white;
    text-align: center;
    letter-spacing: 0.2em;
    border-radius: 100px;
    padding: 9px 20px 12px;
}

#check-cation-text-out {
    color: white;
    margin-top: 40px;
    margin-left: 1.3em;
}

#check-cation-text01 {
    font-size: 130%;
    text-decoration: underline;
    text-underline-offset: 10px;
    line-height: 1.8em;
}

#check-cation-text02 {
    margin-top: 10px;
}

#check-list-out {
    background: white;
    padding: 10px 45px 40px;
    margin-top: 30px;
    border-radius: 10px;
}

#check-list .check-list-title {
    color: #00a1c2;
    font-size: 120%;
    text-decoration: underline;
    text-underline-offset: 5px;
    margin-top: 2em;
}

#check-list .check-list-text {
    margin-top: 15px;
    margin-left: 0px;
}

#check-list-small-out {
    padding-top: 1em;
}

#check-list-small-out dt {
    color: #00a1c2;
}

#check-list-small-out dd {
    margin-left: 1em;
    margin-bottom: 1.5em;
}

@media screen and (max-width: 767px) {
    #check-list-out {
        border-radius: 26px;
    }
    
    #check-cation-text02 {
        font-size: 115%;
    }
    
    #check-list .check-list-title {
        font-size: 140%;
        line-height: 1.5em;
    }
    
    #check-cation-text-out {
        margin-left: 0.5em;
    }
}

@media screen and (max-width: 600px) {
    #check {
        padding-top: 40px;   
    }
    
    #check-title {
       font-size: 150%;
       padding: 6px 27px 8px;
    }
    
    #check-list-out {
       padding: 0px 30px 40px; 
    }
    
    #check-list {
        padding-top: 20px;
    }
    
    #check-list  > *:first-child {
        margin-top: 10px;   
    }
}

@media screen and (max-width: 500px) {
    #check {
      padding-bottom: 40px; 
    }
    
    #check-list-out {
        padding-bottom: 30px;
        margin-top: 20px;
    }
    
    #check-cation-text-out {
        margin-top: 20px;
    }
}

/*** 使用上の注意 ***/
#caution {
    padding-top: 140px;
    padding-bottom: 170px;
    background: url(../images/top/back05.jpg) no-repeat;
    background-size: cover;
}

#caution-section {
    padding: 90px;
    background: white;
    border-radius: 10px;
}

#caution-section.active {
    animation-name: fadeUp01;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#caution-inner {
    margin-left: 1.2em;
}

@media screen and (min-width: 1199px) {
    #caution-inner {
        margin-left: 1.5em;
    }
}

#caution-inner.active {
    animation-name: fadeUp01;
    animation-duration:1s;
    animation-delay: 0.8s;
    animation-fill-mode:forwards;    
}

#caution-title {
    color: white;
    font-size: 210%;
    background: #01a1c3;
    text-align: center;
    letter-spacing: 0.2em;
    border-radius: 100px;
    padding: 14px 20px 17px;
}

#caution-title.active {
    animation-name: fadeUp01;
    animation-duration:1s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;    
}

#cation-use-text {
    margin-top: 60px;
    font-size: 130%;
}

#cation-use-text span {
    padding: 3px 5px 5px 16px;
    border: 1px solid black;
    letter-spacing: 0.1em;
}
    
#caution-first-text {
    font-size: 115%;
    line-height: 2em;
    margin-top: 30px;
}

#cation-list {
    margin-top: 60px;
    font-size: 125%;
    line-height: 1.8em;
}

@media screen and (max-width: 1060px) {
    #caution {
        padding-top: 100px;
        padding-bottom: 110px;
    }
    
    #caution-section {
        padding: 50px;
    }
}

@media screen and (max-width: 767px) {
    #caution {
        padding-top: 60px;
        padding-bottom: 70px;
    }
    
    #caution-section {
        padding: 30px;
    }
    
    .list01 .list-symbol {
        font-size: 80%;
        vertical-align: 0px;
    }
    
    #caution .list01 li:not(.list02 li) {
        padding-left: 1.2em;
        text-indent: -1.2em;
    }
    
    .list01 li:not(.list02 li) {
        margin-bottom: 25px;
    }
    
    #caution-first-text {
        font-size: 125%;
    }
    
    #caution-inner {
        margin-left: 0em;
    }
    
    #cation-list {
        line-height: 1.3em;
        margin-top: 30px;
    }
}

@media screen and (max-width: 500px) {
    #caution {
        padding-top: 50px;
        padding-bottom: 40px;
    }
    
    #caution-section {
        text-align: center;
        padding: 30px 15px 10px 15px;
    }
    
    #cation-use-text {
        margin-top: 20px;
    }
    
    #caution-title {
        display: inline-block;
        font-size: 1.4em;
        padding: 3px 20px 6px;
    }
    
    #cation-list {
        font-size: 1rem;
        margin-top: 25px;
    }
    
    #cation-list li {
        text-align: left;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 420px) {
     #cation-use-text {
        font-size: 1.05em;
    }   
}

/*** よくあるご質問 ***/
/*
.q-contents.active {
    border-radius: 8px 8px 0 0;
}

.qa-out {
    padding-bottom: 10px;
}
*/

.qa-out {
    position: relative;
}

#question {
    position: relative;
    background: #01a1c3;
    padding-top: 60px;
    padding-bottom: 160px;
}

#question .inner-width {
    position: relative;
}

/* 上に戻るボタン */
.top-back-btn {
    position: absolute;
    right: 0px;
    bottom: -170px;
    z-index: 98;
    cursor: pointer;
    max-width: 35px;
}

.top-back-btn.active {
    animation-name: fadeIn02;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#qa-title-img {
    text-align: center;
}

#qa-title-img.active {
    animation-name: fadeIn;
    animation-duration:0.5s;
    animation-delay: 0.5s;
    animation-fill-mode:forwards;
    opacity:0;    
}

#qa-title-img img {
    max-width: 505px;
}

.qa-title {
    text-align: center;
    margin-top: 60px;
    margin-bottom: 60px;
}

.qa-title h4 {
    display: inline-block;
    text-decoration: underline;
    text-underline-offset: 9px;
    color: white;
    font-size: 220%;
    line-height: 1.8em;
}

.q-contents {
    position: relative;
    z-index: 2;
    border-radius: 80px;
}

.q-contents-inner {
    position: relative;
}

.qa-contents-out {
    margin-bottom: 40px;
    font-size: 110%;
}

.q-contents-section {
    color: white;
    font-size: 120%;
    background: #01a1c3;
    border-radius: 30px;
    border: 3px solid white;
    /*
    background: url(../images/qa/down-arrow-icon.png) no-repeat center right 20px #ae9133;
    */
    background-size: 18px auto;
    padding: 10px 20px 10px 43px;
}

.q-contents-section span {
    display: block;
    padding-left:1.5em;
    text-indent:-1.5em;
    line-height: 1.4em;
}

.q-icon {
    position: absolute;
    top: 50%;
    left: 18px;
    transform: translateY(-50%) translateX(-50%);
    width: 23px;
    vertical-align: middle;
    margin-right: 15px;
}

.a-icon {
    max-width: 24px;
    vertical-align: -2px;
    margin-right: 25px;
}

.qa-arrow {
    max-width: 12px;
    margin-left: 18px;
    margin-bottom: 3px;
    vertical-align: middle;
}

.qa-contents-out.active .q-contents .qa-arrow {
    transform:rotate(90deg);
}

/*
.q-close {
    background: url(../images/qa/up-arrow-icon.png) no-repeat center right 20px #ae9133;
    background-size: 18px auto;
}
*/

.a-contents {
    background: white;
    padding: 55px 40px 30px 50px;
    position: relative;
    top: -35px;
    z-index: 1;
    border-radius: 4px 4px 26px 26px;
}

.q-contents-text {
    padding-left: 55px !important;
    text-indent: 0em !important;
}

.a-contents-text {
    padding-left:2.5em;
	text-indent:-2.5em;
    letter-spacing: 0em;
}

.qa-cation {
    display: block;
    font-size: 90%;
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.4em;
    margin-top: 10px;
}

.qa-link {
    color: #00A1C2;
    text-underline-offset: 5px;
    text-decoration-color: #00a1c2;
    text-decoration-thickness: 1px;
}

@media screen and (max-width: 767px) {
    .qa-title h4 {
        font-size: 150%;
    }
    
    .a-contents-text {
        font-size: 1.1em;
        padding-left: 1.3em;
        text-indent: -1.3em;
    } 
    
    .a-icon {
        max-width: 13px;
    }
}

/* プラスマイナスアイコン */ 
.plus-minus-icon {
    position: absolute;
    top: 50%;
    right: -35px;
    transform: translateY(-50%) translateX(-50%);
}

.plus-minus-icon:before,.plus-minus-icon:after {
    content: "";
    display: block;
}   

.plus-minus-icon:before,
.plus-minus-icon:after {
background-color: white;
position: absolute;
width: 20px;
border-radius: 3px;
}

.plus-minus-icon:before {
transform: rotate(90deg);
height: 3px;
}
    
.plus-minus-icon:after {
    height: 3px;
}
    
.qa-contents-out.active .q-contents .plus-minus-icon:before {
transform: rotate(180deg);
transition: .2s
}

.qa-contents-out.active .q-contents .plus-minus-icon:after {
opacity: 0;
transition: .1s
}

#qa-tablet {
    margin-top: 30px;
    margin-left: 15%;
}

#qa-tablet img {
    max-width: 155px;
}

.qa-sub-text01 {
    margin-top: 10px;
    text-indent: 0em !important;
}

#qa-con-out {
    margin-top: 20px;
}

#qa-con-out.active {
    animation-name: fadeUp01;
    animation-fill-mode:forwards;
    animation-duration: 1s;
    opacity:0;    
}

#top-back-sp {
    display: none;
}

@media screen and (max-width: 1160px) {
    .top-back-btn {
        right:  -10px;
    }           
}

@media screen and (max-width: 1199px) {
    #pc-menu-out {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    #question {
        padding-top: 25px;
        padding-bottom: 110px;
    }
    
    #qa-title-img img {
        max-width: 58vw;
    }
    
    .qa-title {
        margin-top: 0px;
        margin-bottom: 20px;
    }
    
    .qa-contents-out {
        margin-bottom: 20px;
    }
    
    .q-contents-section {
        font-size: 110%;
        padding: 8px 10px 8px 12px;
        border: 2px solid white;
    }
    
    .q-icon {
        left: 12px;
        width: 13px;
        margin-right: 10px;
        top:11px;
    }
    
    .q-contents-text {
        padding-left: 25px !important;
    }
    
    .a-contents {
        padding: 35px 20px 15px;
        top: -28px;
    }
    
    .a-icon {
        margin-right: 10px;
    }

    .qa-arrow {
        max-width: 9px;
        margin-left: 10px;
    }
    
    .q-contents-text {
        padding-left: 30px !important;
    }
    
    .top-back-btn {
        bottom: -110px;
    }  
    
    #top-back-pc {
        display: none;
    }
    
    #top-back-sp {
        display: inline;
    }
    
    .top-back-btn img {
        max-width: 77px;
    }
}

@media screen and (max-width: 600px) {
    .q-contents-text {
        padding-left: 25px !important;
    }
    
    .plus-minus-icon {
        right: -20px;
    }
    
    #qa-tablet {
        text-align: center;
        margin-left: 0px;
    }
}

@media screen and (max-width: 500px) {
    .top-back-btn img {
        max-width: 54px;
    }
    
    .q-contents-section {
        font-size: 1rem;
    }
    
    .q-icon {
        width: 12px;
    }
    
    .a-icon {
        max-width: 12px;
    }
    
    .a-contents-text {
        font-size: 1rem;
    }
}
