/****font-family****/
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&family=Train+One&family=Zen+Kaku+Gothic+New:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Contrail+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fugaz+One&display=swap');

html {
font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
html {
  scroll-behavior: smooth;
}
code,
kbd,
pre,
samp {
font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 1em;
}
button,
input,
select,
textarea {
  color: #404040;
font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1.5;
}
pre {
  background: #eee;
font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}
code,
kbd,
tt,
var {
font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 15px;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  line-height: 24px;
font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  color: #8c979e;
  overflow-x: hidden;
  font-weight: 400;
}

.image-bg a:hover, .image-bg a:focus {
    opacity: 0.7;
}

h2.wp-block-heading {
  font-weight: 500;
  font-size: 22px;
  line-height: 20px;
	margin-bottom: 0;
}
p, span {
    font-weight: 400;
    font-size: 16px;
    color: #0e1016;
    line-height: 28px;
}


br {
  display: inherit !important;
}

a, .image-bg a, .contact-section .social-icons li a, a:visited, .footer .footer-credits a, .post-content .post-meta li a, .post-content .shapely-category a, .module.widget-handle i {
//    color: #fff;
}
a:hover {
    opacity: 0.7;
}


/*メニュー*/
.main-navigation .menu li a {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
    letter-spacing: 0px;
    color: #001c28;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    max-width: 100%;
    white-space: normal;
}
@media (min-width: 992px) {
    .nav-container .container {
        width: 1120px;
    }
}
.main-navigation .menu > li {
    margin-right: 18px;
}

.menu-sns img {
    width: 20px;
}
.module.left.site-title-container {
    padding-right: 0;
}

/*見出し*/
.heading03 {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.heading03::before,
.heading03::after {
	content: '';
	width: 70px;
	height: 2px;
	background-color: #2271b1;
}

.heading03::before {
	margin-right: 20px;
}
.heading03::after {
	margin-left: 20px;
}

.heading04 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 26px;
	text-align: center;
}

.heading04::before,
.heading04::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #337ab7;
}

.heading04::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.heading04::after {
	margin-left: 30px;
	transform: rotate(35deg)
}

.heading04-s {
    display: flex;
    justify-content: left;
    align-items: center;
    font-size: 15px;
    text-align: left;
	  font-weight: bold;
	  color: #337ab7;
	  margin-bottom: 7px !important;
}
.heading04-s::before {
    margin-right: 15px;
    transform: rotate(-25deg);
}
.heading04-s::after {
    margin-left: 15px;
    transform: rotate(25deg);
}
.heading04-s::before, .heading04-s::after {
    content: '';
    width: 2px;
    height: 20px;
    background-color: #337ab7;
}



.heading12 {
	position: relative;
	font-size: 26px;
}

.heading12::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 20px;
	color: #498ee0;
	font-size: 30px;
	border-bottom: 1px solid #498ee0;
}

.heading13 {
	position: relative;
	font-size: 26px;
	line-height: 1;
}

.heading13::before {
  content: attr(data-number);
  display: block;
  color: #fff;
  font-size: 40px;
  font-family: "Fugaz One", "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  line-height: 1.5;
	opacity: 0.5;
}

.heading13::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 1px;
	background-color: #fff;
	opacity: 1;
}

.heading-hukidashi {
    position: relative;
    padding: .5em 1em;
    border-radius: 15px;
    background-color: #337ab7;
    color: #fff;
}

.heading-hukidashi::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 30px;
    width: 0;
    height: 0;
    border: 11px solid transparent;
    border-top: 11px solid #337ab7;
}

.course h3.heading-hukidashi {
	font-size: 18px;
}


.heading-nb {
    display: inline-block;
    justify-content: start;
    align-items: center;
    position: relative;
    padding: .35em .7em;
    overflow: hidden;
    border: 2px solid #337ab7;
    border-radius: 5px;
    color: #337ab7;
	padding-right: 30px;
}
.heading-nb:before {
    position: absolute;
    top: -50%;
    left: -30px;
    z-index: -1;
    transform: rotate(25deg);
    width: 85px;
    height: 200%;
    background-color: #337ab7;
    content: '';
}
.heading-nb span {
    margin-right: 2em;
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 2px;
}
h3.heading-nb {
    font-size: 18px !important;
}

