@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400&family=Sawarabi+Gothic&family=Water+Brush&display=swap');
/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
/* 20230214 added by Sano */
.page-title h1, div.copy,  h3.box-h3, .title-type02 p, ja,.fixed-footer p, a {
    font-family: 'Sawarabi Gothic', sans-serif;
    letter-spacing: 0.25em;
	font-weight: 400;
}
.en, div.btn {
    font-family: 'Jost', sans-serif;
	font-weight: 300;
}
.mainvisual-catch div.sub-text .en {
    font-size: 7rem;
    line-height: 1.4;
    font-family: 'Water Brush', cursive;
    color: #fff;
	word-break: normal;
}
.mainvisual-catch {
	 border: solid 2px rgba(255, 255, 255, .8);
	 padding: 50px 30px;
}
.mainvisual-catch div.copy{
	font-size: 4.5rem;
    letter-spacing: 0.1em;
	font-weight: 400;
}
.header-logo {
    width: 260px;
}
.box h2.box-h2 {
    font-size: 5.2rem;
}
.box .btn a{	
	color: #545454;
	padding: 12px 60px 12px 54px;
    border-radius: 0px;
}
.box-wrap.bg.bg-grain:before {
    background: url(../images/bg-grain.jpg) repeat top center / 100% auto;
}
.title-type02:before {
    width: 80px;
    height: 4px;
}
.mg-bt-1vh {
    margin-bottom: 1vh;
}
.header-nav > ul > li > a span.title {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    opacity: 0.6;
}
.list-number-type01 ol li:before {
	font-family:'Water Brush', cursive;
    color: var(--main-color-2);
}
.list-number-type02 ol li:before {
    font-family: 'Jost';
    font-weight: 300;
	color: var(--main-color-2);
	border-bottom: none;
}
.box  h2.copy.ja {
    font-size: 3.2rem;
    font-family: 'Sawarabi Gothic', sans-serif;
    color: #0099cb;
	font-weight: 300;
	letter-spacing: .14rem;
}
.image-text-type02 .text {
    margin-top: 3vh;
}
.image-text-type02 .text:before {
    top: 26px;
}
#top .list-number-type01 ol li .text {
    background: #fff;
}

span.en.bnr-sub {
    font-size: 2rem;
}

.contact-type01 .text .tel:before {
    content: "\e0b0";
}
.contact-type01 .title .en {
    font-size: 6.8rem;
    font-weight: 400;
    font-family: 'Water Brush', cursive;
    color: #ffe03f;
}
.contact-type01 .title .ja {
    font-family: 'Sawarabi Gothic', sans-serif;
    font-size: 2.2rem;
    font-weight: 400;
    opacity: .9;
}

.contact-type01 .text .tel.phone:before {
    content: '\e0b0' !important;
    margin: 0 15px 0 0;
    font-size: 6rem;
    font-family: "Material Symbols Outlined";
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

.fixed-footer .contact a {
    padding: 8px 34px;
    color: #f6ad48;
    background: #fff;
    border-radius: 0px;
}
.fixed-footer .tel a {
    letter-spacing: 0.4rem;
    font-family: 'Jost', sans-serif;
}
.fixed-footer {
    background: rgba(246, 173, 72, 0.8);
    z-index: 1;
    color: #fff;
}


.contact-type01 .text .tel {
    font-weight: 500;
}



/* ------- Sano ------- */


/*
h2, .mainvisual-catch p, .en, .menu {
	font-family:'Sriracha', cursive;
}*/
/*.box h2.box-h2 {
    font-size: 5.5rem;
}*/
.font-color-fff{
	color: #fff;
}
.mainvisual {
    margin: 0 0 calc(var(--box-margin) + 1vh) 0;
    height: calc(100vh - 100px);
    width: 100%;
}
.mv-inner{
	position:relative;
}
.swiper {
    overflow: unset;
}
.mainvisual-catch {
    /*padding: 40px 50px;*/
    /*left: 1.3%;*/
	 left: 25%;
	 width: 50%;
	 color: #fff;
	 bottom:35vh;
	text-align: center;
	/* border: solid 3px;*/
}
/*.mainvisual-catch div.copy {
    font-size: 4.5rem;
}*/
/*.header-logo {
    width: 300px;
}*/
.footer-main .logo {
    width: 300px;
}
.image-bg-type02 .text {
    max-width: 1040px;
}


/* 20230116 added by Fabo */
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }

