@charset "UTF-8"; /* 文字コード宣言 */

/* ::::: body ::::: */
body { 
  font-family: 'メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,"ＭＳ Ｐゴシック",sans-serif';
  font-size: 100%;
  color:#000000;
  line-height:1.4;
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px;
 /* background: #f0f8ff;*/
  -webkit-print-color-adjust: exact; 
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.mainimg {
  max-width: 1000px;
  margin:30px auto 0px auto;
  padding: 0px;
}

/* ::::: header ::::: */
header {
  font-size: 110%;
  position: sticky; 
  top: 0;
  width: 100%;
  height: 50px;
  background: #2589d0;
  color:#fff;
  margin-top: 0px;
  padding: 0px;
  z-index: 10;
}

header .left {
  padding-top: 10px;
  padding-left: 30px;
  float: left;
  width: 70%;
}
header .right {
  width: 30%;
  text-align: right;
  float: left;
 }

a.btn_inquiry {
  display: inline-block;
  height: 50px;
  padding: 1rem 3rem;
  text-decoration: none;
  text-align: center;
  color: #000;
  font-weight: bold;
  background-color: #ffff00;
  transition: 0.5s;
}
a.btn_inquiry:hover {
  background-color: #afeeee;
}

/* ::::: main ::::: */
#content {
  max-width: 1100px;
  margin:20px auto 0px auto;
  padding:0px;
}

.comic {
  max-width: 1000px;
  border: 3px solid #000;
  margin: 5px auto;
}

.icon {
  padding-top: 13px;
  margin-right: 5px;
  float: left;
}

.subtitle {
  float: left;
  padding-top: 0px;
}
 
.imagine {margin: 40px 50px;}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.clr { clear: both; }

h1 {
  position: relative;
  padding: 1rem 2rem calc(1rem + 10px);
  background: #fff100;
  font-size: 28px;
}


h1:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 4px solid #000;
}

.heading-21 {
    position: relative;
    padding: .5em .7em .4em;
    border-bottom: 3px solid #2589d0;
    color: #333333;
}

.heading-21::before,
.heading-21::after {
    position: absolute;
    left: 30px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.heading-21::before {
    background-color: #2589d0;
}

.heading-21::after {
    bottom: -11px;
    background-color: #fff;
}

/* ::::: お問い合わせ ::::: */
.inquiry {
  max-width: 1100px;
  margin:100px auto 30px;
  text-align: center;
}

.inquiry p {
  font-size: 140%;
  font-weight: bold;
}

.button-14,
.button-14 span {
    display: flex;
    justify-content: center;
    align-items: center;
}

.button-14 {
    position: relative;
    width: 250px;
    margin: 0 auto;
    padding: 0;
    border-radius: 5px;
    border: none;
    font-size: 1em;
}

.button-14::before {
    position: absolute;
    top: 7px;
    z-index: -1;
    width: 100%;
    height: 100%;
    border: 2px solid #000;
    border-radius: inherit;
    box-sizing: inherit;
    box-shadow: 0 5px 0 0 rgba(0, 0, 0, .2);
    background-color: #cfcf00;
    content: '';
}

.button-14 span {
    width: 100%;
    padding: .9em 2em;
    border: 2px solid #000;
    border-radius: inherit;
    background-color: #ffff00;
    color: #000;
    font-weight: 600;
    line-height: 1.5;
}

.button-14 span::after {
    display: inline-block;
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    margin-left: 10px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    content: '';
}

.button-14:hover::before {
    transition: box-shadow .2s;
    box-shadow: 0 3px 0 0 rgba(0, 0, 0, .2);
}

.button-14:hover span {
    transition: transform .2s;
    transform: translateY(2px);
}

.button-14 a { 
  text-decoration: none;
  color:#000000;
}

/* ::::: トップページへ戻るボタン ::::: */
html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    box-shadow: 0 4px 6px rgb(0 0 0 / 30%);
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}

@media (hover: hover) and (pointer: fine) {
    .pagetop:hover, .pagetop:hover .pagetop__arrow {
        border-color: #3293e7;
    }
}

/* ::::: footer ::::: */
#footer {
  position: relative;
  margin-top: 40px;
  color: #fff;
}
#footer a,
header a {
  text-decoration: none;
  color: #fff;
}

#footer a:hover,header a:hover {
  text-decoration: underline;
}
#footer .primary {
  padding: 40px 20px;
  background: #2589d0;
  text-align: center
}
#footer .secondary {
  display: flex;
  padding: 40px 20px;
  background: #222;
}

/* footer-logo */

#footer .logo {
  position: relative;
  padding: 0;
  margin: 0;
  width: 100%;
  font-size: 26px;
  font-weight: bold;
}

/* address */

.address {
  margin: 10px 0 0;
  padding: 0;
}

/* navi */

.navi-row {
  display: flex;
  margin-top: 40px;
}
#footer .navi {
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .navi li {
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0;
}
#footer .navi li:first-child {
  margin-left: 0;
}

/* sns-navi */

#footer .sns-navi {
  margin: 0 0 0 auto;
  padding: 0;
}
#footer .sns-navi li {
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0;
  font-size: 20px;
}
#footer .sns-navi li:last-child {
  margin-right: 0;
}

  #footer .sns-navi {
    margin: 20px 0 0;
    padding: 0;
  }
  #footer .sns-navi li {
    margin: 0 20px 0 0;
    padding: 0;
    font-size: 18px;
  }

/* sitenavi */

#footer .sitenavi {
  width: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .sitenavi li {
  display: inline-block;
  margin: 0 0 0 20px;
  padding: 0;
}
#footer .sitenavi li:first-child {
  margin-left: 0;
}

  #footer .sitenavi {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }

/* copyright */

#footer .copyright {
  width: 50%;
  margin: 0;
  padding: 0;
  text-align: right;
}

  #footer .copyright {
    width: 100%;
    margin: 20px 0 0;
    text-align: center;
    font-size: 12px;
  }

/* ::::: マージン ::::: */  
.mar_auto {margin: auto;}
.mart0  {margin-top: 0px} 
.mart50 {margin-top: 50px}
.marl10 {margin-left: 10px;}


/* 959px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 959px) {
.resbox { 
  width: 90%;
  margin: 0px auto;
}

a.btn_inquiry { padding: 1rem; }
 
}

/* 767px以下に適用されるCSS */
@media screen and (max-width: 767px) {

 h1 { font-size: 22px; }
 
 h2 { font-size: 20px; }
 
.right { font-size: 70%; }

  #footer .primary {
    padding: 20px 20px;
    background: #2589d0;
  }
  #footer .secondary {
    display: block;
    padding: 20px 20px;
  }
  
  #footer .logo {
    font-size: 16px;
  }

  .address {
    font-size: 12px;
  }
  
  .navi-row {
    display: block;
    margin-top: 15px;
  }
  
  #footer .navi {
    font-size: 12px;
  }
  
  #footer .navi li {
    margin-top: 5px;
    font-size: 12px;
  }
}

/* 480px以下に適用されるCSS（スマホ用） */
@media screen and (max-width: 480px) {
.icon { width:10%; }

.subtitle { width: 80%; }

h3 { font-size: 16px; }

.resmar5 { margin-left: 0px; }


}

/*スマホを横向きにするとフォントサイズが拡大されてしまうことを回避*/
body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/*iOSフォーム要素の初期化*/
input, button, textarea, select {
  -webkit-appearance: none;
  appearance: none;
}

