/* Base styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
/* Variables block */
:root {
  /* Layouts */
  --full-width: 1400px;

  /* Colors */
  --white: #ffffff;
  --black: #000000;
  --grey: #b8b8b8;
  --primary-yellow: rgba(245, 207, 63, 1);
  --week-yellow: rgba(255, 252, 198, 0.58);
  --primary-blue: rgba(29, 32, 136, 1);
  --primary-orange: rgba(255, 98, 0, 1);
  --primary-red: #f5453f;
  --default-text: #000000;

  /* Breakpoints */
  --mobile: 375px;
  --tablet: 994px;
}
html {
  scroll-behavior: smooth;
}
body{
  scroll-padding-top:78px;
}
body,
main {
  width: 100%;
  height: fit-content;
  box-sizing: border-box;
  /* font-family: 'Shippori Mincho'; */
  font-family: "Noto Sans JP";
  margin: 0px;
  padding: 0px;
  position: relative;
}
main {
  max-width: 1440px;
  margin: auto;
  z-index: 10;
}
/* body.no-scroll{
    overflow: hidden;
} */
header,
footer,
section.container {
  width: 100%;
  height: fit-content;
  margin: 0px auto;
  box-sizing: border-box;
}
section .boxed-width,
header .boxed-width,
footer .boxed-width {
  width: 100%;
  max-width: 1440px;
  height: fit-content;
  margin: 0px auto;
  padding: 0 100px;
}
figcaption {
  display: none;
}

/* Utility clases  */
.flx-row {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.flx-col {
  display: flex;
  flex-direction: column;
}

/* Viewport Paddings */
section.container div.boxed-width,
footer.container div.boxed-width,
section.hero .hero-foreground {
  padding: 0px 80px;
  box-sizing: border-box;
}

@media (max-width: 996px) {
}
@media (max-width: 375px) {
  section.container div.boxed-width,
  footer.container div.boxed-width,
  section.hero .hero-foreground {
    padding: 0px 20px;
    box-sizing: border-box;
  }
}

/* <<<------------------------- Texts and font styles starts----------------------------->>>*/

h1,
h2,
h3,
h4,
h5,
h6,
span,
p,
a,
li {
  color: var(--default-text);
}

h1,
.h1 {
  line-height: 100%;
  font-weight: 400;
  font-size: 40px;
  text-decoration: none;
  letter-spacing: 0%;
  text-align: center;
}
h2,
.h2 {
  line-height: 100%;
  font-weight: 400;
  font-size: 28px;
  text-decoration: none;
  letter-spacing: 0%;
  text-align: center;
}
h3,
.h3 {
  line-height: 100%;
  font-weight: 400;
  font-size: 24px;
  text-decoration: none;
  letter-spacing: 0%;
  text-align: center;
}
h4,
.h4 {
  line-height: 100%;
  font-weight: 400;
  font-size: 20px;
  text-decoration: none;
  letter-spacing: 0%;
  text-align: center;
}
/* p {
  line-height: 32px;
} */
ul,
menu {
  list-style: none;
  margin: unset;
  padding: unset;
}
figure {
  margin: unset;
  display: flex;
  height: fit-content;
  width: fit-content;
}
li,
a {
  text-decoration: none;
  font-size: 20px;
}
small.md {
  font-size: 20px;
}
small.sm {
  font-size: 16px;
}
small.xs {
  font-size: 14px;
}
small.xxs {
  font-size: 12px;
}
img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Text responsive styles */
@media (max-width: 1100px) {
  h2 {
    line-height: 100%;
    font-weight: 400;
    font-size: 25px;
    text-decoration: none;
    margin: 0px;
  }
  h3 {
    line-height: 100%;
    font-weight: 400;
    font-size: 18px;
    text-decoration: none;
    margin: 0px;
  }
  h4,
  .h4 {
    line-height: 100%;
    font-weight: 400;
    font-size: 14px;
    text-decoration: none;
    margin: 0px;
  }
  .bold {
    line-height: 100%;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
  }
  .base-text {
    line-height: 100%;
    font-weight: 400;
    font-size: 14px;
    text-decoration: none;
  }
  li,
  a {
    text-decoration: none;
    font-size: 16px;
  }
  .vertical {
    line-height: 38px;
    font-size: 30px;
  }
  .vertical-20 {
    line-height: 17px;
    font-size: 14px;
  }
  .vertical-16 {
    line-height: 17px;
    font-size: 12x;
  }
  small.md {
    font-size: 16px !important;
  }
  small.sm {
    font-size: 14px !important;
  }
  small.xs {
    font-size: 12px !important;
  }
  small.xxs {
    font-size: 10px !important;
  }
}

/* <<<------------------------- Texts and font styles stops ----------------------------->>>*/

/* Font family blocks */
/*
@font-face {
  font-family: Noto Sans JP;
  src: url("/assets/fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-style: regular;
  font-weight: 400;
}
@font-face {
  font-family: Noto Sans JP;
  src: url("/assets/fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-style: regular;
  font-weight: 500;
}
@font-face {
  font-family: Noto Sans JP;
  src: url("/assets/fonts/NotoSansJP-Bold.woff2") format("woff2");
  font-style: regular;
  font-weight: 700;
}
*/

/* Primary button styles here  */
button {
  cursor: pointer;
}

button.btn-cta,
.btn-cta {
  width: fit-content;
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--primary-brown);
  border-radius: 9px;
  padding: 0px;
  border: 0px;
}
button.btn-cta a {
  font-weight: 400;
  font-size: 20px;
  color: var(--white);
}