.box-color {
  margin: 35px 0 40px;
  padding: 35px;
  background: #ebf9fe;
}
.box-color :first-child {
  margin-top: 0 !important;
}
.box-color :last-child {
  margin-bottom: 0 !important;
}
.box-color p {
  margin-top: 20px !important;
}

.strong {
  color: #0099cb;
}


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
.mainvisual {
    margin-left: 0%;
}
/*.header-logo {
    background: #ffffffab;
}*/
.mainvisual-catch {
    left: 0em;
    width: 100%;
	bottom: 35vh;
}
.header-logo {
    top: 180%
}
.mainvisual-catch {
    border: unset;
}
	/* 20230214 added by Sano */
	.box .btn a {
    font-size: 1.4rem;
}
	.list-number-type01 ol li:before {
    font-size: 5.6rem;
}
.box h2.box-h2 {
	word-break: normal;
}	
	
/*20230221 mori*/
.text p {
    text-align: left;
}
.box .copy {
    font-size: 1.6rem;
}
.list-number-type02 ol, .list-number-type01 ol {
    flex-wrap: wrap;
    gap: 20px;
    display: flex !important; 
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
}
.list-number-type01 ol li, .list-number-type02 ol li {
    width: 45%;
}
.list-number-type01 .text p{
		display:none;
}
/*文字数制限*/
.txt-limit {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6; /* 任意の行数を指定 */
}
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
/* 20230214 added by Sano */
	.mainvisual-catch div.copy {
    font-size: 4rem;
}
/*20230221 mori*/
.text p {
    text-align: left;
}
.box .copy {
    font-size: 1.6rem;
}
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	/* 20230214 added by Sano */
	h1.header-logo {
    width: 160px;
}
	.mainvisual-catch {
    padding: 0px 30px;
    bottom: 35vh;
}
.mainvisual-catch div.sub-text .en {
    font-size: 3.2rem;
}
.mainvisual-catch div.copy {
    font-size: 3.5rem;
}
.box-wrap.bg.bg-grain:before {
    background: url(../images/bg-grain.jpg) repeat top center / 260% auto;
}
.box h2.box-h2 {
    font-size: 3.6rem;
}

.box  h2.copy.ja {
    font-size: 2.8rem;
}
.box.title-type02.pdtop-10vh,.pdtop-10vh  {
    padding-top: 10vh;
}
	.contact-type01 .text .tel:before {
    margin: 0 10px 0 0;
    font-size: 3.8rem;
}
.contact-type01 .text .tel {
    font-size: 3rem;
    font-weight: 500;
    /*white-space: nowrap;*/
    font-feature-settings: "palt";
	 -webkit-text-size-adjust: 100%;
	letter-spacing: 0px;
	font-family: "Avenir", "Helvetica Neue", "Helvetica", "Arial", "YuGothic", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
.contact-type01 .text .tel:before {
    font-size: 2.5rem;
}
.contact-type01 .title {
    margin: 0 auto 0px auto;
}
	.list-number-type01 ol li:before {
    font-size: 3.8rem;
}
.footer-main .logo {
    width: 250px;
}
	
	
/*20230221 mori*/
.text p {
    text-align: left;
}
.box .copy {
    font-size: 1.6rem;
}

/*20240722 kasaki*/
.sphone-fixed-footer ul li.line a:before {
  content: "\e0bf";
}

}