.ttl_background9 {
  background: -webkit-linear-gradient(#89cac7 50%, #6ab4ba 50%);
  background: linear-gradient(#89cac7 50%, #6ab4ba 50%));
  color: #fff;
  padding: 0.3em 0.5em;
	padding-left: 20px;
}

.course h4.ttl_background9 {
	font-weight: bold;
	padding: 0.3em 0 0.3em 1em;
}

.heading-31 {
    position: relative;
    padding: .3em 0 .2em 1em;
    border-bottom: 2px dotted #337ab7;
    color: #333333;
}
.course h4.heading-31 {
	    padding: .3em 0 .2em 1em !important;
	margin-bottom: 15px;
}
.heading-31::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: #337ab7;
    content: '';
}
.heading-31::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 8px;
    width: 8px;
    background: #337ab7;
    content: '';
}


/**** top ****/
.image-bg h1 {
    color: #2271b1;
	  font-size: 56px;
		font-family: "Contrail One", "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.image-bg h3 {
    color: #2271b1;
    font-size: 40px;
}

.cfa-text {
    margin-bottom: 0;
    line-height: 45px;
    text-align: left;
    font-size: 22px;
}
#shapely_home_parallax-2 .mb32 {
    margin-bottom: 0;
}
.mb32 p {
    color: #000;
    margin-bottom: 38px;
    font-size: 16px;
	font-weight: 500;
	text-align: center;
}
#shapely_home_parallax-2 .mb32 p {
    color: #2271b1 !important;
    margin-bottom: 0px;
    font-size: 18px;
	font-weight: 600;
}

img.top-logo {
    margin-top: 30px;
    width: 195px;
}

div#block-38 {
    margin-top: -80px;
}
div#block-33 {
    margin-top: -25px;
    background: #fff;
}
div#block-33 h2 {
    padding-top: 50px;
}

@media (max-width: 991px) {
	div#block-38 {
    margin-top: -30px;
}
div#block-33 {
    margin-top: 0px;
    background: #fff;
}
div#block-33 h2 {
    padding-top: 50px;
}
}
@media (max-width: 768px) {
.image-bg h1 {
	font-size: 38px;
	margin-bottom: 10px;
	}
#shapely_home_parallax-2 .mb32 p {
    font-size: 16px;
}
}


/*お知らせ*/
.wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-2.wp-block-columns-is-layout-flex {
    width: 100%;
    text-align: center;
    padding-top: 2px;
}

.top-news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;
}
.top-news-list .tnl-item .tnl-item-box{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #222;
  border-bottom: 1px dashed #337ab75e;
  padding: 15px 20px;
}
.top-news-list .tnl-item:first-child .tnl-item-box{
//  border-top: 1px dashed #337ab7;
}
.top-news-list .tnl-item .tnl-date{
  margin: 0;
  min-width: 110px;
  font-size: 16px;
  color: #222;
  padding: 0 20px 0 0;
}
.top-news-list .tnl-item .tnl-category{
  margin: 0;
  min-width: 130px;
  padding: 0 20px 0 0;
}
.top-news-list .tnl-item .tnl-category span{
  background: #337ab7;
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 3px 10px;
  font-size: 11px;
  line-height: 1;
	font-weight: 500;
}
.top-news-list .tnl-item .tnl-title{
  margin: 0;
  width: 100%;
	font-size: 15px;
}
.top-news-list .tnl-item a:hover .tnl-title{
  color: #00F;
}

@media screen and (max-width: 767px){
.top-news-list .tnl-item .tnl-item-box{
  flex-wrap: wrap;
}
.top-news-list .tnl-item .tnl-date{
  min-width: 85px;
}
.top-news-list .tnl-item .tnl-title{
  margin-top: 10px;
}
}


/*コース*/
.p0 .top-parallax-section {
	padding: 80px 0 38px 0 !important;
}
.p0 h1 {
    color: #fff;
    font-weight: 500;
    font-size: 32px;
    line-height: 1;
    border-bottom: 2px solid #fff;
    display: inline-block;
    padding: 0 0 5px;
    margin-bottom: 40px;
}
.p0 .mb32 p {
    color: #fff !important;
    margin-bottom: 38px;
    font-size: 24px;
	font-weight: 500;
}

.p0 .btn.btn-filled {
    background: #fff !important;
    color: #337ab7;
    border: #fff !important;
    font-size: 16px;
	 border-radius: 10px;
}
.p0 .btn.btn-filled:hover {
	color: #337ab7;
}

#shapely_home_cfa-2 .bg-secondary  {
    background: #fff;
    padding: 50px 0 0px 0 !important;
}

.pb0 {
    padding-bottom: 80px !important;
    background: #ffffff;
}

