@charset "UTF-8";
/*
COLORS
================================================ */
:root {
  --light_blue: #4db1ec;
  --blue: #1665cc;
  --purple: #7d16cc;
  --red: #cc1665;
  --grey: #333;
  --kon: #192741;
  --white: #fff;
}
/*
GENERAL STYLING
================================================ */
html {
  /* スムーズスクロール */
  scroll-behavior: smooth;
}
body {
  color: var(--grey);
  font-family: sans-serif;
}

#body_details {
  background-color: #f5f5f5;
}


/*
COMMON
================================================ */
p {
  line-height: 1.7;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
h2 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
h1,
h2 {
  text-align: center;
}
header,
h1,
h2,
.hero_date {
  font-family: sans-serif;
}
/* Layout */
.wrapper {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

.wrapper_profile {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

.wrapper_DX {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

a {
  word-break: break-all;
  color: var(--blue);
  text-decoration: underline;
  transition: 0.3s;
}

a:hover {
  color: #114fa1;
}

/*
HERO
================================================ */
#hero {
  /* ↓ 省略形だとブラウザーによってうまく表示されない
    background: var(--light-blue) url('../images/hero.jpg') no-repeat center / cover; */
  /* background-color: #1665cc; */
  background-image: url("../images/hero7.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-blend-mode: screen;
  animation: bg_color 24s infinite; /*←キーフレーム名　bg_colorを指定。24秒かけてループさせてね。*/
  height: 100vh;
  display: flex;
  align-items: center;
}
/* @keyframes bg_color {
  0% {
    background-color: var(--blue);
  }
  50% {
    background-color: var(--light_blue);
  }
  100% {
    background-color: var(--blue);
  }
} */

#hero h1 {
  font-size: 1.5rem;
  color: white;
  font-weight: bold;
  filter: drop-shadow(0px 0px 3px rgba(000, 000, 000, 0.7));
  margin-bottom: 1.5rem;
  text-shadow: 2px 2px 0px var(--blue), -2px -2px 0px var(--blue), -2px 2px 0px var(--blue), 2px -2px 0px var(--blue),
    2px 0px 0px var(--blue), -2px 0px 0px var(--blue), 0px 2px 0px var(--blue), 0px -2px 0px var(--blue);
}
#hero h1 span {
  display: block;
}

/*
NEWS
================================================ */
#news {
  padding: 4rem 1rem 2rem;
}

#news h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}

/*テーブルタグ（news）*/
.news_table th,
.news_table td {
  text-align: left;
  vertical-align: top;
  padding: 0em 0em;
}

.news_table th {
  width: 30%;
  padding-left: 1.5rem;
  font-weight: 400;
}

.news_table td {
  width: 70%;
  padding-left: 1.5rem;
}
.news_table span {
  background-color: var(--red);
  color: white;
  padding: 2px 5px;
  font-size: 13px;
}
/*
Company
================================================ */
#company {
  padding: 4rem 1rem 2rem;
}

#company h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}

#company h3 {
  text-align: center;
  background-color: #f5f5f5;
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 0.2rem 0.2rem;
}

/*テーブルタグ（company）*/
.company_table {
  width: 100%;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
}
.company_table th,
.company_table td {
  text-align: left;
  vertical-align: top;
  padding: 0.5em 0em;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
}

.company_table th {
  width: 25%;
  padding: 0.5rem 1rem;
}

.company_table td {
  width: 75%;
  padding: 0.5rem 1rem;
}

/*
Profile
================================================ */
#profile {
  padding: 4rem 1rem 2rem;
}

#profile h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}

#profile h2 span {
  display: block;
}

/*中央に画像*/
.sp_center {
  text-align: center;
  margin-bottom: 0.5rem;
}

.box_kindle {
  background-color: #f5f5f5;
  margin-top: 40px;
}
.box_kindle h3 {
  font-size: 1.2rem;
  font-weight: bold;
  background-color: var(--kon);
  color: var(--white);
  padding: 0.5rem 0.5rem;
  text-align: center;
}
.flex_kindle {
  padding: 1.5rem 1.5rem;
}
.img_kindle {
  width: 65%;
  margin: 0 auto;
  margin-bottom: 1rem;
  transition: 0.3s;
}

.img_kindle:hover {
  opacity: 0.8;
}


.title_kindle {
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.subtitle_kindle {
  text-align: center;
  font-size: 1.1rem;
  line-height: 1.3;
  margin-bottom: 0.5rem;
}
.version_kindle {
  text-align: center;
  width: 70%;
  background-color: var(--white);
  border: 1px solid var(--kon);
  font-size: 0.8rem;
  margin: 0 auto;
  margin-bottom: 0.5rem;
}

.link_kindle {
  text-align: center;
}
.box_kindle span {
  display: block;
}
/*
Service
================================================ */
#service {
  padding: 4rem 1rem 2rem;
}

#service h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}
#service h3 {
  color: var(--red);
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0.5rem;
  line-height: 1.5;
}

#service h3::before {
  content: "●";
  color: var(--red);
  margin-right: 0.2rem;
}

