/*------------------------------
theme name: totobase-new
version: 20250624
author: vividcreation
------------------------------*/
@import"base.css";

/* reset */
@charset "utf-8";
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,em,img,small,strong,b,i,dl,dt,dd,ol,ul,li,form,label,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
body {line-height:1;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
nav ul {list-style:none;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
table {border-collapse:collapse;border-spacing:0;}
hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select, textarea {vertical-align:middle;margin:0;padding:0;border:0;font-size:100%;background:transparent;}
*, *::before, *::after {box-sizing:border-box;}
input[type="submit"],input[type="button"] {-webkit-appearance:none;appearance:none;}
* {outline: none;}
::selection {background: #333; color: #fff;}

/* basics */
html {overflow-x: hidden;}
.left {text-align: left!important;}
.right {text-align: right!important;}
.center {text-align: center!important;}
.fleft {float: left;}
.fright {float: right;}
.inline-block {display: inline-block;}
.bold {font-weight: bold;}
.fs12 {font-size: 12px!important;}
.fs15 {font-size: 15px!important;}
.fs16 {font-size: 16px!important;}
.fs17 {font-size: 17px!important;}
.fs18 {font-size: 18px!important;}
.fs19 {font-size: 19px!important;}
.fs50 {font-size: 50px!important;}
.fs60 {font-size: 60px!important;}
.sm {font-size: 0.8em;}
.lg {font-size: 1.2em;}
.lh15 {line-height: 1.5!important;}
.lh2 {line-height: 2!important;}
.ls03 {letter-spacing: .03em!important;}
.ls05 {letter-spacing: .05em!important;}
.ls1 {letter-spacing: .1em!important;}
.ls2 {letter-spacing: .2em!important;}
.mt0 {margin-top: 0!important;}
.mt30 {margin-top: 30px!important;}
.mt60 {margin-top: 60px!important;}
.mt90 {margin-top: 90px!important;}
.mt200 {margin-top: 200px!important;}
.p90 {padding-top: 90px!important; padding-bottom: 90px!important;}
.p200 {padding-top: 200px!important; padding-bottom: 200px!important;}
.col-center, .col-2, .col-1-2, .col-2-1 {display: grid; grid-template-columns: 100%; grid-gap: 30px; margin-top: 30px; align-items: start;}
.ml-90 {margin:0 0 0; z-index:1}
.mr-90 {margin:0 0 0; z-index:1}
@media (min-width: 768px) {.col-center {grid-template-columns: 708px; justify-content: center;} .col-2,.col-1-2,.col-2-1 {grid-template-columns: repeat(2, 1fr); grid-gap: 60px; margin-top: 60px;} .order-1 {order: 1;} .order-2 {order: 2;} .ml-90 {margin:0 0 0 -90px;} .mr-90 {margin:0 -90px 0 0;}}
@media (min-width: 992px) {.col-2 {grid-template-columns: repeat(2, 1fr);} .col-1-2 {grid-template-columns: 1fr 2fr;} .col-2-1 {grid-template-columns: 2fr 1fr;}}
ul {margin: 0; padding: 0;}

/* settings */
body {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  background: #fff;
  color: #333;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
  font-family: 'Helvetica Neue', YuGothic, 'Yu Gothic', 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'Hiragino Sans', 'ヒラギノ角ゴシック', Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body {
  animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  backface-visibility: hidden;
  transition: .3s;
}
a img:hover {
  opacity: .7;
}

p {
  margin-top: 30px;
}
p:first-child {
  margin: 0;
}
h1,
h2,
h3,
h4 {
  line-height: 2;
  margin-top: 30px;
  font-weight: 400;
  letter-spacing: .15em;
}
h1 {
  font-size: 24px;
}
h2 {
  font-size: 20px;
  font-weight: 600;
}
h3, h4 {
  font-size: 15px;
}
.lead {
	font-size: 15px;
}
a {
  transition: .3s;
}
a,
a:hover,
a:focus,
a:active,
a.active {
  color: #333;
  text-decoration: none;
}
p a {
  border-bottom: 1px solid;
}
p a:hover {
  color: rgba(51, 51, 51, .5);
}
a span {
  color: #333;
  font-size: 18px;
  letter-spacing: .2em;
  padding-bottom: 10px;
  border-bottom: 1px solid #333;
}

.btn {
  display: inline-block;
  min-width: 250px;
  height: 60px;
  text-align: center;
  letter-spacing: .2em;
  color: #333;
  border: 1px solid #333;
  border-radius: 0;
  padding: 15px;
  margin-top: 30px;
  position: relative;
  transition: all .3s;
}
.btn::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 0%;
  height: 100%;
  top: 0;
  left: 0;
  background: #f9f9f6;
  transition: all .3s;
}
.btn:hover,
.btn:active {
  color: #333;
}
.btn:hover::after,
.btn:active::after {
  width: 100%;
}

table {
  margin-top: 30px;
  width: 100%;
  text-align: center;
}
table tr {
  border-bottom: 1px solid #ddd;
}
table tr:first-child {
  border-top: 1px solid #ddd;
}
table td {
  padding: 15px;
  vertical-align: top;
}
table td:first-child {
  white-space: nowrap;
}
table.news {
  text-align: left;
}
table.news tr,
table.news td {
  border: none;
  padding: 20px 10px;
  border-bottom: 1px solid #ddd;
}
table.news tr:first-child {
  border-top: 1px solid #ddd;
}
table.news td:first-child {
  width: 120px;
}

#lift {
  position: fixed;
  bottom: -30px;
  right: 20px;
  transition: .5s;
}
#lift.lift-on {
  bottom: 30px;
}
#lift>a {
  background: transparent;
  display: block;
  width: 26px;
  height: 26px;
  text-decoration: none;
  transition: .3s;
}
#lift>a:hover {
  opacity: .5;
}

