﻿@charset "utf-8";

/*** PC ***/

body{
background:#f4f4f4!important;
}

a{
  text-decoration: none!important;
  font-size: 15px!important;
  line-height: 19px!important;
  font-weight: 250!important;
}


h1{
  font-size: 27px!important;
  line-height: 35px!important;
  font-weight: 950!important;
  padding-bottom: 0px!important;
  font-family: Helvetica, sans-serif;
  letter-spacing : 0px!important;
  font-style: normal;
  margin-bottom: 50px!important;
}


body main{
width: 100%!important;
padding-bottom: 50px!important;
background-position: center;
background-size: 100% auto;
letter-spacing: 0.05em;
}

body main article section.generalpurpose p{
font-size: 16px!important;
line-height: 20px!important;
font-weight: 400!important;
font-family:"Zen Kaku Gothic New",serif!important;
color: #7f7f7f!important;
}

p{
	margin-bottom: 16px!important;
}

body main article section.generalpurpose h2{
  font-size: 38px!important;
  line-height: 32px!important;
  font-family: Helvetica, sans-serif;
  font-weight: 600;
  font-style: normal;
  text-underline-offset: 10px;
  text-decoration:underline;
}

body main article section.generalpurpose h3{
  font-size: 30px!important;
  line-height: 35px!important;
  font-family: Helvetica, "Zen Kaku Gothic New",sans-serif;
  font-weight: 500;
  font-style: normal;
}

body main article section.generalpurpose h4{
  font-size: 22px!important;
  line-height: 32px!important;
  font-weight: 600!important;
  letter-spacing : 1px!important;
  font-family: "Zen Kaku Gothic New",cursive!important;
}

body main article section.generalpurpose .productname{
  font-size: 20px!important;
  line-height: 25px!important;
  font-family: Helvetica, "Zen Kaku Gothic New",sans-serif!important;
  font-weight: 500;
  font-style: normal;
}

body main article section.generalpurpose .productcopy{
  font-size: 18px!important;
  line-height: 22px!important;
  font-weight: 600!important;
  letter-spacing : 1px!important;
  font-family: "Zen Kaku Gothic New",cursive!important;
}


.text{
  text-align:center!important;
}

.tag {
  background: #d6d6d6;
  padding: 0.3em 0.5em;
  color: #000;
  margin: 0 0.2em 0 0;
  font-size: 80%;
  line-height: 100%;
  font-weight:bold;
  border-radius: 40px;
}


.yoko{
  display: flex!important;
}

hr{
display: block;
height: 1px;
border: 0;
border-top: 1px solid #282828!important;
margin: 1em 0;
padding: 0;
}

.mt0{
  margin-top: 0;
}


/* 補足情報 */
.hosoku{
font-size:12px!important;
line-height:16px!important;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  text-align: center;
}

.sticky p{
display: flex;
}

#snow.bgDark {
            background: rgba(0, 0, 0, 0.3)
        }



.btn-flat-border {
  background: #282828;
  display: inline-block;
  padding: 5px 0px;
  margin: 10px 0px 10px 0px;
  text-decoration: none;
  color: #fff!important;
  border-radius: 40px;
  transition: .4s;
  width: 100%;
  text-align: center;
  font-family:Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.btn-flat-border2 {
  background: #2c55bb;
  display: inline-block;
  padding: 10px 0px;
  margin: 15px 0px 10px 0px;
  text-decoration: none;
  color: #fff!important;
  border-radius: 40px;
  transition: .4s;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-family: Helvetica, sans-serif;
}

.btn-flat-border3 {
  background: #5489a9;
  display: inline-block;
  padding: 10px 0px;
  margin: 15px 0px 10px 0px;
  text-decoration: none;
  color: #fff!important;
  border-radius: 40px;
  transition: .4s;
  width: 100%;
  text-align: center;
  font-weight: bold;
  font-family: Helvetica, sans-serif;
}



.btn-flat-border:hover,
.btn-flat-border2:hover,
.btn-flat-border3:hover {
  background: #282828;
  color: #fff;
  width: 100%;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
}

/* 蛍光ペン風 */
.under1 {
  background: linear-gradient(transparent 50%, #fff 50%);
}

.site-header{
    display: flex;
    position: absolute;
    justify-content: space-between;
}
.site-header.fixed{
    position: fixed;
    top: 0;
}

.scroll-fade-side {
  margin: 0px auto;
  width: 100%;
  height: auto;
}

.scroll-fade-side2 {
  margin: 0px auto;
  width: 100%;
  height: auto;
}


/* ページTOPへ */
.pagetop{
  position: -webkit-sticky;
    position: fixed;
    z-index: 99999; /* 他の要素の下に隠れないように */
    bottom: 30px;
    right: 30px;
    border: none;
    width: 100px;
  /*デフォルトで非表示にする*/
  /*opacity: 0;
  visibility: hidden;*/
}

.pagetop a{
    display: block;
    text-decoration: none;
    }
 
.pagetop:hover{
    opacity: 0.85 ;
}

/* --- 背景（全画面白80%） --- */
.modal-overlay {
  display: none; 
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 10000;
  
  /* 中央配置の設定 */
  justify-content: center;
  align-items: center; 
  
  /* 中身が長い場合にスクロール可能にする */
  overflow-y: auto;
  padding: 40px 10px;
  box-sizing: border-box;
}

.modal-overlay.active {
  display: flex;
}

/* --- ポップアップの中身コンテナ --- */
.modal-content {
  position: relative;
  width: 100%;
  max-width: 500px; /* 5つのリンクが綺麗に収まる幅 */
  margin: auto; /* 上下の余白を自動調整して中央へ */
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* --- ポップアップ内の画像 --- */
.modal-image {
  width: 100%;
  height: auto;
  max-height: 60vh; /* 画像が大きすぎてリンクが隠れないよう調整 */
  object-fit: contain;
  box-shadow: 0 5px 20px rgba(0,0,0,0.2);
  border-radius: 4px;
  background-color: #eee; /* 読み込み前などの予備色 */
}

/* --- リンク集のコンテナ（ここが見えるように修正） --- */
/* --- ここから下の部分を探して差し替えてください --- */

.modal-link-list {
  width: 100%;
  margin-top: 20px;
  text-align: center; 
}

.modal-link-list ul {
  list-style: none; 
  padding: 0; 
  margin: 0;
}

.modal-link-list li {
  margin-bottom: 12px; 
}

/* 黒い箱を消して、シンプルなテキストにする設定 */
.modal-link-list a {
  display: inline-block;
  background-color: transparent !important; /* 背景を透明に */
  color: #000000 !important; /* 文字を黒に */
  padding: 5px 0;
  text-decoration: underline; /* 下線をつける */
  font-size: 16px;
  font-weight: bold;
  transition: opacity 0.2s;
}

.modal-link-list a:hover {
  opacity: 0.6;
}

/* --- ここまで --- */

/* --- 【復活】閉じるボタン（黒丸に白×） --- */
.close-btn {
  position: absolute;
  /* 画像の右上に被るように配置 */
  top: -20px;
  right: -10px;
  width: 44px;
  height: 44px;
  background-color: #333 !important; /* 強制的に黒 */
  color: #fff !important; /* 強制的に白 */
  border: 2px solid #fff;
  border-radius: 50%;
  font-size: 28px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10100; /* 一番上にくるように */
  padding: 0;
  line-height: 1;
}

.close-btn:hover {
  background-color: #000 !important;
  transform: scale(1.1);
}