button.btn-light,
.btn-light {
  width: fit-content;
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--white);
  border-radius: 9px;
  padding: 0px;
  border: 1px solid var(--black);
}
button.btn-light a {
  font-weight: 400;
  font-size: 20px;
  color: var(--black);
}
@media (max-width: 996px) {
  .above-footer-cta {
    width: 100%;
    max-width: 350px !important;
  }
  button.primary-btn {
    height: 60px;
  }
  .above-footer-cta h3 {
    font-size: 16px !important;
  }
  button.primary-btn a {
    font-size: 18px !important;
  }
  button.primary-btn svg {
    width: 12px;
    height: 12px;
  }
}
@media (max-width: 375px) {
  button.primary-btn a {
    font-size: 14px;
  }
}

.is-md-show {
  display: none;
}

@media (max-width: 768px) {
  .is-md-show {
    display: block;
  }
  .is-md-hide {
    display: none;
  }
}

.pagenation {
	margin-bottom:50px;
}
.pagenation ul {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
}
.pagenation li {
	color: #fff;
	margin: 0 5px;
	background: #1a1818;
}
.pagenation li.active {
	padding: 6px 16px;
}
.pagenation li a {
	transition: all .5s;
	display: block;
	color: #fff;
	background: #848484;
	padding: 6px 16px;
}
.pagenation li a:hover {
	background: #1a1818;
}
#pageNation a {
    transition: all .7s;
    display: block;
    width: 230px;
	margin: 0;
    padding: 15px 0;
	font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    color: #fff !important;
    border: solid 3px #1a1818;
    box-sizing: border-box;
    background: no-repeat 93% center #1a1818;
}
#pageNation a:hover {
	color: #1a1818 !important;
	background-color: #fff;
}

#pageNation {
	-js-display: flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items:center;
	margin: 50px 0 25px;
	clear: both;
}
#pageNation li {
	margin: 0 10px;
}
 #pageNation li a {
	display: block;
}
#main #entryBox .infoBox p a {
	transition: all .5s;
	text-decoration: underline;
}
#main #entryBox .infoBox p a:hover {
	color: #eb5313;
}
#entryBox h2 {
	margin-bottom:40px;
}
	#entryBox h3 {
		margin:30px 0;
text-align:left;
	line-height:1.5;
		    font-size: 20px;
    font-size: 1.6rem;
    margin-bottom: 30px;
    padding: 10px 10px 10px 15px;
    background: #fff2ed;
    border-left: 5px solid #eb5313;
	}
#entryBox p {
	margin-bottom:30px;
}
#entryBox .info {
    color: #ab68b6;
    border: solid 1px #ab68b6;
}

#entryBox .category {
    padding: 2px 12px;
    display: inline-block;
    font-size: 12px;
    font-size: 1.2rem;
    margin-right: 15px;
}
@media (max-width: 768px) {
	
#pageNation li {
	width: 32%;
	margin: 0 1.5%;
}
#pageNation li.prev {
	margin-left: 0;
}
 #pageNation li.next {
	margin-right: 0;
}
#pageNation li a {
	width: 100%;
	font-size: 13px;
	font-size: 1rem;
}
.pagenation ul {
}
.pagenation li.prev {
	margin-left: 0;
}
.pagenation li.next {
	margin-right: 0;
}
.pagenation li {
	margin: 0 0.8%;
}
pagenation li.active,  .pagenation li a {
	padding: 4px 11px;
	font-size: 12px;
	font-size: 1rem;
}
#entryBox h2 {
	display:block !important;
	text-align:left;
	line-height:1.5;
	}
	#entryBox h3 {
		margin:30px 0;