div#block-36, div#block-31, div#block-28, div#block-29, div#block-41 {
    background: #337ab7;
}
div#block-36 h2, div#block-31 h2, div#block-28 h2, div#block-29 h2, div#block-41 h2 {
    color: #fff;
    font-weight: 500;
    font-size: 24px;
    line-height: 25px;
    margin-bottom: 50px;
}
div#block-36 h3, div#block-31 h3, div#block-28 h3, div#block-29 h3, div#block-41 h3 {
    font-size: 18px !important;
    color: #337ab7 !important;
    font-weight: 500 !important;
    line-height: 22px;
    margin: 40px 10px;
    letter-spacing: 0em;
}

div#block-31 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-5.wp-block-columns-is-layout-flex {
    margin-bottom: 0 !important;
    padding-bottom: 50px;
}

div#block-28 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-7.wp-block-columns-is-layout-flex {
    margin-bottom: 0 !important;
    padding-bottom: 50px;
}

div#block-29 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-11.wp-block-columns-is-layout-flex {
    margin-bottom: 0 !important;
    padding-bottom: 50px;
}

div#block-41 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-13.wp-block-columns-is-layout-flex {
	margin-bottom: 0px !important;
	padding-bottom: 50px;
}
div#block-41 {
    padding-bottom: 40px;
}

.c-btn,
a.c-btn,
button.c-btn {
//  font-size: 1.6rem;
//  font-weight: 700;
//  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 1.5rem;
}

a.c-btn-border-shadow {
    padding: calc(1.5rem - 12px) 3rem 1.5rem;
    background: #fff;
    display: block;
    margin: 0 15px;
}
a.c-btn-border-shadow:before {
  position: absolute;
  top: -6px;
  left: -6px;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 3px solid #E7B818;
  border-radius: 1.5rem;
}
a.c-btn-border-shadow:hover {
  padding: calc(1.5rem - 6px) 3rem;
}
a.c-btn-border-shadow:hover:before {
  top: 0;
  left: 0;
}

@media (max-width: 768px) {
div#block-31 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-5.wp-block-columns-is-layout-flex,
div#block-31 .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-4.wp-block-columns-is-layout-flex	{
    margin-bottom: 0 !important;
    padding-bottom: 0px;
}

div#block-28 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-7.wp-block-columns-is-layout-flex {
    margin-bottom: 0 !important;
    padding-bottom: 0px;
}

div#block-29 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-11.wp-block-columns-is-layout-flex {
    margin-bottom: 0 !important;
    padding-bottom: 0px;
}

div#block-41 .wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-13.wp-block-columns-is-layout-flex {
    margin-bottom: 0px !important;
    padding-bottom: 50px;
}
}


/*ツアー*/
#shapely_home_parallax-3 .container {
	background: #fff;
	padding: 0
}
#shapely_home_parallax-3 .mb32 {
	padding: 0 0px 0 30px;
}
#shapely_home_parallax-3 h3 {
  position: relative;
  display: inline-block;
  margin: 1rem 0 4rem -10px;
  padding: 1rem 5rem 1rem 3.5rem;
  color: #fff;
  border-radius: 0 100vh 100vh 0;
  background: #0075a9;
  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
  box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
	font-weight: 500;
	font-size: 25px;
}
#shapely_home_parallax-3 h3:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 0;
  height: 0;
  content: '';
  border-top: 10px solid #005276;
  border-left: 10px solid transparent;
}
@media (min-width: 786px) {
div#shapely_home_parallax-3 .container {
    width: 94%;
}
div#shapely_home_parallax-3 .col-md-4.col-sm-5.mb-xs-24 {
    width: 54%;
}
div#shapely_home_parallax-3 .col-md-7.col-md-offset-1.col-sm-6.col-sm-offset-1.text-center {
    padding-left: 0 !important;
    margin-left: 20px;
    width: 43%;
}
}
div#shapely_home_parallax-3 h4 {
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 500 !important;
    border-bottom: dotted #337ab7;
    padding-bottom: 5px;
    color: #337ab7;
}

/*ツアー元ウィジェット 非表示*/
#shapely_home_parallax-3 {
    display: none;
}

/*new ツアー*/
div#block-45 {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 25px;
}

.tour-img-box :where(.wp-block-columns.is-layout-flex) {
    gap: 1em !important;
    row-gap: 1em !important;
    column-gap: 1em !important;
}
.tour-img-box figure {
    padding: 3px;
}

.tour-box h4 {
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: 500 !important;
    border-bottom: dotted #337ab7;
    padding-bottom: 5px;
    color: #337ab7;
}
.tour-box p {
    color: #000;
    margin-bottom: 38px;
    font-size: 16px;
    font-weight: 500;
}



@media (min-width: 782px) {
.wp-block-column.tour-img-box.is-layout-flow.wp-block-column-is-layout-flow {
    margin-left: 30px;
}
}


