
/* visual */
.pc { display: block !important; }
.sp { display: none !important; }
@media only screen and (max-width: 767px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
.pc2 { display: block !important; }
.sp2 { display: none !important; }
@media only screen and (max-width: 991px) {
.pc2 { display: none !important; }
.sp2 { display: block !important; }
}

.img-pc { display: block !important; }
.img-pc2,
.img-sp,
.img-tab { display: none !important; }
@media only screen and (max-width: 1199px) {
.img-pc2 { display: block !important; }
.img-pc,
.img-tab,
.img-sp { display: none !important; }
}
@media only screen and (max-width: 991px) {
.img-tab { display: block !important; }
.img-pc,
.img-pc2,    
.img-sp { display: none !important; }
}
@media only screen and (max-width: 767px) {
.img-sp { display: block !important; }
.img-pc,
.img-pc2,    
.img-tab { display: none !important; }
}

/* hieght */
.kv-height { height: 550px !important; }
@media only screen and (min-width: 1350px) {
.kv-height { height: 750px !important; }
}

/* suggest */
.suggest {
  text-align:center;
  font-size: 1.2rem;
}

/* clear */
.clear {clear: both}

/* link */
.link-adj {display: block;}

/* Font */
.fm-dom {font-family: 'Domine', serif;}
.fm-smg {font-family: 'Sorts Mill Goudy', serif;}
.fm-noto-s {font-family: 'Noto Serif JP', serif;}

/* Arrow */
.arrow{
  position: relative;
  display: inline-block;
  color: #020b33;
  font-weight: 700;
  font-family: 'Noto Serif JP', serif;
  vertical-align: middle;
  font-size: 14px;
}
.arrow::before,
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.arrow-left::before{
  top:-3px;    
  right: 0px;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: #020b33 #020b33 transparent transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.arrow1{
  position: relative;
  display: inline-block;
  color: #020b33;
  font-weight: 700;
  font-family: 'Noto Serif JP', serif;
  vertical-align: middle;
  font-size: 14px;
}
.arrow1::before,
.arrow1::after{
  position: absolute;
  top: -3px;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.arrow1-left::before{
  right: 0px;
  width: 9px;
  height: 9px;
  border: 2px solid;
  border-color: #020b33 #020b33 transparent transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.arrow2{
  position: relative;
  display: inline-block;
  color: #020b33;
  font-weight: 700;
  font-family: 'Noto Serif JP', serif;
  vertical-align: middle;
  font-size: 15px;
}
.arrow2::before,
.arrow2::after{
  position: absolute;
  top: -5px;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.arrow2-left::before{
  right: 0px;
  width: 9px;
  height: 9px;
  border: 2px solid;
  border-color: #020b33 #020b33 transparent transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.arrow-w{
  position: relative;
  display: inline-block;
  color: #fafafa;
  font-weight: 700;
  font-family: 'Noto Serif JP', serif;
  vertical-align: middle;
  font-size: 14px;
}
.arrow-w::before,
.arrow-w::after{
  position: absolute;
  top: -3px;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.arrow-left-w::before{
  top:-3px;    
  right: 0px;
  width: 10px;
  height: 10px;
  border: 2px solid;
  border-color: #fafafa #fafafa transparent transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* img hover */

.alp a img {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  vertical-align: bottom;
}
.alp a:hover img {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

.alp2 a {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  vertical-align: bottom;
}
.alp2 a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

/* text hover */

.t-alp a {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  vertical-align: bottom;
}
.t-alp a:hover {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

/* text */
.t-center-left {text-align:center}
@media (max-width: 991px) {
.t-center-left {text-align:left}	
}
.t-left-center {text-align:left}
@media (max-width: 991px) {
.t-left-center {text-align:center}	
}

/* space */
.sp-10 {margin-top:0px}
@media (max-width: 991px) {
.sp-10 {margin-top:10px}	
}
.sp-20 {margin-top:0px}
@media (max-width: 991px) {
.sp-20 {margin-top:20px}	
}
.sp-20n {margin-top:0px}
@media (max-width: 767px) {
.sp-20n {margin-top:-20px}	
}
.sp-30 {margin-top:0px}
@media (max-width: 991px) {
.sp-30 {margin-top:30px}	
}
.sp-30b {margin-top:0px}
@media (max-width: 767px) {
.sp-30b {margin-top:30px}	
}
.sp-30n {margin-top:0px}
@media (max-width: 767px) {
.sp-30n {margin-top:-30px}	
}
.sp-40 {margin-top:0px}
@media (max-width: 991px) {
.sp-40 {margin-top:40px}	
}
.sp-40b {margin-top:0px}
@media (max-width: 767px) {
.sp-40b {margin-top:40px}	
}
.sp-40c {margin-top:40px}
@media (max-width: 767px) {
.sp-40c {margin-top:0px}	
}
.sp-40n {margin-top:0px}
@media (max-width: 767px) {
.sp-40n {margin-top:-40px}	
}
.sp-50 {margin-top:0px}
@media (max-width: 991px) {
.sp-50 {margin-top:50px}	
}
.sp-50n {margin-top:0px}
@media (max-width: 767px) {
.sp-50n {margin-top:-50px}	
}
.sp-60 {margin-top:0px}
@media (max-width: 767px) {
.sp-60 {margin-top:60px}	
}
.sp-60n {margin-top:0px}
@media (max-width: 767px) {
.sp-60n {margin-top:-60px}	
}
.sp-60b {margin-top:0px}
@media (max-width: 991px) {
.sp-60b {margin-top:60px}	
}
.sp-80 {margin-top:0}
@media (max-width: 767px) {
.sp-80 {margin-top:80px}	
}
.sp-80n {margin-top:0}
@media (max-width: 767px) {
.sp-80n {margin-top:-80px}	
}
.sp-90 {margin-top:0}
@media (max-width: 767px) {
.sp-90 {margin-top:90px}	
}
.sp-90n {margin-top:0}
@media (max-width: 767px) {
.sp-90n {margin-top:-90px}	
}
.sp-100 {margin-top:0}
@media (max-width: 767px) {
.sp-100 {margin-top:100px}	
}
.sp-100n {margin-top:0}
@media (max-width: 767px) {
.sp-100n {margin-top:-100px}	
}
.sp-120 {margin-top:0}
@media (max-width: 767px) {
.sp-120 {margin-top:120px}	
}
.sp-120n {margin-top:0}
@media (max-width: 767px) {
.sp-120n {margin-top:-120px}	
}
.sp-140 {margin-top:0}
@media (max-width: 767px) {
.sp-140 {margin-top:140px}	
}
.sp-140n {margin-top:0}
@media (max-width: 767px) {
.sp-140n {margin-top:-140px}	
}
.sp-160 {margin-top:0}
@media (max-width: 767px) {
.sp-160 {margin-top:160px}	
}
.sp-160n {margin-top:0}
@media (max-width: 767px) {
.sp-160n {margin-top:-160px}	
}
.sp-180 {margin-top:0}
@media (max-width: 767px) {
.sp-180 {margin-top:180px}	
}
.sp-180n {margin-top:0}
@media (max-width: 767px) {
.sp-180n {margin-top:-180px}	
}
.sp-200 {margin-top:0}
@media (max-width: 767px) {
.sp-200 {margin-top:200px}	
}
.sp-200n {margin-top:0}
@media (max-width: 767px) {
.sp-200n {margin-top:-200px}	
}
.sp-220 {margin-top:0}
@media (max-width: 767px) {
.sp-220 {margin-top:220px}	
}
.sp-220n {margin-top:0}
@media (max-width: 767px) {
.sp-220n {margin-top:-220px}	
}
.sp-240 {margin-top:0}
@media (max-width: 767px) {
.sp-240 {margin-top:240px}	
}
.sp-240n {margin-top:0}
@media (max-width: 767px) {
.sp-240n {margin-top:-240px}	
}
.sp-260 {margin-top:0}
@media (max-width: 767px) {
.sp-260 {margin-top:260px}	
}
.sp-260n {margin-top:0}
@media (max-width: 767px) {
.sp-260n {margin-top:-260px}	
}
.sp-280 {margin-top:0}
@media (max-width: 767px) {
.sp-280 {margin-top:280px}	
}
.sp-280n {margin-top:0}
@media (max-width: 767px) {
.sp-280n {margin-top:-280px}	
}
.sp-300 {margin-top:0}
@media (max-width: 767px) {
.sp-300 {margin-top:300px}	
}
.sp-300n {margin-top:0}
@media (max-width: 767px) {
.sp-300n {margin-top:-300px}	
}
.sp-320 {margin-top:0}
@media (max-width: 767px) {
.sp-320 {margin-top:320px}	
}
.sp-320n {margin-top:0}
@media (max-width: 767px) {
.sp-320n {margin-top:-320px}	
}
.sp-340 {margin-top:0}
@media (max-width: 767px) {
.sp-340 {margin-top:340px}	
}
.sp-340n {margin-top:0}
@media (max-width: 767px) {
.sp-340n {margin-top:-340px}	
}
.sp-360 {margin-top:0}
@media (max-width: 767px) {
.sp-360 {margin-top:360px}	
}
.sp-360n {margin-top:0}
@media (max-width: 767px) {
.sp-360n {margin-top:-360px}	
}
.sp-400 {margin-top:0}
@media (max-width: 767px) {
.sp-400 {margin-top:400px}	
}
.sp-400n {margin-top:0}
@media (max-width: 767px) {
.sp-400n {margin-top:-400px}	
}
.spn-60 {margin-top:-60px}
@media (max-width: 991px) {
.spn-60 {margin-top:0px}	
}
.spn-80 {margin-top:-80px}
@media (max-width: 991px) {
.spn-80 {margin-top:0px}	
}
.sp-40ud {margin-top:0px}
@media (max-width: 767px) {
.sp-40ud {margin-top:40px}	
}
/* br */
@media screen and (min-width: 992px) {
.sp_br{
    display: none;
  }
}
@media screen and (min-width: 767px) {
.sp_br2{
    display: none;
  }
}

/* margin */
.ml-110{
    margin-left: 110px;
  }
.ml-120{
    margin-left: 120px;
  }

/* border */
.border-t {border-top: 1px solid #d8d8d8}
.border-b {border-bottom: 1px solid #d8d8d8}
.border-j {border: 1px solid #d8d8d8}
.border-d {border: 1px solid #262626}
.border-d-top {border-top: 1px solid #262626}
.border-z {border: 0}

/* bg */
.bg-navy{background-color:#030143!important}
a.bg-navy:focus,a.bg-navy:hover,button.bg-navy:focus,button.bg-navy:hover{background-color:#030143; opacity: 0.75!important}
.bg-navy-2{background-color:rgba(2,11,51,0.8)!important}
.bg-lb{background-color:#dceffa!important}
.bg-lb2{background-color:rgba(208,225,249,0.8)!important}
.bg-bb{background-color:#4d648d!important}
.bg-ly{background-color:#faf5dc!important}
.bg-ice{background-color:#f7efe2!important}
.bg-lg{background-color:#ebeef0!important}
/* position */
.posi-rela{
position: relative
  }

.text-bg-w {
padding: 2px 6px;
background-color: rgba(255, 255, 255, 0.5);
}


/* breadcrumb */
.breadcrumb-nav{
  position: absolute;
  top: 0;
  left: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: .7rem;
  opacity: 0.8;
  z-index: 10;	
  }

.breadcrumb-nav2{
  position: absolute;
  top: 0;
  left: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: .8rem;
  opacity: 0.8;
  z-index: 10;	
  }

/* margin */
.top-mnt-60{
    margin-top: -60px;
  }
.top-mnt-70{
    margin-top: -70px;
  }
.top-mnt-80{
    margin-top: -80px;
  }
.top-mnt-90{
    margin-top: -90px;
  }
.top-mnt-100{
    margin-top: -100px;
  }

.mb-15r{
margin-bottom:1.5rem
  }

/* shadow */
.image-shadow {
    -webkit-box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.2);
            box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.2);
}
.text-shadow {
text-shadow:2px 2px 1px rgba(0, 0, 0, 1);
}
/* Fade */

.fadein {
  opacity : 0;
  transform : translate(0, 20px);
  transition : all 1s;
}

.fadein.active{
  opacity : 1;
  transform : translate(0, 0);
}

.fadein2 {
   animation-name: fadein2;
   animation-duration: 1s;
}
@keyframes fadein2 {
from {
   opacity: 0;
   transform: translateY(20px);
}
to {
   opacity: 1;
   transform: translateY(0);
}
}

.fadein3 {
   animation-name: fadein3;
   animation-duration: 1s;
}
@keyframes fadein3 {
from {
   opacity: 0;
   transform: translateY(0);
}
to {
   opacity: 1;
   transform: translateY(0);
}
}

.fadein-img {
   position: absolute;
   bottom: -40px;
   left: 20px;
   z-index: 1;
}

.fadein-img2 {
   position: absolute;
   bottom: -60px;
   right: 0;
   z-index: 1;
}

/* Map */
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 75%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

/*accordion*/

.accordion-head {
   position: relative;
   padding-right: 60px;	
   cursor: pointer;
}

/*下矢印↓*/
.accordion-head:after {
   content: "";
   position: absolute;
   border-right: 2px solid #020b33;
   border-bottom: 2px solid #020b33;
   width: 13px;
   top:5px;
   right: 20px;
   height: 13px;
   transform: rotate(45deg);
}

/*上矢印↑*/
.accordion-head.ac:after {
   content: "";
   position: absolute;
   border-left: 2px solid #020b33;
   border-top: 2px solid #020b33;
   border-right: 0;
   border-bottom: 0;
   width: 13px;
   top:10px;
   right: 20px;
   height: 13px;
   transform: rotate(45deg);
}

.qa-answer{
    display:none;
}

/*slider*/

.mainImage {
 margin: 0 auto;
 position: relative;	
 z-index:1;	
}

.thumbnails {
 position: relative;
 margin: -20px auto 0;
 z-index:2;	
}

.thumbnails img {
 width: 100%;
 height: 100%;
 transition: all .3s;
}

.thumbnails img:hover {
 opacity: 0.5;
 transition: all .3s;
}

.thumbnails ul {
 margin-left: -40px;
 text-align: center;	
}

.thumbnails li {
 width: 20%;
 display: inline-block;
 padding: 0 ;	
 list-style: none;
 cursor: pointer;
}

.thumbnails li.current {
 border: 1px solid #d8d8d8;
}

.thumbnails-2 {
 position: relative;
 margin: -20px auto 0;
 z-index:2;	
}

.thumbnails-2 img {
 width: 100%;
 height: 100%;
 transition: all .3s;
}

.thumbnails-2 img:hover {
 opacity: 0.5;
 transition: all .3s;
}

.thumbnails-2 ul {
 margin-left: -40px;
 text-align: center;	
}

.thumbnails-2 li {
 width: 20%;
 display: inline-block;
 padding: 0 3px;	
 list-style: none;
 cursor: pointer;
}

.thumbnails-2 li.current {
 border: 1px solid #262626;
}

/*selectWrap*/

.selectWrap{
  width: 90px;
  font-size: 12px;    
  margin: 0 10px;
  position: relative;
  display: inline-block;
}
.selectWrap::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #b4b3b3;
  border-right: solid 2px #b4b3b3;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
.selectWrap2{
  width: 140px;
  font-size: 12px;    
  margin: 0 10px;
  position: relative;
  display: inline-block;
}
.selectWrap2::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #b4b3b3;
  border-right: solid 2px #b4b3b3;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
.selectWrap3{
  width: 100px;
  font-size: 12px;    
  margin: 0 10px;
  position: relative;
  display: inline-block;
}
.selectWrap3::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #b4b3b3;
  border-right: solid 2px #b4b3b3;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
.select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 34px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 30px 0 10px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
}
.select::-ms-expand {
    display: none;
}

.selectCB {
  width: 90px;
  font-size: 12px;    
  margin: 0 10px;
  position: relative;
  display: inline-block;
}

/*modal*/

.modal-dialog-fluid {
  max-width: inherit;
  width: 98%;
  margin-left: 15px;
}

/*animation*/

.blink {
	animation: blinking 1s ease-in-out infinite alternate;
}
 
@keyframes blinking {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

/*carousel*/
.carousel-control-prev-icon, .carousel-control-next-icon {
    height: 50px;
    width: 30px;
    background-color: rgba(2,11,51, 0.5);
    background-size: 100%, 100%;
}

/*tenitorukai*/
.workshop-info .info-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.workshop-info p {
  margin: 4px 0;
}

.workshop-info hr {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 24px 0;
}

.workshop-info table {
  border-collapse: collapse;
  margin-top: 12px;
}

.workshop-info th,
.workshop-info td {
  border: 1px solid #000;
  padding: 6px 14px;
  text-align: center;
}

.workshop-info th:first-child,
.workshop-info td:first-child {
  text-align: left;
}

.workshop-info .closed {
  background: #999;
}

.workshop-info .indent {
  padding-left: 6em;
}

.workshop-info .program-table {
  border-collapse: collapse;
  margin: 8px 0 6px;
}

.workshop-info .program-table th,
.workshop-info .program-table td {
  border: none;
  padding: 2px 10px 2px 0;
  text-align: left;
  vertical-align: top;
}

.workshop-info .program-table th {
  font-weight: 700;
  white-space: nowrap;
}

.workshop-info .program-table td:nth-child(2) {
  white-space: nowrap;
}

/*workshop*/
.lead .label {
  display: inline-block;
  width: 4em;
  text-align: center
}

/*form*/
.course-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.course-num {
  width: 1.5em;
}

.course-title {
  width: 5em;
}

.schedule-table {
  width: 100%;
  max-width: 620px;
  table-layout: fixed;
  border-collapse: collapse;
}

.schedule-table thead tr {
  height: 60px;
}

.schedule-table tbody tr {
  height: 40px;
}

.schedule-table th,
.schedule-table td {
  border: 1px solid #bbb;
  padding: 10px 10px;
  text-align: center;
  vertical-align: middle;
}

.schedule-table th {
  background: #f6f6f6;
  font-weight: bold;
  line-height: 1.6;
  font-size: 14px;
}

.schedule-table th:nth-child(1),
.schedule-table td:nth-child(1) {
  width: 24%;
  white-space: nowrap;
}

.schedule-table th:nth-child(2),
.schedule-table td:nth-child(2),
.schedule-table th:nth-child(3),
.schedule-table td:nth-child(3),
.schedule-table th:nth-child(4),
.schedule-table td:nth-child(4) {
  width: 25.33%;
}

.schedule-table label {
  display: flex;
  align-items: center;
  justify-content: center;
}

.schedule-table input[type="checkbox"] {
  margin: 0;
  transform: scale(1.15);
}

.schedule-table .closed {
  background: #999;
  color: #fff;
}

/*privacy form*/
.form-back-btn {
  background-color: #4d0000;
}

.form-back-btn:hover {
  background-color: #c76f43;
}

/*KV*/
.kv-image {
  border: 10px solid #fafafa;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(80, 60, 40, 0.1);
}

.book-img {
  width: 160px;
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 991px) {
  .book-section {
    text-align: center;
  }

  .book-img {
    width: 200px;
    max-width: 70%;
    margin: 0 auto 20px;
  }

  .book-text {
    text-align: center;
  }

  .book-text .lead {
    font-size: 16px;
    line-height: 1.8;
  }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .book-section {
    justify-content: center;
  }

  .book-section .col-5 {
    flex: 0 0 38%;
    max-width: 38%;
  }

  .book-section .col-7 {
    flex: 0 0 45%;
    max-width: 45%;
  }

  .book-img {
    max-width: 100%;
  }

  .book-text {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .book-section {
    display: block;
    text-align: center;
  }

  .book-section > div {
    width: 100%;
    max-width: 100%;
    flex: none;
    margin-left: 0;
  }

  .book-img {
    display: block;
    width: 200px;
    margin: 0 auto 18px;
  }

  .book-text {
    text-align: center;
  }
}

/*footer*/
.site-footer {
  padding: 35px 0;
  background: #f2ece6;
  color: #4d0000;
}

.footer-social a {
  display: inline-block;
  margin: 0 10px;
  font-size: 28px;
  color: #4d0000;
}

.footer-social a:hover {
  opacity: 0.7;
}
