* {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: 'Noto Sans JP', sans-serif;
        color: #06122B;
}
a {
        transition: all 0.5s;
        text-decoration: none;
}
.linkTxt:hover { 
        color: #CB420D;
}
ul,
li{
        list-style: none;	
}
address {
        font-style: normal;
}
.forSp,
.widgettitle,
.edit-link,
.comments-area,
.entry-meta,
.nav-links,
.cat-links,
.page-header,
.type-post .entry-footer,
.type-page .entry-header {
        display: none;
}
.widget {
	margin: 0 !important;
}
.entry-content {
	overflow:hidden
}
@media screen and (max-width: 960px) {
.forSp {
        display: block;
}
.forPc {
        display: none;
}
}
/*-------------------------
 *  inner
 * -----------------------*/
.innerBlock {
        width: 100%;
        max-width: 1280px;
        margin: 0 auto;
}
.innerBox {
        width: 100%;
        max-width: 1080px;
        margin: 0 auto;	
}
/*-------------------------
 *  display
 * -----------------------*/
.flexBox {
        display: flex;
}
.gridBox {
        display: grid;
}
/*-------------------------
 *  navmenuの下線ホバー
 * -----------------------*/
nav.forPc a {
        position: relative;
}
nav.forPc a::after {
        position: absolute;
        bottom: 2px;
        left: 0;
        content: '';
        width: 100%;
         border: dashed 2px;	
        opacity: 0;
        visibility: hidden;
        transition: all 0.5s;
}
nav.forPc li:nth-of-type(odd) a::after {
        border-color: #CB420D;
}
nav.forPc li:nth-of-type(even) a::after {
        border-color: #2391B1;
}
nav.forPc a:hover::after {
        bottom: -7px;
        opacity: 1;
        visibility: visible;
}
/*-------------------------
 *  logoBox
 * -----------------------*/
.logoBox {
        display: block;
        width: 100%;
        max-width: 150px;
        z-index: 120;
        max-height: 90px;
        height: 100%;
}
.logoBox:hover {
        opacity: 0.5;
}
@media screen and (max-width: 960px) {
.logoBox {
        max-height: 55px;
        max-width: 100px;
}
}
/*-------------------------
 *  img-contain
 * -----------------------*/
.contain {
        object-fit: contain;
        object-position: center;
        width: 100%;
        height: 100%;
}
/*-------------------------
 *  img-cover
 * -----------------------*/
 .cover {
        object-fit: cover;
        object-position: center;
        width: 100%;
        height: 100%;
 }
/*-------------------------
 *  mainTtl
 * -----------------------*/
 .mainTtl {
        display: block;
        width: 100%;
        max-height: 38px;
        height: 100%;
 }
/*-------------------------
 *  基本の行間
 * -----------------------*/
.txtBox p {
        line-height: 2.5;
        letter-spacing: 2px;
}
@media screen and (max-width: 960px) {
.txtBox p {
        letter-spacing: 1.5px;
        font-size: 97%;
}
}
 /*-------------------------
 *  flowerOrn
 * -----------------------*/
 .flowerOrn {
        position: relative;
 }
 .flowerOrn::before {
        content: '';
        display: block;
        position: absolute;
	    height: 100%;
        width: 100%;
 }
 @media screen and (max-width: 960px) {
.flowerOrn::before {
        display: none;
}
}
 /*-------------------------
 *  colorBar
 * -----------------------*/
.colorBar::after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 35px;
        height: 100%;
        background: #2391B1;
}
@media screen and (max-width: 960px) {
.colorBar::after {
        display: none;
}
}
 /*-------------------------
 *  catchPhrase
 * -----------------------*/