/*フラフィーについて*/
#shapely_home_contact-2 h1 {
    font-size: 35px;
    font-weight: 500;
	  font-family: "Zen Kaku Gothic New", "sk-modernist", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
#shapely_home_contact-2 p {
	color: #337ab7;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.8;
	margin-bottom: 0;
	text-align: left;
}
#shapely_home_contact-2 br {
    display: none !important;
}
.col-md-4.col-sm-5.mb-xs-24 img {
    width: 100%;
}
div#shapely_home_parallax-6 .col-md-7.col-md-offset-1.col-sm-6.col-sm-offset-1 {
  padding: 0 0 0 0px !important;
	text-align: left;
}
@media (max-width: 768px) {
div#shapely_home_contact-2 h1 {
  font-size: 24px;
	margin-bottom: 0px;
}
}
#shapely_home_contact-2 p.mb0 {
    display: none;
}


/*機材*/
@media (min-width: 768px) {
    .cfa-section .col-sm-9 {
        width: 100%;
    }
}
#shapely_home_cfa-2 .col-sm-9 {
    padding: 0 !important;
}
.cfa-text {
    margin-bottom: 0;
    line-height: 35px;
    text-align: center;
    font-size: 20px;
}
div#shapely_home_clients-2 h3 {
  position: relative;
  display: inline-block;
  padding: 0 85px;
  text-align: center;
}
div#shapely_home_clients-2 h3:before,
div#shapely_home_clients-2 h3:after {
  position: absolute;
  top: calc(50% - 3px);
  width: 50px;
  height: 6px;
  content: '';
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
}
div#shapely_home_clients-2 h3:before {
  left: 0;
}
div#shapely_home_clients-2 h3:after {
  right: 0;
}

.logo-carousel img {
    max-height: 220px;
}
div#shapely_home_clients-2 section {
    padding-bottom: 30px !important;
}


/***footer***/
footer {
    padding: 80px 0 25px;
}

.bg-dark {
    background: #f2fafc !important;
}
.bg-dark h3, .bg-dark h5, footer.bg-dark h5, .bg-primary h5, .bg-dark h6, footer.bg-dark h6 {
    color: #0e1015;
}
.bg-dark p, footer.bg-dark p, .bg-primary p, .bg-dark span, footer.bg-dark span, .bg-dark li, footer.bg-dark li {
    color: #0e1015;
}
.footer .footer-credits {
    color: #0e1015;
}
footer h2.wp-block-heading {
    font-weight: 500;
    font-size: 22px;
    line-height: 20px;
	margin-bottom: 0;
}
footer h3.wp-block-heading {
    font-size: 15px;
    line-height: 17px;
	margin-bottom: 0;
}
div#block-11 {
    margin-bottom: 8px !important;
}

figure, figure.wp-block-image.size-full {
    padding: 1em 0;
}

.footer-widget-area figure {
	padding: 0 !important;
}

.bg-dark .back-to-top {
    border-color: #337ab7;
	 border-radius: 50%;
}
.back-to-top .fa {
    font-size: 21px;
    color: #337ab7;
    position: relative;
    left: -4px;
}

div#block-12 {
  margin-bottom: 10px !important;
}
div#block-20 {
    margin-bottom: 5px !important;
}
div#block-20 p {
		margin-bottom: 2px !important;
    font-size: 15px;
    font-weight: 600;
    background-color: #fff800b5;
    display: inline-block;
}
div#block-48 {
    margin-bottom: 5px !important;
}
div#block-48 p {
  margin-bottom: 2px !important;
	font-size: 15px;
}
div#block-22 {
  margin-bottom: 2px !important;
}
div#block-22 p {
  margin-bottom: 0px !important;
	font-size: 16px;
	letter-spacing: 0.8px;
}
div#block-23 p {
  margin-bottom: 0px !important;
	font-size: 16px;
	letter-spacing: 0.8px;
}

footer a.btn.btn-lg.btn-filled {
    border-radius: 10px;
    padding: 10px;
    font-size: 15px;
    letter-spacing: 1px;
	  color: #fff;
}

.map iframe {
    position: relative;
    top: -20px;
}

/*** wave ***/
.footer_wave {
	position: relative;
  left: 0;
  top: 0px;
  width: 100%;
}
.parallax > use {
    animation: move-forever 12s linear infinite;
}
.parallax > use:nth-child(1) {
    animation-delay: -2s;
}
.parallax > use:nth-child(2) {
    animation-delay: -2s;
    animation-duration: 5s;
}
.parallax > use:nth-child(3) {
    animation-delay: -4s;
    animation-duration: 3s;
}
@keyframes move-forever {
    0% {
        transform: translate(-90px, 0%);
    }
    100% {
        transform: translate(85px, 0%);
    }
}
.editorial {
    display: block;
    width: 100%;
    height: 3em;
    max-height: 100vh;
    margin: 0;
  bottom: 0px;
  opacity:0.7;
}

