@charset "UTF-8";

/* googleフォント読み込み */
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');*/

.epb-columns[style*=border-width] {
    border-style: none;
}

/* PC */
@media screen and (min-width: 601px) {
	.sp{
		display: none !important;
	}
}

/* SP */
@media (max-width: 600px) {
	.pc{
		display: none !important;
	}
}


/* 要素を全幅 */
/*
.class-full-width{
  margin: 0 calc(50% - 50vw - 50px);
  width: calc(100vw - 100px);
}
*/
.class-full-width{
  margin: 0 calc(50% - 50vw);
  width: calc(100vw);
}

/* sectionブロックの中の要素を広げる。 親要素のセクションに.full-wide */
section.imp-full-width > .epb-separator__inner > .epb-l-content__main,div.imp-full-width > .epb-separator__inner > .epb-l-content__main {
    max-width: 100% !important;
}
.full-wide > .epb-separator__inner > .epb-l-content__main {
    max-width: 100% !important;
}

/* google mapをグレースケール 親要素のセクションに.map--gray */
.map--gray iframe[src^="https://www.google.com/maps/"] {
     -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%);
     -o-filter: grayscale(100%);
     -ms-filter: grayscale(100%);
     filter: grayscale(100%);
}


/* 要素を斜めに */
div.click-path50,section.click-path50 {
  background-color:#eee;
  clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
}
/*
div.click-path50::after,section.click-path50::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAAAAXNSR0IArs4c6QAAABVJREFUGFdjDIr68H/dMgFGRgYoAAA4mQQDWYdE7AAAAABJRU5ErkJggg==);
    background-repeat: repeat, no-repeat;
    background-blend-mode: overlay;
    background-size: auto, cover;
}
*/
/* コンテナ[flex]を使用した際の中のコンテナの要素の幅 */
@media screen and (min-width: 601px) {
	.flex-pc-5 .epb-container-flex__inner > div {
		width:19%;
	}
	.flex-pc-4 .epb-container-flex__inner > div {
			width:24%;
	}

	.flex-pc-3 .epb-container-flex__inner > div {
			width:32%;
	}

	.flex-pc-2 .epb-container-flex__inner > div {
			width:49%;
	}
}

@media (max-width: 600px) {
	.flex-sp-4 .epb-container-flex__inner > div {
		width:24%;
	}
	.flex-sp-3 .epb-container-flex__inner > div {
			width:32%;
	}
	.flex-sp-2 .epb-container-flex__inner > div {
			width:49%;
	}
	.flex-sp-1 .epb-container-flex__inner > div {
			width:100%;
	}
}

/* 見出しのサブテキストを中央揃え */
.subtxt_center span.epb-advance-headling__sub-text {
    text-align: center;
    width: 100%;
}

/* 無限スクロール用 */
ul.infiniteslide {
  //display: none;
  transition: opacity .3s linear;
}

/* slickslider用 */
.sliderblock{
  //opacity: 0;
  transition: opacity .3s linear;
}
.sliderblock.slick-initialized{
  opacity: 1;
}

/* fancybox用 */
img[data-fancybox] {
    cursor: pointer;
}

/*----------------------------------------------------
見出し
----------------------------------------------------*/
.title001 h2 {
    -webkit-transform: skewX(-10deg);
    transform: skewX(-10deg);
    width: calc(100% + 15px);
    margin-left: -7.5px;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 15px 30px 15px 15px;
    border: none;
    background: #E50011;
    color: #fff;
    position: relative;
}
.title001 h2:before, .title001 h2:after {
    content: "";
    display: block;
    width: 5px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: 5px;
}
.title001 h2:after {
    right: 15px;
}

h2.hstyle01 {
    -webkit-transform: skewX(-10deg);
    transform: skewX(-10deg);
    width: calc(100% + 15px);
    margin-left: -7.5px;
    font-family: 'Noto Sans JP', sans-serif;
    padding: 15px 30px 15px 15px;
    border: none;
    background: #E50011;
    color: #fff;
    position: relative;
}
h2.hstyle01:before,h2.hstyle01:after {
    content: "";
    display: block;
    width: 5px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: 5px;
}
h2.hstyle01:after {
    right: 15px;
}

