/*
Theme Name: Twenty Twenty-Three
Theme URI: https://wordpress.org/themes/twentytwentythree
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Three is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Requires at least: 6.1
Tested up to: 6.7
Requires PHP: 5.6
Version: 1.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentythree
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/


/* ========== Reset CSS ========== */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html{
  margin-top: 0!important;
}
html, body {
  height: 100%;
  font-family: sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}
ul, ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
a {
  text-decoration: none;
  color: inherit;
}
button, input, select, textarea {
  font: inherit;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  outline: none;
}
/* ========== Custom Font ========== */
@font-face {
  font-family: 'Shippori Mincho Medium';
  src: url('/wp-content/themes/twentytwentythree/fonts/ShipporiMincho-OTF-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}


main{
  margin-top: 0;
}
h1{
  font-size: 18px;
}
h2{
  font-size: 28px;
  margin-bottom: 20px;
}
h3{
  font-size: 22px;
  font-weight: bold;
}
p,
li{
  font-size: 16px;
}
body img {
	width: 100% !important;
	height: auto;
	display: block;
}
#header,
.sp_only {
  display: none;
}

/* TOPページ */
.nobox {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-out;
  transition-delay: var(--delay, 0s);
}

.nobox.visible {
  opacity: 1;
  transform: translateY(0);
}

.mbox,
.bg2{
  position: relative;
  overflow: hidden;
}
.mbox::before{
  content: "";
  display: block;
  width: 150px;
  height: 150px;
  background-image: url(images/bg1.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50px;
  left: 30px;
  z-index: -2;
}
.mbox::after{
  content: "";
  display: block;
  width: 280px;
  height: 280px;
  background-image: url(images/bg2.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: -48px;
  z-index: -2;
}
.bg2{
  position: absolute;
  width: 150px!important;
  right: 100px;
  bottom: 0;
}
.tbox{
  text-align: center;
}
.tbox h2 {
  position: relative;
  height: 105px; /* 高さは必要 */
  text-align: center; /* テキスト中央寄せ（必要なら） */
  line-height: 1;
  font-family: 'Shippori Mincho Medium', serif;
  font-weight: bold;
  color: #203c7a;
}
.tbox h2::before {
  content: "";
  display: block;
  width: 150px;
  height: 150px;
  background-image: url('images/bg5.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1; /* テキストの後ろに配置 */
}
.tbox h2 span{
  font-family: 'Cretina', sans-serif;
  display: block;
  color: #db5275;
  font-weight: bold;
  font-size: 50px;
  transform: rotate(-8deg);
    -moz-transform: rotate(-8deg);
    -webkit-transform: rotate(-8deg);
}
section.nobox{
  margin: 140px auto;
}
section.nobox .bg{
  text-align: center;
  padding-top: 40px;
}
section.nobox .img{
  width: 80%;
  margin: 0 auto;
}
section.nobox img{
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
  max-width: 1200px;
}

/* フッター */
/* フッターアイコンがフッターに重ならないようにする */
.icon.hide-at-footer {
  bottom: 60px; /* ← 浮き具合を調整（.iconが少し上に） */
}

/* フッター全体を縦並び＆中央寄せ */
.fbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* フッターテキスト部分 */
.fbox p.footer {
  width: 100%;
  background: #203c7a;
  padding: 20px 0;
  font-size: 12px;
  text-align: center;
  color: #fff;
  margin-bottom: 60px; /* ← .iconと重ならないように下に余白 */
}

/* トップへ戻るボタン */
.back-to-top {
  position: fixed;
  bottom: 120px;
  right: 30px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0.5s;
  z-index: 9999;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

.back-to-top img {
  width: 60px !important;
  height: auto;
  transition: opacity 0.3s ease;
}

.back-to-top img:hover {
  opacity: 0.8;
}

/* SNSアイコンナビ固定表示 */
.icon {
  position: fixed;
  bottom: 0;
  background: #ffffff78;
  width: 100%;
  font-size: 0;
  height: 50px;
  display: flex;
  z-index: 9999;
  transition: bottom 0.3s ease;
}

.icon li {
  display: inline-block;
  width: 20%;
}

.icon li a {
  display: inline-block;
  width: 100%;
}

.icon li img {
  width: 50px !important;
  margin: 0 auto;
}


.back-to-top img:hover {
  opacity: 0.8;
}


/* 各ページ */
.item h3{
  position: relative;
  padding-left: 25px;
  padding-top: 20px;
  margin-bottom: 20px;
  font-family: 'Shippori Mincho Medium', serif;
  font-weight: bold;
  color: #203c7a;
}
.item h3::before{
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background-image: url('images/bg3.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.item h3 .step{
  display: inline-block;
  text-align: center;
  line-height: 1;
}
.item h3 .smaill{
  font-size: 13px;
}
.item h4{
  font-family: 'Shippori Mincho Medium', serif;
  font-size: 20px;
  margin-bottom: 80px;
  color: #203c7a;
}
.item h4.sub{
  margin-bottom: 20px;
}
.item h5{
  margin-bottom: 20px;
  font-size: 18px;
}
.item h6{
  margin: 30px 0 10px;
  font-family: 'Shippori Mincho Medium', serif;
  font-size: 17px;
  font-weight: bold;
}
.star{
  margin-bottom: 20px;
  font-size: 16px;
}
.item {
  max-width: 1000px;
  width: 100%;
  margin: 80px auto 50px;
  padding: 0 20px;
}
.book{
  display: table;
  margin-bottom: 80px;
}
.book .pic{
  display: table-cell;
  width: 300px;
}
.book .pic img{
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
.book .txtbox{
  display: table-cell;
  vertical-align: middle;
  padding: 2%;
}
.book .txtbox a{
  display: block;
  border: 1px solid #203c7a;
  width: 300px;
  border-radius: 25px;
  text-align: center;
  color: #203c7a;
  padding: 10px 0;
  margin: 30px auto 0;
}
.book .txtbox a:hover{
  background: #203c7a;
  color: #fff;
}
.check img{
  width: 20px !important;
  display: inline;
}
.check img,
.point img,
.template img,
.one img{
  width: 25px !important;
  display: inline;
}
.list,
.list2{
  border: 2px dashed #203c7a;
  padding: 20px;
  margin: 20px;
}
.list li,
.list2 li{
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 5px;
}
.list li:last-child,
.list2 li:last-child{
  margin-bottom: 0;
}
.point,
.template{
  text-indent: -6em;
  padding-left: 6em;
  margin-bottom: 5px;
}
.one{
  position: relative;
  margin: 70px 20px 0;
  border: 2px dashed #203c7a;
  padding: 30px 20px 20px;
}
.one li.title{
  background-color: #f6f7fc;
  border-radius: 10px;
  padding: 5px;
  position: absolute;
  top: -20px;
  left: 10px;
  color: #203c7a;
}

@media screen and (max-width: 480px)  {
    h1{
      font-size: 16px;
    }
    h2{
      font-size: 20px;
      margin-bottom: 20px;
    }
    h3{
      font-size: 18px;
      font-weight: bold;
    }
    p,
    li{
      font-size: 14px;
    }
    .pc_only {
      display: none;
    }
    .sp_only {
      display: block;
    }

    /* TOPページ */
    .mbox::before{
      width: 70px;
      height: 70px;
      top: 20px;
      left: 10px;
    }
    .mbox::after{
      width: 160px;
      height: 160px;
      right: -30px;
    }
    section.nobox{
      margin: 100px auto;
    }
    section.nobox:last-child{
      margin-bottom: 80px;
    }
    section.nobox .img{
      width: 95%;
    }
    .tbox h2{
      height: 65px;
    }
    .tbox h2::before{
      width: 100px;
      height: 100px;
      top: -35px;
    }
    section.nobox .bg{
      padding-top: 30px;
    }


    /* 各ページ */
    .txt{
      padding: 0 2%;
      width: 96%;
      margin: 0 auto;
    }
    .item:first-child{
      margin: 100px auto 0;
    }
    .item{
      padding: 0 2%;
      margin: 50px auto 0;
    }
    .last{
      margin-bottom: 90px;
    }
    .item h4{
      font-size: 16px;
      margin-bottom: 40px;
    }
    .item h5,
    .star{
      margin-bottom: 10px;
      text-align: center;
    }
    .book{
      display: block;
      margin: 0 auto 60px;
    }
    .book .pic{
      display: block;
      margin: 0 auto;
    }
    .book img{
      display: block;
      margin-bottom: 20px;
    }
    .book .txtbox{
      display: block;
      width: 100%;
    }
    .bg2{
      position: absolute;
      width: 100px!important;
      right: -30px;
      bottom: 0;
    }
    .one{
      margin-top: 40px;
    }

    /* フッター */
    .fbox p{
      font-size: 10px;
      padding: 10px 2%;
    }
    .back-to-top {
      bottom: 70px;
      right: 10px;
    }
    .icon{
      height: 60px;
    }
    .icon li a{
      padding-bottom: 10px;
    }
}