div#block-38 .editorial {
    display: block;
    width: 100%;
    height: 3em;
    max-height: 100vh;
    margin: 0;
  bottom: 0px;
  opacity:1;
}


@media (max-width: 50em) {
    .editorial {
        height: 10vw;
    }
}

/***コース一覧***/
/*コース：ページ*/
h4.c-list {
	font-size: 20px;
	font-weight: 500;
  padding: 0.85em 0 0.5em 0;
  border-bottom: dashed 1px silver;
}

/*コース：サイドバー*/
.course h3 {
	font-size: 24px;
	font-weight: 500;	
}
.course ul {
  padding: 0;
	margin: 0 0 30px 0;
}
.course ul.side-course02 {
  padding: 0;
	margin: 0 0 15px 0;
}
.course ul li {
  line-height: 1.5;
  padding: 0.8em 0 0.5em 0;
  border-bottom: dashed 1px silver;
  list-style-type: none!important;
}
.course h4 {
	font-size: 18px;
	font-weight: 500;
	margin: 0;
	padding: 0;
}

/*コース：詳細ページ*/
.course-template-default #primary {
    margin-bottom: 80px;
}

.course-ol table{
  border-collapse: collapse;
  width: 100%;
}

.course-ol th,
.course-ol td{
  border-top: solid 1px #0e1016;
  text-align:left;
  box-sizing:border-box;
	vertical-align: top
}
.course-ol th {
  color: #000; 
	font-size: 13px;
	line-height: 20px !important;
	padding: 30px 5px;
	font-weight: 500;
	margin-right: 5px !important;
	width: 150px;
}
.course-ol td{
  border-top: solid 1px #0e1016;
  text-align:left;
  box-sizing:border-box;
	color: #0e1016;
	padding: 30px 0 30px 25px;
	font-size: 16px;
	
}
@media screen and (max-width: 640px) {
  .course-ol {
    width: 100%;
  }
  table.course-ol th {
    display: block;
    width: 100%;
    border-bottom:none;
		margin: 5px;
		padding: 15px 0 0 0;
  }
  table.course-ol td {
		display: block;
    width: 100%;
    border-top: none;
    margin: 5px;
    padding: 5px 0 10px 0;
  }
  .course-ol tr:last-child{
    border-bottom: solid 1px #0e1016;
  }
}

table.course-ol {
    margin: 50px 0 40px 0;
}


/******* カラム ********/
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
    position: relative;
    min-height: 1px;
    padding-right: 30px !important;
    padding-left: 30px !important;
}

/*ページ*/
.page-title-section {
    height: inherit;
    padding: 70px 0 0px;
}
.bg-secondary {
    background: #fff;
}
.page-title {
	position: relative;
	padding-bottom: 35px;
	font-size: 26px;
}
.page-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	background-image: repeating-linear-gradient(45deg, #337ab7 0px, #337ab7 1px, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 50%);
	background-size: 8px 8px;
}

/*****お知らせ****/
/*一覧*/
.post-title a, .post-title {
    font-size: 22px;
    font-weight: 300;
}

.category span.shapely-category {
    display: none;
}

.category .post-title a, .category .post-title {
    font-size: 18px;
}
.category .post-content .entry-content .post-title {
    font-size: 18px;
	line-height: 22px;
    margin-top: 10px;
    margin-bottom: 5px;
}

/*サイドバー*/
.blog #secondary ul,
.category #secondary ul,
.single #secondary ul {
  padding: 0;
	margin: 0 0 30px 0;
}
.blog #secondary ul li,
.category #secondary ul li,
.single #secondary ul li {
  line-height: 1.5;
  padding: 0.8em 0 0.5em 0;
  border-bottom: dashed 1px silver;
  list-style-type: none!important;
	font-size: 14px;
}
.blog #secondary h2,
.category #secondary h2,
.single #secondary h2 {
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 5px 0;
	padding: 0 0 10px 0;
}
/*詳細*/
.single .entry-meta {
    margin-bottom: 40px;
	margin-top: 10px;
}
.single .post-content .shapely-category {
    position: absolute;
    background: #337ab7;
    height: 35px;
    width: 15%;
    top: -30px;
    left: 0;
}
.single .post-content .shapely-category a {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 3px;
    padding-bottom: 0px;
    position: relative;
}
.post-content .shapely-category a:after {
	display: none;
}