h2.hstyle02 {
  position: relative;
  color: #fff;
  background-color: #da3c3c;
  overflow: hidden;/*はみ出ないようにする*/
  padding: 10px 8px;
}
h2.hstyle02:before{
  position: absolute;
  content: '';
  display: block;
  bottom: -220px;
  right: -240px;
  width: 330px;
  height: 330px;
  transform: rotate(50deg);/*斜めにする角度*/
  background-color: #1b2538;
}

/*----------------------------------------------------
装飾
----------------------------------------------------*/
/* ボックスマーカー 左上 */
.epb-panel-box.top-left-triangle .epb-panel-box__inner::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    border: transparent 15px solid;
    z-index: 10;
    border-top: var(--ep-primary-color) 15px solid;
    border-left: var(--ep-primary-color) 15px solid;
}

/* ボックスマーカー 右上 */
.epb-panel-box.top-right-triangle .epb-panel-box__inner::before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    border: transparent 15px solid;
    z-index: 10;
    border-top: var(--ep-primary-color) 15px solid;
    border-right: var(--ep-primary-color) 15px solid;
}

/* ボックスマーカー 左下 */
.epb-panel-box.bottom-left-triangle .epb-panel-box__inner::before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    border: transparent 15px solid;
    z-index: 10;
    border-bottom: var(--ep-primary-color) 15px solid;
    border-left: var(--ep-primary-color) 15px solid;
}

/* ボックスマーカー 右下 */
.epb-panel-box.bottom-right-triangle .epb-panel-box__inner::before {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    border: transparent 15px solid;
    z-index: 10;
    border-bottom: var(--ep-primary-color) 15px solid;
    border-right: var(--ep-primary-color) 15px solid;
}

/*----------------------------------------------------
contact form 7
----------------------------------------------------*/
form.wpcf7-form.init {
    background: #f7f7f7;
    padding: 30px;
}
.cf-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2em 0;
	border-bottom: 1px dashed #ccc;
	transition: all .3s;
}

.cf-area:last-child {
	border-bottom: none;
}

.cf-area dt {
  width: 200px;
  padding-right: 30px;
  text-align: right;
	line-height:1.5em;
}

.cf-area dd {
    flex: 1;
}

.cf-area input, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: 1px solid #b8bcc0;
  background-color: #FFF;
  font-size: 16px;
	resize: vertical;
	transition: all .3s;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}