.box_service {
  padding-bottom: 1.5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #ccc;
}

.link_service {
  text-align: center;
  margin: 1rem 0 0.5rem;
}
.link_service a::after {
  content: "→";
}

#service h4 {
  color: var(--red);
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0.5rem;
  line-height: 1.5;
}

#service h4::before {
  content: "★";
}
#service h4::after {
  content: "★";
}
.box_roll p {
  text-align: center;
}
.box_roll p span {
  display: block;
}
.box_roll p .underline {
  text-decoration: underline;
}

/*
Message
================================================ */
#message {
  padding: 4rem 1rem 2rem;
}

#message h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}

#message p {
  margin-bottom: 1rem;
}

/*
Contact
================================================ */
#contact {
  padding: 4rem 1rem 6rem;
}

#contact h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}

#contact p {
  margin-bottom: 1rem;
  text-align: center;
}

#contact .email {
  text-align: center;
  margin-bottom: 1rem;
  font-size: 1.3rem;
}
.remark_contact {
  color: var(--red);
}
#contact span {
  display: block;
}

/*
Details_Profile
================================================ */
#details_profile {
  padding: 1.5rem 1rem 4rem;
}

.wrapper_profile img {
  margin-bottom: 1.5rem;
}

.wrapper_profile img:last-child {
  margin-bottom: 1.5rem;
}

.link_top {
  text-align: center;
  margin: 1rem 0 0.5rem;
}
/*
Details_DX
================================================ */
#details_DX {
  padding: 1.5rem 1rem 4rem;
}
.wrapper_DX img {
  margin-bottom: 1.5rem;
}

.wrapper_DX img:last-child {
  margin-bottom: 1.5rem;
}

.link_inquiry {
  font-size: 1.5rem;
  text-align: center;
  margin: 1rem 0 2rem;
}

.link_inquiry a::after {
  content: "→";
}

/*
Details_mail
================================================ */
#details_mail {
  padding: 4rem 1rem 4rem;
}

#details_mail h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}

#details_mail h3.reason_spam {
  color: var(--red);
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0rem;
  line-height: 1.5;
  margin-bottom: 1rem;
}
.box_txt_spam {
  margin-bottom: 1.5rem;
}
.box_important_mail {
  border: 1px solid #ccc;
  font-size: 1.2rem;
  text-align: center;
  padding: 1rem 1rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
.box_important_mail span {
  color: var(--red);
}
.box_important_mail span::before {
  content: "★";
  color: var(--red);
  margin-right: 0.5rem;
}
.box_important_mail span::after {
  content: "★";
  color: var(--red);
  margin-left: 0.5rem;
}
.box_receive,
.box_send,
.box_price {
  margin-bottom: 4rem;
}
#details_mail h3.sub_mail {
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0.5rem 0.3rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  border-left: 10px solid var(--kon);
  border-bottom: 1px solid #ccc;
}
.point_jyushin {
  font-weight: bold;
  text-decoration: underline;
  font-size: 1.2rem;
}

.box_taisaku {
  margin-top: 1.5rem;
}
#details_mail h4 {
  color: var(--red);
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0rem;
  line-height: 1.5;
}
.list_taisaku::before {
  content: "・";
}
.list_taisaku {
  text-indent: -1rem;
  padding-left: 1rem;
}
.list2nd_taisaku::before {
  content: "-";
  margin-right: 0.5rem;
}
.list2nd_taisaku {
  text-indent: -1rem;
  padding-left: 2rem;
}
.box_send p {
  font-weight: bold;
  color: var(--red);
  margin-bottom: 0.7rem;
}
.box_send p {
  text-indent: -1.5rem;
  padding-left: 1.5rem;
}
.box_price p::before {
  content: "★";
  color: var(--red);
}
.box_price p {
  font-weight: bold;
  margin-bottom: 0.7rem;
}

.note {
  text-align: center;
  margin-bottom: 2rem;
}

/*
Details_nfbm
================================================ */

#details_nfbm {
  padding: 4rem 1rem 4rem;
}

#details_nfbm h2 {
  background-color: var(--kon);
  color: white;
  border-radius: 100px;
  padding: 0.5rem 0.5rem;
}
#details_nfbm h2 span {
  display: block;
}
.box_nfbm {
  margin-bottom: 4rem;
}
#details_nfbm h3.sub_nfbm {
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0.5rem 0.3rem;
  line-height: 1.5;
  margin-bottom: 0rem;
  border-left: 10px solid var(--kon);
  border-bottom: 1px solid #ccc;
}
.remark_sub_nfbm {
  margin-bottom: 1.5rem;
}

p.strong {
  font-weight: bold;
  font-size: 1.2rem;
  padding: 0.5rem 0rem;
  line-height: 1.7;
}

/*
FOOTER
================================================ */
.footer {
  background-color: var(--kon);
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  font-size: 0.875rem;
  color: var(--white);
}
.footer a {
  text-decoration: underline;
}