/******お問い合わせ******/
.contact-form .form-box-wrap {
    margin-bottom: 10px;
}
.contact-form .grunion-checkbox-multiple-options legend, .contact-form .grunion-radio-options legend, h3.grunion-field-label {
    font-weight: 500 !important;
    margin-bottom: .25em !important;
    padding: 0 !important;
    font-size: 16px !important;
}
.contact-form label {
    display: block;
    float: none;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
    font-size: 16px !important;
    color: #0e1015 !important;
	text-align: left !important;
}
.contact-form .contact-form__select-wrapper:after {
    border-bottom: 2px solid;
    border-right: 2px solid;
    content: "";
    display: block;
    height: 10px !important;
    inset-inline-end: calc(var(--jetpack--contact-form--input-padding) + 4px);
    pointer-events: none;
    position: absolute;
    top: 20px !important;
    left: 18px !important;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center center;
    width: 10px !important;
}
.contact-form .contact-form__select-wrapper select {
    appearance: none;
    box-sizing: border-box;
    color: #001c28;
    font-size: 18px !important;
    padding: 10px 37px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}
.contact-form  label.grunion-checkbox-multiple-label.checkbox-multiple {
    margin-bottom: 0px !important;
}

.contact-form .grunion-field-checkbox-multiple-wrap.grunion-field-wrap {
    margin-bottom: 30px;
}
.contact-form button.wp-block-button__link {
    font-size: 18px;
    letter-spacing: 5px;
}

h2.bd-dotted {
    font-size: 22px;
    margin-bottom: 0;
    font-weight: 500 !important;
    border-bottom: dotted #337ab7;
    border-top: dotted #337ab7;
    padding: 15px;
    color: #337ab7;
}
.contact-form input {
    font-size: 17px;
    letter-spacing: 1px;
}
.contact-form textarea {
    font-size: 17px;
    line-height: 30px;
}

.highlight strong {
    background: #fffb06e0;
}

.bld {
	font-weight: 500;
	text-decoration: underline;
	line-height: 2.2;
}

h4.card {
    display: inline;
    position: relative;
    background: #f4f4f4;
    padding: 2px 20px 2px 28px;
    font-size: 18px;
    color: #474747;
    border-radius: 0 10px 10px 0;
    min-width: 440px;
}

h4.card:before {
  font-family: "Font Awesome 5 Free";
  content: "\f041";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ff6363;
  font-weight: 900;
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
}


p.fukidashi {
	position: relative;
  padding: 8px 1em;
  background: #337ab7;
  border-radius: 8px;
  color: #fff;
  font-weight: 500;
  margin-bottom: 15px;
  font-size: 1.2em;
  letter-spacing: 1px;
}
p.fukidashi:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 8px solid transparent;
    border-top: 12px solid #337ab7;
    width: 0;
    height: 0;
}

.btn-white:visited, .btn:visited:hover {
    color: #fff !important;
}

#shapely_home_contact-2 .image-bg .btn.btn-filled {
    margin-top: 20px;
	font-size: 17px;
	border-radius: 8px;
}


/*** text deco ***/

strong.highlight {
    background: #feffa0;
}

.bd-btm {
    border-bottom: 1px solid;
    line-height: 3;
    padding-bottom: 3px;	
}

em.fee-time {
    font-size: 1.2em;
    font-style: normal;
    font-weight: bold;
    color: #337ab7;
    letter-spacing: 0.5px;
    padding-right: 2px;
}

/*** table ***/
figcaption {
    text-align: right;
	  color: #222;
	font-size: 12px;
}
.wp-block-table table {
    border-collapse: collapse;
    color: #222;
	margin-bottom: 0;
}
.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th {
    border-top: 1px solid #222;
}

.rental table {
    width: 300px;	
}


a.wp-block-button__link.wp-element-button {
    color: #fff;
}

.p-lt {
	text-decoration: line-through;
	font-style: normal;
}


.wp-block-columns.tour-box  {
	padding: 25px;
  border: 2px solid #337ab7;
  background: #f5f5f5a3;
  border-radius: 10px;
}



.wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-8.wp-block-columns-is-layout-flex,
.wp-block-columns.container.is-layout-flex.wp-container-core-columns-is-layout-12.wp-block-columns-is-layout-flex {
    margin-bottom: 0;
    padding-bottom: 50px;
}

.w80 {
    width: 70% !important;
    margin: 35px auto;
}

.hov60:hover {
	 transition: 0.5s;
	opacity: 0.6;
}

figure.d-none, .d-none {
	display: none !important;
}