.cf-send input {
	display: block;
	background: linear-gradient(135deg, #6b7a8e 0%, #3b4a5e 100%);
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	border-radius: 10px;
	color: #fff;
	box-shadow: 2px 5px 15px 0 rgba(0, 0, 0, .2);
	font-size: 1.3em;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.cf-send p{
	text-align:center;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #fce3e3;
	border: none;
	text-align: center;
}

@media screen and (max-width:768px){
	.cf-area {
		display: block;
	}

	.cf-area dt {
    width: 100%;
		margin-bottom: 5px;
    padding-right: 0;
    text-align: left;
		line-height:1.5em;
	}
}

/* contact form 7 別バージョン */
.custom-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    box-sizing: border-box;
}

.custom-form .form-group {
    margin-bottom: 20px;
}

.custom-form label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.custom-form .required {
    color: red;
}

.custom-form .form-control {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
}

.custom-form textarea.form-control {
    height: 150px;
}

.custom-form .radio-group,
.custom-form .checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.custom-form .radio-group label,
.custom-form .checkbox-group label {
    display: inline-flex;
    align-items: center;
    margin-right: 15px;
    font-weight: normal;
}

.custom-form .radio-group input,
.custom-form .checkbox-group input {
    margin-right: 5px;
}

.custom-form .btn {
    padding: 10px 20px;
    font-size: 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.custom-form .btn-primary {
    background-color: #007bff;
    color: white;
}

.custom-form .btn-primary:hover {
    background-color: #0056b3;
}

/* レスポンシブデザイン（600px以下） */
@media (max-width: 600px) {
    .custom-form .custom-form {
        padding: 10px;
    }

    .custom-form .form-group {
        margin-bottom: 15px;
    }

    .custom-form .form-control {
        font-size: 14px;
    }

    .custom-form .radio-group,
    .custom-form .checkbox-group {
        flex-direction: column;
        gap: 5px;
    }

    .custom-form .radio-group label,
    .custom-form .checkbox-group label {
        margin-right: 0;
    }

    .custom-form .btn {
        width: 100%;
    }
}
/* 2ページ目以降のメニューが白くならないので暫定で設置 */
[class*="_full_width_overlay"].is-overlay .header-menu:not(.is-drop-fixed) > .menu-item:not(.current-menu-item):not(.ep-menu-item-has-background):not(.ep-menu-item-has-background-02) > a{
    text-decoration: none;
    color: #ffffff;
}
.home.is-overlay .header-info, .home.is-overlay .header-tel-access__item a, [class*="_full_width"].is-overlay .header-info, [class*="_full_width"].is-overlay .header-tel-access__item a, [class*="_full_width_overlay"].is-overlay .header-info, [class*="_full_width_overlay"].is-overlay .header-tel-access__item a {
    color: #ffffff;
}

/* ギャラリーブロックの画像がすべて同じサイズにする(一覧表示の最終行を拡大しない) */
.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-grow: 0;
}

/* GoogleMapをレスポンシブに対応して色を変える classで囲む */
.map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}
.map.vwmax {
    position: relative;
    width: 100%;
    /*padding-top: 56.25%;*/
    padding-top: 25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*グレー*/
.map--gray iframe{
     -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%);
     -o-filter: grayscale(100%);
     -ms-filter: grayscale(100%);
     filter: grayscale(100%);
}
/*セピア*/
.map--sepia iframe{
     -webkit-filter: brightness(80%)sepia(100%);
     -moz-filter: brightness(80%)sepia(100%);
     -o-filter: brightness(80%)sepia(100%);
     -ms-filter: brightness(80%)sepia(100%);
     filter: brightness(80%)sepia(100%);
}
/*ブルー*/
.map--blue iframe {
    -webkit-filter: grayscale(100%) sepia(20%) hue-rotate(190deg) saturate(300%) brightness(95%);
    -moz-filter: grayscale(100%) sepia(20%) hue-rotate(190deg) saturate(300%) brightness(95%);
    -o-filter: grayscale(100%) sepia(20%) hue-rotate(190deg) saturate(300%) brightness(95%);
    -ms-filter: grayscale(100%) sepia(20%) hue-rotate(190deg) saturate(300%) brightness(95%);
    filter: grayscale(100%) sepia(20%) hue-rotate(190deg) saturate(300%) brightness(95%);
}
/*レッド*/
.map--red iframe {
    -webkit-filter: grayscale(100%) sepia(50%) hue-rotate(300deg) saturate(250%) brightness(90%);
    -moz-filter: grayscale(100%) sepia(50%) hue-rotate(300deg) saturate(250%) brightness(90%);
    -o-filter: grayscale(100%) sepia(50%) hue-rotate(300deg) saturate(250%) brightness(90%);
    -ms-filter: grayscale(100%) sepia(50%) hue-rotate(300deg) saturate(250%) brightness(90%);
    filter: grayscale(100%) sepia(50%) hue-rotate(300deg) saturate(250%) brightness(90%);
}
/* パープル系 */
.map--purple iframe {
    -webkit-filter: grayscale(100%) sepia(20%) hue-rotate(240deg) saturate(280%) brightness(85%);
    -moz-filter: grayscale(100%) sepia(20%) hue-rotate(240deg) saturate(280%) brightness(85%);
    -o-filter: grayscale(100%) sepia(20%) hue-rotate(240deg) saturate(280%) brightness(85%);
    -ms-filter: grayscale(100%) sepia(20%) hue-rotate(240deg) saturate(280%) brightness(85%);
    filter: grayscale(100%) sepia(20%) hue-rotate(240deg) saturate(280%) brightness(85%);
}