/*
ページTOPへ戻る
================================================ */
.pagetop {
  display: none;
  position: fixed;
  bottom: 7em;
  right: 15px;
}
.pagetop a {
  display: block;
  background-color: #ccc;
  text-align: center;
  color: #222;
  font-size: 1.6em;
  text-decoration: none;
  padding: 8px 15px;
  opacity: 0.5;
}
.pagetop a:hover {
  display: block;
  background-color: #b2d1fb;
  text-align: center;
  color: #fff;
  font-size: 1.6em;
  text-decoration: none;
  padding: 8px 15px;
  opacity: 0.5;
}

/*
DESKTOP SIZE
================================================ */
@media (min-width: 600px) {
  /* 文字サイズ調整 */
  body {
    font-size: 20px;
  }
  /* Common */
  h2 {
    font-size: 1.8rem;
  }
  .cnt_inr_pc {
    padding: 0 1.5rem;
  }
  /* Hero */
  #hero h1 span {
    display: inline;
  }
  #hero h1 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff;
    filter: drop-shadow(1px 1px 4px rgba(000, 000, 000, 1));
  }
  /* News */
  #news h2 {
    margin-bottom: 1.8rem;
  }

  /* Company */
  #company h2 {
    margin-bottom: 1.8rem;
  }

  /*テーブルタグ（company）*/
  .company_table th {
    padding: 1rem 1.5rem;
  }

  .company_table td {
    padding: 1rem 1.5rem;
  }

  /* Profile */
  #profile h2 {
    margin-bottom: 1.8rem;
  }

  #profile h2 span {
    display: inline;
  }

  /*右に画像*/
  .pc_right {
    float: right;
    margin: 0 0 20px 30px !important;
  }

  .box_kindle {
    margin-top: 50px;
  }
  .box_kindle h3 {
    font-size: 1.8rem;
  }
  .flex_kindle {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1.5rem 2.5rem 2rem;
  }
  .img_kindle {
    width: 22%;
    margin-bottom: 0rem;
  }
  .text_kindle {
    width: 75%;
  }
  .title_kindle {
    font-size: 2rem;
  }

  .version_kindle {
    width: 70%;
    font-size: 1rem;
    margin-bottom: 1rem;
  }

  .box_kindle span {
    display: inline;
  }

  /* Service */
  #service h2 {
    margin-bottom: 1.8rem;
  }
  #service h3 {
    font-size: 1.8rem;
  }
  .box_service {
    padding-bottom: 2.5rem;
    margin-bottom: 1.8rem;
  }
  .link_service {
    text-align: center;
    margin: 1.8rem 0 0.5rem;
  }
  #service h4 {
    font-size: 1.8rem;
  }

  .box_roll p span {
    display: inline;
  }

  /* Message */
  #message h2 {
    margin-bottom: 1.8rem;
  }

  /* Contact */
  #contact h2 {
    margin-bottom: 1.8rem;
  }

  #contact .email {
    font-size: 2rem;
  }

  #contact span {
    display: inline;
  }

  /* Details_Profile */
  .img_tokkyo {
    margin-top: 1rem;
    margin-bottom: 2.5rem;
  }

  /* Details_DX */
  .link_inquiry {
    font-size: 2rem;
    text-align: center;
    margin: 1rem 0 2rem;
  }

  /* Details_mail */
  #details_mail h2 {
    margin-bottom: 1.8rem;
  }

  #details_mail h3.reason_spam {
    font-size: 1.8rem;
  }

  .box_important_mail {
    width: 750px;
    margin: 0 auto;
    font-size: 1.8rem;
    margin-bottom: 5rem;
  }
  .box_receive,
  .box_send,
  .box_price {
    margin-bottom: 5rem;
  }

  #details_mail h3.sub_mail {
    font-size: 1.8rem;
  }

  .point_jyushin {
    font-size: 1.5rem;
  }

  #details_mail h4 {
    color: var(--red);
    font-weight: bold;
    font-size: 1.5rem;
    padding: 0.5rem 0rem;
    line-height: 1.5;
  }

  .box_price p {
    margin-bottom: 1rem;
  }

  /* Details_nfbm */
  #details_nfbm h2 {
    margin-bottom: 4rem;
  }

  #details_nfbm h2 span.pc_none {
    display: inline;
  }

  .img_nfbm {
    width: 80%;
    margin: 0 auto;
  }

  .box_nfbm {
    margin-bottom: 5rem;
  }
  #details_nfbm h3.sub_nfbm {
    font-size: 1.8rem;
  }
  .remark_sub_nfbm {
    margin-bottom: 1.5rem;
  }

  p.strong {
    font-size: 1.5rem;
    line-height: 2;
  }

  /* ページトップへ戻る */
  .pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
  }
  .pagetop a {
    display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 1.6em;
    text-decoration: none;
    padding: 15px 20px;
    opacity: 0.5;
  }
  .pagetop a:hover {
    display: block;
    background-color: #b2d1fb;
    text-align: center;
    color: #fff;
    font-size: 1.6em;
    text-decoration: none;
    padding: 15px 20px;
    opacity: 0.5;
  }
}