figure.t-gallery figure.wp-block-image.size-large {
    padding: 3px;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption, .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    bottom: -25px;
    left: 0;
    max-height: 100%;
    position: absolute;
    right: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    background: #fff;
    box-sizing: inherit;
    color: #000;
    font-size: 12px;
    margin: 0;
    overflow: auto;
    padding: 0px;
    scrollbar-color: inherit;
    scrollbar-gutter: inherit;
    scrollbar-width: thin;
    text-align: center;
    text-shadow: none;
    will-change: inherit;
    line-height: 1.4;
}
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: none !important;
    content: "";
    height: 100%;
    -webkit-mask-image: linear-gradient(0deg, #000 20%, #0000);
    mask-image: linear-gradient(0deg, #000 20%, #0000);
    max-height: 40%;
}

a.wp-block-button__link.wp-element-button {
    background-color: #fff;
    color: #1e73be;
    font-size: 1.4em;
    line-height: 1.4;
    padding: 15px 30px !important;
    border: 2px solid;
    margin-top: 30px;
}


.wp-block-columns.top-news-line {
    width: 100%;
    text-align: center;
    padding-top: 10px;
}
.wp-block-columns.container.top-course-bg {
    margin-bottom: 0;
    padding-bottom: 50px;
}


.time-table>.table>tbody>tr>td, 
.time-table>.table>tbody>tr>th, 
.time-table>.table>tfoot>tr>td, 
.time-table>.table>tfoot>tr>th, 
.time-table>.table>thead>tr>td, 
.time-table>.table>thead>tr>th {
    border-top: 1px dotted #222;
    border-left: none;
    border-right: none;
    padding: 10px;
    border-bottom: 1px dotted #222;
}

/*** 余白 ***/
.mt-0 { margin-top: 0; }
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mt-30 { margin-top: 30px; }
.mt-60 { margin-top: 60px; }

.mb-0 { margin-bottom: 0; }
.mb-10 { margin-bottom: 10px; }

.ml-20 {
	margin-left: 20px !important;
}


/*** hrデザイン ***/
hr.line-deco-01 {
	height: 8px;
  background-image: repeating-linear-gradient(45deg, #337ab7 0, #337ab7 1px, transparent 0, transparent 50%);
    background-size: 8px 8px;
    border-top: none;
    margin: 50px 0;
}
hr.line-deco-02 {
	border-top: 3px dotted #337ab7;
  margin: 25px 0;
}
hr.line-deco-03 {
	border-top: 1px dotted #337ab7;
  margin: 0px 0;
}


/*** 料金デザイン ***/
em.fee-l {
    font-size: 2em;
    font-style: normal;
    font-weight: bold;
    color: #337ab7;
    letter-spacing: 0.5px;
    padding-right: 2px;
}
em.fee-en {
    font-style: normal;
    font-weight: bold;
    color: #337ab7;
    letter-spacing: 0.5px;
    padding-right: 2px;
}

/*** コースyoutube埋め込み ***/
.embedbox{
	width: 100%;
	min-width: 360px;
	max-width: 1000px;
	margin: 20px auto 0;
}

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}
 
.embed-container iframe,
.embed-container object,
.embed-container embed {
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
}



.wp-block-group.c-card {
    background: #f5f5f5;
    padding: 20px;
    border-radius: 20px;
		scroll-margin-top: 80px;
}
.wp-block-group.c-card p {
    font-size: 14px;
    line-height: 25px;
}

.wp-block-button.cc-button {
    width: 100%;
}
.cc-button a.wp-block-button__link.wp-element-button {
    background-color: #fff;
    color: #1e73be;
    line-height: 1.4;
    padding: 10px 30px !important;
    border: 1px solid;
    margin-top: 0px;
    margin-bottom: 10px;
}

.course ul.cc-list li {
    line-height: 1.5;
    padding: 0.8em 0 0.5em 0;
    border-bottom: dashed 1px silver;
    list-style-type: none !important;
    font-size: 16px;
    color: #000;
}

.flow_design08 {
  display: flex;
  justify-content: center;
  align-items: center;
}

/*** コース・フロー ****/
.flow_design08 {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flow08 {
  padding-left: 0;
}
.flow08 > li {
  list-style-type: none;
  border-radius: 15px;
  background: #F4F6FA;
  position: relative;
  padding: 20px;
  border-bottom: none !important;
}
.flow08 > li:not(:last-child) {
  margin-bottom: 40px;
  position: relative;
  padding: 1.5em 0 1em 0;
}
.flow08 > li dl {
  display: flex;
  align-items: center;
  gap: 20px;
}
.flow08 > li dl dt {
  font-size: 1.2em;
  font-weight: 700;
  width: 29%;
  min-width: 9em;
	padding-left: 25px;
	color: #337ab7;
}
.flow08 > li .icon08 {
  color: #FF9800;
  margin-right: 0.5em;
	font-weight: 600;
  font-size: 14px;
  letter-spacing: 1px;
}
.flow08 > li dl dd {
  margin: 0;
  width: calc(80% - 20px);
	  font-size: 16px;
    padding-right: 20px;
    color: #222;
}

.flow08 > li:not(:last-child)::after {
  content: '';
  position: absolute;
  border: 15px solid transparent;
  width: 0;
  height: 0;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-top-color: #337ab7;
}
em.s-note {
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
}


/*** top-faq ***/

div#block-51 {
//  background: #f0f0f0;
    padding: 100px 0;
background-color: #fff9f8;
//opacity: 0.7;
background-image:  radial-gradient(#faaba6 0.6000000000000001px, transparent 0.6000000000000001px), radial-gradient(#faaba6 0.6000000000000001px, #fff9f8 0.6000000000000001px);
background-size: 24px 24px;
background-position: 0 0,12px 12px;
}

.tfaq-btn_wrap {
        max-width: 480px;
        height: auto;
        position: relative;
        margin: auto;
}
.tfaq-btn_balloon {
	width: 80%;
		max-width: 80%;
    height: 30px;
    border-radius: 20px;
    border: solid 2px #337ab7;
    background-color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    display: flex
;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 110px;
    left: 50%;
    transform: translate(-50%, 0%);
    pointer-events: none;
    transition: 0.2s;
    color: #337ab7;
    z-index: 2;
    letter-spacing: 2px;
    padding: 20px 30px;
}
.tfaq-btn_balloon::before, .tfaq-btn_balloon::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 100%);
}
.tfaq-btn_balloon::before {
        bottom: 1px;
        border-width: 8px 5px 0 5px;
        border-color: #fff transparent transparent transparent;
        z-index: 2;
}
.tfaq-btn_balloon::after {
        bottom: 0;
        border-width: 11px 8px 0 8px;
        border-color: #337ab7 transparent transparent transparent;
        z-index: 1;
}
.tfaq-button {
		width: 100%;
    padding: 35px 30px;
    border-radius: 8px;
    font-size: 4em;
    font-weight: 600 !important;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    background: #337ab7;
    -webkit-box-shadow: 0 5px 0 #21527c;
    box-shadow: 0 5px 0 #21527c;
    color: #fff !important;
    transition: 0.2s;
    letter-spacing: 13px;
}
.tfaq-button:after {
	content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
	right: 3rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 20px;
  height: 20px;
  border-top: solid 3px currentColor;
  border-right: solid 3px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.tfaq-button:hover {
  background: #4d91cb;
  color: #FFF;
  -webkit-box-shadow: 0 2px 0 #21527c;
  box-shadow: 0 2px 0 #21527c;
  transform: translateY(3px);
}
a.tfaq-button {
    color: #fff;
}


.hov60 img {
    cursor: pointer;
}
.t-center {
	text-align: center;
}
.mb64 {
    margin-bottom: 100px;
}

p.mt-m40 {
	margin-top: -40px;
}


.fukidashi-02-01 {
  position: absolute;
  top: 3rem;
  left: 2rem;
  transform: rotate(-5deg);
  display: inline-block;
  line-height: 1;
  padding: 5px 20px;
  margin: 0;
  background-color:#d25623;
	font-size: 0.8em;
  font-style: normal;
  font-weight: bold;
	color: #fff;
}
.fukidashi-02-02 {
display: inline-block;
    line-height: 1;
    padding: 5px 10px;
    margin: 0 0 0 10px;
    background-color: #d25623;
    font-size: 13px;
    font-style: normal;
    font-weight: bold;
    color: #fff;
    position: relative;
    top: -3px;
}


/***　レスポンシブ対応　***/

@media screen and (max-width: 768px) {
.wp-block-columns.container.top-course-bg {
    margin-bottom: 0;
    padding-bottom: 0;
}

    .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
   padding-right: 0 !important;
	 padding-left: 0 !important;
	}
img.top-logo.top-padi-logo {
    width: 180px !important;
}

img.top-about-img {
    margin-top: 50px;
}
.d-none {
	display: none;
}
	
	
}

@media (max-width: 781px) {
.w80 {
    width: 92% !important;
    margin: 35px auto;
}

    .kizai-logo:not(.is-not-stacked-on-mobile)>.wp-block-column {
        flex-basis: 40% !important;
    }
}