text-align:left;
	line-height:1.5;
	}
 #pageNation li {
	width: 32%;
	margin: 0 1.5%;
}
#pageNation li.prev {
	margin-left: 0;
}
#pageNation li.next {
	margin-right: 0;
}
#pageNation li a {
	width: 100%;
	font-size: 13px;
	font-size: 1rem;
}
.pagenation ul {
}
.pagenation li.prev {
	margin-left: 0;
}
.pagenation li.next {
	margin-right: 0;
}
.pagenation li {
	margin: 0 0.8%;
}
.pagenation li.active, .pagenation li a {
	padding: 4px 11px;
	font-size: 12px;
	font-size: 1rem;
}
 #main h2 {
	display: block;
}
 #main h2 .icon {
	display: block;
}
 #main h2 time {
	margin-top: 2%;
}
 #main h2 time {
	display: block;
	margin-top: 2%;
}
 #main #entryBox .infoBox img {
	display: block;
	float: none !important;
	max-width: 100%;
	height: auto;
}
}
.formBox.thanks  {
	padding-bottom:50px;
}
.formBox.thanks h3 {
	margin-bottom:30px;
}
.formBox.thanks p {
	margin-top:30px;
	text-align:center;
	line-height:1.7;
	margin-bottom:30px;
}


/* li : 基本テーブル
----------------------------------------------------*/

.faq-content table.tbl01 {
	width:100%;
	margin-bottom:50px;
	border-top:solid 1px #ebe59b;
	border-bottom:solid 1px #ebe59b;
}
.faq-content .tbl01 tr:nth-of-type(even) {
	background:#fffef0;
}
.faq-content .tbl01 thead th {
	color:#fff;
	background:#fdaf3a;
	border:none;
	padding:15px;
}
.faq-content .tbl01 th,
.faq-content .tbl01 td {
	padding:10px;
	border:none;
	border-bottom:solid 1px #ebe59b;
	box-sizing:border-box;
}
.faq-content .tbl01.tblCol3 td:last-of-type {
	width:80%;
}

.faq-content table.tbl01 .bg_sub {
	background: #fffef0;
}

.faq-content .tbl02 tr {
	background: none !important;
}
.faq-content .tbl02 td {
	border:solid 1px #ebe59b !important;
}

.faq-content .tablepress th,
.faq-content .tablepress td {
	padding: 15px 10px;
	border: none;
}
.faq-content .tablepress th {
	color: #fff;
	background: #fdaf3a;
}
..faq-content tablepress thead .column-1 {
	width: 33%;
}
..faq-content tablepress thead .column-2 {
	width: 33%;
}
.faq-content .tablepress thead .column-3 {
	width: 18%;
}
.faq-content .tablepress thead .column-4 {
	width: 16%;
}

.faq-content .tablepress thead th {
	text-align: center;
}
.faq-content .tablepress tbody tr:nth-of-type(even) {
	background: #fffef0;
}
.faq-content .tablepress tbody tr {
	border-bottom: solid 1px #ebe59b;
}
.faq-content .tablepress tbody .externalLink {
	color: #eb5313;
	text-decoration: underline;
}



.faq-content table {
	width:100%;
	margin:20px 0;
}
.faq-content table th {
	color:#fff;
	/*border: 1px solid #fff4e1;*/
	background:#fea218;
}
.faq-content .tbl01 tr {
	background: none;
}
.faq-content .tbl01 td {
	border-left: solid 1px #ebe59b;
	border-right: solid 1px #ebe59b;
}
.faq-content table th,
.faq-content table td {
	box-sizing:border-box;
	padding:15px;
}
.answerBox h3 {
	    font-size: 20px;
    font-size: 2.0rem;
    margin-bottom: 30px;
    padding: 10px 10px 10px 15px;
    background: #fff2ed;
	    margin-top: 20px;
    border-left: 5px solid #eb5313;
}
.mb20 {
    margin-bottom: 20px;
	    margin-top: 20px;
}
.checkList {
	margin-left:20px;
}
.checkList li {
	position: relative;
	padding-left: 1.5em;
}
.checkList li:before {
    color: #eb5313;
    content: "→";
    position: absolute;
	top: 0.3em;
	left: 0;
	font-size: 20px;
    line-height: 1;
}
@media screen and (max-width: 768px) {
.faq-content div.scroll {
	overflow-x: scroll;
	width: 100%;
}
.faq-content table {
	width: 250%;
	margin: 20px 0;
}
	.faq-content table.tbl01 {
		width:250%;
	}
	.faq-content .faq-item .a {
		display:none;
	}
	.faq-content .faq-item .a-content {
		width:100%;
	}
}

[id] {
  scroll-margin-top: 117px;
}