/* グリーン系 */
.map--green iframe {
    -webkit-filter: grayscale(100%) sepia(30%) hue-rotate(90deg) saturate(250%) brightness(95%);
    -moz-filter: grayscale(100%) sepia(30%) hue-rotate(90deg) saturate(250%) brightness(95%);
    -o-filter: grayscale(100%) sepia(30%) hue-rotate(90deg) saturate(250%) brightness(95%);
    -ms-filter: grayscale(100%) sepia(30%) hue-rotate(90deg) saturate(250%) brightness(95%);
    filter: grayscale(100%) sepia(30%) hue-rotate(90deg) saturate(250%) brightness(95%);
}

/* オレンジ系 */
.map--orange iframe {
    -webkit-filter: grayscale(100%) sepia(100%) hue-rotate(350deg) saturate(250%) brightness(100%);
    -moz-filter: grayscale(100%) sepia(100%) hue-rotate(350deg) saturate(250%) brightness(100%);
    -o-filter: grayscale(100%) sepia(100%) hue-rotate(350deg) saturate(250%) brightness(100%);
    -ms-filter: grayscale(100%) sepia(100%) hue-rotate(350deg) saturate(250%) brightness(100%);
    filter: grayscale(100%) sepia(100%) hue-rotate(350deg) saturate(250%) brightness(100%);
}

/* ピンク系 */
.map--pink iframe {
    -webkit-filter: grayscale(100%) sepia(50%) hue-rotate(280deg) saturate(300%) brightness(95%);
    -moz-filter: grayscale(100%) sepia(50%) hue-rotate(280deg) saturate(300%) brightness(95%);
    -o-filter: grayscale(100%) sepia(50%) hue-rotate(280deg) saturate(300%) brightness(95%);
    -ms-filter: grayscale(100%) sepia(50%) hue-rotate(280deg) saturate(300%) brightness(95%);
    filter: grayscale(100%) sepia(50%) hue-rotate(280deg) saturate(300%) brightness(95%);
}

/* ターコイズ系 */
.map--turquoise iframe {
    -webkit-filter: grayscale(100%) sepia(20%) hue-rotate(160deg) saturate(300%) brightness(95%);
    -moz-filter: grayscale(100%) sepia(20%) hue-rotate(160deg) saturate(300%) brightness(95%);
    -o-filter: grayscale(100%) sepia(20%) hue-rotate(160deg) saturate(300%) brightness(95%);
    -ms-filter: grayscale(100%) sepia(20%) hue-rotate(160deg) saturate(300%) brightness(95%);
    filter: grayscale(100%) sepia(20%) hue-rotate(160deg) saturate(300%) brightness(95%);
}

/* ダーク系 */
.map--dark iframe {
    -webkit-filter: grayscale(100%) brightness(70%) contrast(120%);
    -moz-filter: grayscale(100%) brightness(70%) contrast(120%);
    -o-filter: grayscale(100%) brightness(70%) contrast(120%);
    -ms-filter: grayscale(100%) brightness(70%) contrast(120%);
    filter: grayscale(100%) brightness(70%) contrast(120%);
}

/* ビンテージ風 */
.map--vintage iframe {
    -webkit-filter: grayscale(40%) sepia(40%) brightness(90%) contrast(95%);
    -moz-filter: grayscale(40%) sepia(40%) brightness(90%) contrast(95%);
    -o-filter: grayscale(40%) sepia(40%) brightness(90%) contrast(95%);
    -ms-filter: grayscale(40%) sepia(40%) brightness(90%) contrast(95%);
    filter: grayscale(40%) sepia(40%) brightness(90%) contrast(95%);
}