.embed {
  position: relative;
  width: 100%;
  padding-top: 480px;
  margin-top: 60px;
}
.embed iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  filter: grayscale(0.6);
  -webkit-filter: grayscale(0.6);
}

.bg-color {
  background: #f9f9f6;
}

header {
  position: fixed;
  display: table;
  width: 100%;
  height: 100px;
  background: #fff;
  z-index: 10;
  transition: .5s;
}
header h1,
header nav {
  display: table-cell;
  margin: 0;
  font-weight: bold;
}
header h1 img {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  height: 60px;
  transition: .5s;
}

header .ig {
  display: none;
  text-align: right;
}
header .ig img {
  width: 24px;
  height: 24px;
  margin-top: 30px;
}
header .ig.sp {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  text-align: center;
}
header .ig.sp img {
  width: 28px;
  height: 28px;
  margin-top: 60px;
}

header nav ul {
  position: absolute;
  top: 40px;
  right: 0px;
}
header nav ul li {
  padding: 0 0 0 20px;
  display: inline-block;
  line-height: 1;
}
#nav-toggle {
  display: none;
}
@media screen and (max-width:767px) {
  header nav {
    visibility: hidden;
    position: fixed;
    overflow: scroll;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  html.open {
    overflow: hidden;
  }
  .open nav {
    visibility: visible;
    opacity: 1;
  }
  header nav ul {
    width: 100%;
    top: 50%;
    left: 50%;
    text-align: center;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  header nav ul li {
    font-size: 16px;
    line-height: 1;
    padding: 15px 0;
    display: block;
  }
  header nav ul div.sp img {
    width: 80px;
    height: auto;
    margin-bottom: 20px;
  }
  #nav-toggle {
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 35px;
    right: 0px;
    z-index: 100;
    cursor: pointer;
  }
  #nav-toggle div {
    position: relative;
  }
  #nav-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    background: #333;
    position: absolute;
    left: 0;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  #nav-toggle span:nth-child(1) {
    top: 5px;
  }
  #nav-toggle span:nth-child(2) {
    top: 14px;
  }
  #nav-toggle span:nth-child(3) {
    top: 23px;
  }
  .open #nav-toggle span:nth-child(1) {
    top: 14px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .open #nav-toggle span:nth-child(2) {
    opacity: 0;
  }
  .open #nav-toggle span:nth-child(3) {
    top: 14px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

header nav ul li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
header nav ul li a::after {
  position: absolute;
  top: 20px;
  left: -1px;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
header nav ul li a:hover::after {
  transform-origin: center top;
  transform: scale(1, 1);
}
header nav ul li a.current::after {
  transform-origin: center top;
  transform: scale(1, 1);
}

#cover {
  position: relative;
}
#cover img {
  width: 100%;
  height: 75vh;
  object-fit: cover;
}
#cover .copy {
  text-shadow: 0px 0px 30px #666;
  padding: 30px 15px;
  margin: 0;
  font-size: 18px;
  letter-spacing: .2em;
  line-height: 1.7;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
}

section {
  max-width: 1500px;
  margin: 150px auto 0;
}
section#home {
  margin: 100px auto 0;
}

#footer {
  text-align: center;
  font-size: 13px;
  color: #333;
  background: #f9f9f6;
  padding: 60px 0;
  margin-top: 120px;
}
#footer ul li {
  display: inline;
  line-height: 1;
  padding: 0 0 0 15px;
}
#footer ul li img {
  width: auto;
  height: 20px;
  vertical-align: text-bottom;
}
#footer img {
  width: 24px;
  height: 24px;
}

#footer .icon {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 30px;
}

@media (min-width: 768px) {
  body {
    font-size: 15px;
  }
  h2 {
    font-size: 22px;
  }
  h3, h4 {
    font-size: 16px;
  }
  .lead {
		font-size: 16px;
	}
  header {
    position: relative;
    display: block;
    height: 180px;
    width: 100%;
  }
  header h1,
  header nav {
    display: block;
    width: 100%;
  }
  header h1 img {
    width: auto;
    height: 80px;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
  }
  header nav ul {
    width: 100%;
    text-align: center;
    top: 130px;
    transition: .5s;
  }
  header nav ul li {
    padding: 0 15px;
    display: inline-block;
    line-height: 1;
  }
  header nav ul li a {
    vertical-align: middle;
    font-size: 14px;
  }
  #cover img {
    height: 100vh;
  }
  #cover .copy {
    font-size: 26px;
  }
  section {
    margin: 90px auto 0;
  }
  section#home {
    margin: 0 auto 0;
  }
  .br1 {
		border-right: 1px solid #333;
		margin-right: -30px;
	}
}
@media (min-width: 992px) {
  header .ig {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 15px;
  }
}

.delighter {
  transition: all .8s ease-out;
  transform: translateY(30px);
  opacity: 0;
}
.delighter.started {
  transform: none;
  opacity: 1;
}

.container {
  width: 85%;
  margin: 0 auto;
  position: relative;
}
@media (min-width: 768px) {
  .container {
    width: 708px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 932px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1140px;
  }
}

@media (max-width: 991px) {
  .pc {
    display: none !important
  }
  .sp-center {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .sp {
    display: none !important
  }
  .sp-center {
    text-align: left;
  }
}

.post-link {
  margin-top: 60px;
  display: inline-block;
  width: 100%;
}
#the_posts_pagination nav {
  display: inline-block;
}
.pagination h2.screen-reader-text {
  display: none;
}
.page-numbers {
  margin: 0 5px;
}

.navigation{
  margin-top: 40px;
}

.navigation .nav-links{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}