.catchBox {
        height: 30px;
        padding: 0 15px;
        width: fit-content;
        background: linear-gradient(transparent 80%, #D79073 0%);
}
 /*-------------------------
 *  colorBtn
 * -----------------------*/
.colorBtn {
        display: block;
        max-width: 145px;
        width: 100%;
        color: #fff;
        font-weight: 600;
        text-align: center;
        padding: 7px 10px;
        border-radius: 7px;
        letter-spacing: 2px;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
}
.colorBtn.black { 
        background: #06122B; 
        border: solid 1px #06122B;
}
.colorBtn.orange { 
        background: #CB420D;
        border: solid 1px #CB420D;
}
.colorBtn.blue { 
        background: #2391B1;
        border: solid 1px #2391B1;
}
.colorBtn.gray {
        background: #C4C5C5;
	    border: solid 1px #C4C5C5;
}
.colorBtn:hover { background: #fff; }
.colorBtn.black:hover { color: #06122B; }
.colorBtn.orange:hover { color: #CB420D }
.colorBtn.blue:hover { color: #2391B1; }
.colorBtn.gray:hover { color: #C4C5C5; }
 /*-------------------------
 *  colorBtn
 * -----------------------*/
.btnBox {
        display: flex;
        justify-content: center;
        gap: 0 40px;
}
 /*-------------------------
 *  productArea
 * -----------------------*/
.productArea {
        width: 100%;
        padding: 0 20px 120px;
}
.productArea .gridBox {
        grid-template-columns: 1fr 1fr;
        gap: 120px 50px;
}
.productArea .descFlex {
        display: flex;
        align-items: end;
        gap: 0 15px;       
}
.productArea .bigItm {
        font-weight: 600;
        font-size: 130%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}
.productArea .smallItm {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
}
@media screen and (max-width: 960px) {
.productArea {
        width: 100%;
        padding: 0 20px 65px;
}
.productArea .gridBox {
        grid-template-columns: 1fr;
}
.productArea .bigItm {
        font-size: 120%;
}
}
 /*-------------------------
 *  productList
 * -----------------------*/
.productList .itm {
        max-width: 615px;
        width: 100%;
}
.productList .imgBox {
        height: 380px;
        width: 100%;
        margin: 0 0 10px;
}
.productList .colorBtn {
        margin: 25px auto 0;
}
@media screen and (max-width: 960px) {
.productList .gridBox {
        gap: 70px 50px;
}	
}
@media screen and (max-width: 520px) {
.productList .imgBox {
        height: 230px;
}
}
 /*-------------------------
 *  productInfo
 * -----------------------*/
.productInfo .gridBox {
        margin: 0 0 30px;
}
.productInfo .swiperBlock {
        width: 100%;
	    max-width: 640px;
}
.productInfo .proSwiper {
        margin: 0 0 10px;
        height: 380px;
        cursor: pointer;
}
.productInfo .prothumSwiper {
        height: 120px;
}
.productInfo .prothumSwiper .swiper-slide {
        cursor: pointer;
}
.productInfo .ttlFlex {
        flex-direction: column;
}
.productInfo .itmTtl {
        margin: 0 0 15px;
}
.productInfo .descFlex {
        margin: 25px 0;
}
.productInfo .colorBtn {
        margin: 40px auto 0;
}
.productInfo .swiper-pagination {
        display: none;
}
@media screen and (max-width: 1280px) {
.productInfo .gridBox {
        gap: 20px;	
}
.productInfo .swiperBlock {
		max-width: 520px;
		margin: auto;
}
}
@media screen and (max-width: 960px) {
.productInfo .gridBox {
		gap: 10px 0;
}
.productInfo .proSwiper .swiper-slide {
		width: 100% !important;
}
.productInfo .prothumSwiper {
        display: none;
}
.productInfo .swiper-pagination {
        display: block;
}
.productInfo .swiper-pagination-bullet {
        border: solid #fff 1px;
        background: transparent !important;
        width: 12px !important;
        height: 12px !important;
        opacity: 1 !important;
}
.productInfo .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: #fff !important;		
}
.productInfo .ttlFlex {
		flex-direction: initial;
		align-items: baseline;
		gap: 0 15px;
}
.productInfo .itmTtl {
		margin: 0;
}
.productInfo .descFlex {
		margin: 10px 0 25px;
}
}
@media screen and (max-width: 520px) {
.productInfo .proSwiper {
		height: 230px;		
}
}
 /*-------------------------
 *  formArea
 * -----------------------*/
 input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  transition: all 0.5s;
  font: inherit;
  font-family: inherit;
  outline: none;
  cursor: pointer;

}
label,
.check {
  cursor: pointer;
}
.formArea {
        width: 100%;
        padding: 0 20px 120px;
}
.formArea .innerContainer {
        width: 100%;
        max-width: 960px;
        margin: 0 auto;
}
.formArea .formBlock {
        gap: 30px 0;
        padding: 0 0 60px;
}
.formArea .ttl {
        font-size: 95%;
        line-height: 1;
        font-weight: 600;
        margin: 0 0 10px;
}
.formArea .mustItm {
        color: #CB420D;
        margin: 0 0 0 10px;
        background: #f4f1f1;
        padding: 0px 5px;
        font-size: 90%;
        border-radius: 2px;
}
.formArea .txt,
.formArea .mailladd,
.formArea .txtarea {
        width: 100%;
        font-family: 'Roboto','Noto Sans JP', sans-serif;
        border-radius: 5px;
	    max-width: 960px;
	    min-height: 60px;
		padding: 5px;
		font-size: 110%;
}
.formArea.contactForm  .txt,
.formArea.contactForm .txtarea,
.formArea.contactForm .mailladd {
        border: solid 2px #CB420D;
}
.formArea.reserveForm  .txt,
.formArea.reserveForm .txtarea,
.formArea.reserveForm .mailladd {
        border: solid 2px #2391B1;
}
.formArea .txt:focus,
.formArea .txtarea:focus,
.formArea .mailladd:focus {
	    outline: none;
        border-width: 3px;
        background: #f4f1f1;
}
.formArea .btnWrap {
        max-width: 145px;
        width: 100%;
        margin: auto;
}
.privacyBlock {
        padding: 0 0 45px;
}
.privacyBlock .privacyBox {
        max-width: 680px;
        width: 100%;
        margin: 0 auto 25px;
        max-height: 250px;
        overflow-y: scroll;
        padding: 15px;
        background: #f4f1f4;
        border-radius: 5px;
}
.privacyBlock h2 {
        text-align: center;
        padding: 0 0 10px;
        font-size: 120%;
}
.privacyBlock .desc {
        padding: 0 0 20px;
}
.privacyBlock .container {
        padding: 0 0 25px;
        margin: 0 auto;
}
.privacyBlock .privacyTtl {
        padding: 0 0 5px;
        font-size: 100%;
}
.privacyBlock .gridBox {
        line-height: 1.8;
        display: grid;
        gap: 5px 0;
}
.privacyBlock .innerList {
        padding: 0 0 0 20px;
        display: grid;
        gap: 10px 0;
}
.privacyBlock .innerList li {
        list-style: decimal;
}
.privacyBlock .prCheck {
        text-align: center;
}
.privacyBlock .btnBlock {
        place-content: center;
        gap: 25px;
}
/*確認画面*/
.mw_wp_form_confirm .privacyBlock {
        display: none;
}
.mw_wp_form_confirm .formArea .itm {
        padding: 17px 5px;
        border-radius: 5px;
        background: #f2f2f2;
}
.mw_wp_form_confirm .formArea.reserveForm .itm {
        border: solid 2px #2391B1;	
}
.mw_wp_form_confirm .formArea.contactForm .itm {
        border: solid 2px #CB420D;
}
.mw_wp_form_confirm .formArea .btnBlock {
        display: flex;
        gap: 20px 0;
        justify-content: space-between;
}
.mw_wp_form_confirm .formArea .btnWrap {
        margin: inherit;
}
@media screen and (max-width: 960px) {
.privacyBlock h2 {
        font-size: 110%;	
}
.privacyBlock .privacyTtl {
        font-size: 95%;
}
.privacyBlock .desc,
.privacyBlock .gridBox {
		font-size: 92%;
}
}
 /*-------------------------
 *  pageNavi
 * -----------------------*/
.wp-pagenavi {
		display: flex;
		justify-content: center;
		gap: 15px;
		padding: 30px 0 0;
		font-size: 110%;
		font-weight: 600;
}
.wp-pagenavi a:hover {
		color: #CB420D;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink{
		padding: 0 8px;
		background: #F4F1F1;
		border-radius: 50%;
}
 /*-------------------------
 *  pageArea
 * -----------------------*/
.pageArea {
        width: 100%;
        padding: 0 20px 120px;  
}
.pageArea .flexBox {
        gap: 30px 50px;
        justify-content: center;
        margin:175px auto 50px;
        padding: 80px 20px;
        background: #F4F1F1;
        border-radius: 10px;
        align-items: center;  
}
.pageArea .icoBox {
        width: 100%;
        max-width: 120px;
}
.pageArea .icoBox i {
        font-size: 120px;	
}
.pageArea .txtBox {
        font-size: 110%;
        font-weight: 500;
}
.pageArea .colorBtn {
        margin: auto;
}
@media screen and (max-width: 960px) {
.pageArea .flexBox {
        flex-direction: column;
        padding: 40px 20px;
}
}
 /*-------------------------
 *  bottomIn animation
 * -----------------------*/
.animWrap,
.animWrap .animIn {
        opacity: 0;
        overflow: hidden;
}
.animWrap[data-emergence=visible] {
        animation: bottomWrap 1.5s cubic-bezier(0.22, 1, 0.36, 1);
        animation-fill-mode: forwards;
}
.animWrap[data-emergence=visible] .animIn {
        animation: bottomIn 1.5s cubic-bezier(0.22, 1, 0.36, 1);
        opacity: 0;
        animation-fill-mode: forwards;
}
@keyframes bottomWrap {
  100% {
    opacity: 1;
  }
}
@keyframes bottomIn {
  0% {
    transform: matrix(1, 0, 0, 1, 0, 200);
  }
  100% {
    opacity: 1;
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}
 /*-------------------------
 *  postpageStyle
 * -----------------------*/
.postpageStyle {
  padding: 180px 10px 100px;
  width: 100%;
  background: url(/wp-content/uploads/2025/07/img_aboutBack.png);
    background-size: auto;
  background-size: auto;
  background-size: cover;
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 80vh;
}
.postpageStyle h1 {
  margin: 0 auto 50px;
  padding: 0 10px;
  font-size: 110%;
  letter-spacing: 2px;
  font-weight: 900;
  text-align: center;
}
.postpageStyle h1 p {
  position: relative;
  z-index: 5;
  padding: 0 10px;
  font-size: 150%;
  letter-spacing: 2px;
  font-weight: 900;
  display: inline-block;
  right: 0;
  left: 0;
}
.postpageStyle h1 p::before {
  content: "";
  height: 10px;
  background: #d99276;
  position: absolute;
  bottom: 2px;
  width: 100%;
  z-index: -1;
  left: 0;
  display: inline-block;
}
.postpageStyle .txt_bl {
  max-width: 960px;
  margin: 0 auto;
  font-size: 105%;
  line-height: 2.5;
  letter-spacing: 2px;
}
@media screen and (max-width: 960px) {
  .postpageStyle {
    padding: 120px 10px;
    background: url(/wp-content/uploads/2025/07/img_aboutBack_sp.png);
  }
  .postpageStyle h1 p {
	font-size: 120%;
  }
  .postpageStyle .txt_bl {
    letter-spacing: 1.5px;
    font-size: 99%;
	padding: 0 20px;
  }
}