/* モノクロ高コントラスト */
.map--high-contrast iframe {
    -webkit-filter: grayscale(100%) contrast(150%) brightness(85%);
    -moz-filter: grayscale(100%) contrast(150%) brightness(85%);
    -o-filter: grayscale(100%) contrast(150%) brightness(85%);
    -ms-filter: grayscale(100%) contrast(150%) brightness(85%);
    filter: grayscale(100%) contrast(150%) brightness(85%);
}

/* SNSアイコン */
/* ボタン全体の外枠指定 */
.snsbtniti {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-around;
  max-width: 350px;/* ボタンを設置する場所の最大横幅 */
  margin: 0 auto;/* ボタンを中央へ */
}

/* ulタグの内側余白なしと箇条書きの黒丸削除 */
ul.snsbtniti {
  padding: 0!important;
  list-style-type: none!important;
}

/* ボタン同士の余白調整 */
.snsbtniti li {
  flex: 0 0 33%;/* ボタンを3つ並びへ */
  text-align: center!important;
  /*transform: skew(3deg, 351deg); //枠を斜めに*/
}

/* ボタン全体 */
.snsbtniti .flowbtn {
  font-family: 'Noto Sans Japaneses', sans-serif; /* フォント指定 */
  position: relative;
  display: inline-block;
  width: 75px; /* 背景横幅 */
  height: 65px;/* 背景高さ */
  font-size: 30px;/* アイコンサイズ */
  border-radius: 4px;
  color: #fff!important;/* ボタン内カラー */
  transition: .5s;
  text-decoration: none;
  box-shadow: 0 1px 2px #999;
  margin-bottom:10px;/* ボタン下余白 */
}

/* アイコンの位置を少し下げる */
.snsbtniti .flowbtn i {
  position: relative;
  top: 2px;
}

/* ボタン内テキスト調整 */
.snsbtniti .flowbtn div {
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0;
}

/* ボタンマウスホバー時少し浮き上がる */
.snsbtniti .flowbtn:hover {
  -webkit-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
  transform: translateY(-5px);
  text-decoration: none;
  cursor: pointer;
}

/* インスタ・Amazonのアイコンを少し大きく */
.snsbtniti .flowbtn i.fa-brands.fa-instagram,.snsbtniti .flowbtn i.fa-brands.fa-amazon {
  font-size: 35px;
}

/* エックス背景 */
.snsbtniti .my_x1 {
  background: #000;
}

/* Instagram紫グラデ背景 */
.snsbtniti .my_instagram1 {
 background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
}

/* Facebook背景 */
.snsbtniti .my_facebook1 {
  background: #1877f2;
}

/* YouTube背景 */
.snsbtniti .my_youtube1 {
  background: #da1725;
}

/* TikTok背景 */
.snsbtniti .my_tiktok1 {
  background: #000;
}

/* Amazon背景 */
.snsbtniti .my_amazon1 {
  background: #ff9900;
}

/* LINE背景 */
.snsbtniti .my_line1 {
  background: #00b900;
}

/* ピンタレスト背景 */
.snsbtniti .my_pinterest1 {
  background: #bd081c;
}

/* はてブ背景 */
.snsbtniti .my_hatena1 {
  background: #1ba5dc;
}
/* はてブビックリマーク */
.snsbtniti .my_hatena1 .fa-b::after {
  content: "!";
  padding-left: 5px;
}

/* Pocket背景 */
.snsbtniti .my_pocket1 {
  background: #ef3f56;
}

/* Feedly背景 */
.snsbtniti .my_feedly1 {
  background: #6cc655;
}

/* 楽天ROOM背景 */
.snsbtniti .my_rakutenroom1 {
  background: #c61d79;
}

/* リンクドイン背景 */
.snsbtniti .my_linkedin1 {
  background: #0a66c2;
}

/* ディスコード背景 */
.snsbtniti .my_discord1 {
  background: #7289da;
}

/* Podcast背景 */
.snsbtniti .my_podcast1 {
  background: #813BF2;
}