@charset "utf-8";
/*
Theme Name: dw-one
Description: D&W_Theme
Version: 1.0
*/

/* RESET CSS */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}


/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/*body*/

body {
width: 100%;
	-webkit-text-size-adjust: 100%;
font-family: "Noto Sans JP", sans-serif;
font-weight: 400;
font-size:16px;
background-color: #fcfaf7;
}

img {
    border: 0;
    vertical-align: top;
}

.contents-left {
	float: left;
	vertical-align: top;
	display: inline-block;
}

.contents-right {
	float: right;
	vertical-align: top;
	display: inline-block;
}

li {
	list-style-type: none;
}

a {
	text-decoration: none;
	transition: .5s;
}

a:hover {
	opacity: 0.75;
}

a[href^="tel:"] {
  pointer-events: none;
}


.contents-box {

font-weight: 400;
	clear: both;
	margin-right: auto;
	margin-left: auto;
	color: #000;
	font-size: 17px;
	line-height: 1;
}

.contents-box p {
	font-family: 'Noto Sans JP', sans-serif;
font-weight: 400;
	font-size: 16px;
	color: #000;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

.contents-box p br.sp-view {
	display: none;
}

.contents-box a {
	color: #29aae1;
}

.contents-box p a {
	color: #29aae1;
}

.space-box {
	clear:both;
}




/*================================================
 *  hd-slider
 ================================================*/
.hero-container {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 0.75;
  overflow: hidden;
  background: #000;
}

@media (min-width: 768px) {
  .hero-container {
    height: 100vh;
    aspect-ratio: auto;
  }
}


/* 背景画像（imgタグ）共通設定 */
.bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 1枚目：常に一番下に敷いておく (z-index不要) */
.bg1 {
  opacity: 1; /* 常に表示 */
  animation: bg1-anim 20s infinite linear;
}

.bg2 {
  z-index: 2; 
  opacity: 0;
  animation: bg2-anim 20s infinite linear;
}



/* 2枚目：左へスライド（パン） 1枚目の上に重ねて、10秒ごとにフェードイン・アウトさせる */
.bg2 {
  z-index: 2; 
  opacity: 0;
  animation: bg2-anim 20s infinite linear;
}

/* タイトル画像（2秒後にフェードイン） */
.title-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  width: 100%;
  
  opacity: 0; /* 最初は隠しておく */
  animation: logo-fade-in 1.5s forwards; /* 1.5秒かけてフェードイン */
  animation-delay: 3s; /* 3秒待ってから開始 */
}

/* --- アニメーション定義 --- */
/* 1枚目：ズームアウトして消える（一方通行） */
@keyframes bg1-anim {
  0%   { opacity: 1; transform: scale(1.15); z-index: 2; }
  45%  { opacity: 1; }
  50%  { opacity: 0; transform: scale(1);    z-index: 1; } /* 10秒で等倍になりつつ消える */
  95%  { opacity: 0; transform: scale(1.15); }             /* 裏側でこっそり拡大サイズに戻る */
  100% { opacity: 1; transform: scale(1.15); z-index: 2; } /* ループの瞬間に不透明に戻る */
}

/* 2枚目：左パンして消える（一方通行） */
@keyframes bg2-anim {
  0%   { opacity: 0; transform: scale(1.1) translateX(3%); z-index: 1; }
  45%  { opacity: 0; }
  50%  { opacity: 1; z-index: 2; } /* 10秒地点で現れる */
  95%  { opacity: 1; transform: scale(1.1) translateX(-3%); }
  100% { opacity: 0; transform: scale(1.1) translateX(-3%); z-index: 1; } /* 左に寄ったまま消える */
}

/* ロゴ専用のフェードインアニメーション */
@keyframes logo-fade-in {
  to {
    opacity: 1;
}
}

/* --- 基本設定 --- */
 :root {
--main-color: #86101e; /* エンジ色 */
 }

/* --- コンセプトセクション専用スタイル --- */
.concept-section {
   width:100%;
    padding:70px 0 ;
    margin: 0;
    background-color: #f2eee9; /* #fcfaf7より、ほんの少しだけ深みのあるグレージュ */
    overflow: hidden; /* 画像が画面右側からはみ出るのを防ぐ */
}

.concept-inner {
    max-width: 1100px;
    margin: 20px auto ;
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 ;
}

/* 左側テキスト（白い背景を少し敷いて画像の上に被せる） */
.concept-content {
    width: 65%;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.65);
    padding: 30px 30px 30px 30px;
}

.en-title {
    display: block;
    color: var(--main-color); /* FVで設定したエンジ色 */
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.2em;
    margin-bottom: 10px;
}

.concept-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 1.5;
    margin: 0 0 40px 0;
    color: #1a1a1a;
}

.concept-text {
    font-family: 'Shippori Mincho', serif;
    font-size: 16px;
    color: #444;
    margin: 0;
}

.concept-text2 {
    font-family: 'Shippori Mincho', serif;
    font-size: 16px;
    color: #444;
    margin: 20px 0;
}


/* 右側画像（絶対配置で右端に寄せ、テキストの裏に滑り込ませる） */
.concept-image {
    width: 50%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

.concept-image img {
    width: 100%;
    height:400px;
 filter: grayscale(20%); 
object-fit: cover; 
    box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.05); 

}

/* 改行コントロール用 */

 .pc-only { display: none; }
/* --- レスポンシブ（タブレット・スマホ対応） --- */
@media (max-width: 960px) {
    .concept-section {
        padding: 60px 0;
    }
    .concept-inner {
        flex-direction: column; /* スマホでは画像を上、テキストを下に */
        padding: 0 20px;
    }
    .concept-content, 
    .concept-image {
   width: 100%;
        position: static;
        transform: none;
        padding: 20px;     
    }
    .concept-image {
        margin-top: 30px;
 width: 100%;
        position: static;
        transform: none;
        padding: 0;

    }

.concept-image img {
    width: 100%;
    height:auto;
 filter: grayscale(20%); 
aspect-ratio: 1 / 0.65;
object-fit: cover; 
   box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.05); 

}

    .concept-title {
        font-size: 1.8rem;
        margin-bottom: 25px;
    }
   .pc-only { display: inline; }
}

/* --- 事業内容セクション専用スタイル --- */
.services-section {
    padding: 70px 0;
    background-image: url("./images/bg-yb2.png");
}

.services-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.services-header {
    text-align: center;
    margin-bottom: 60px;
}

.services-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 15px;
    color: #1a1a1a;
}

/* ★3カラムから2カラムのグリッドレイアウトに変更 */
.services-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2カラムに変更 */
    gap: 30px;
}

/* 白い清潔感のあるカード（影を薄くして上品に浮かせる） */
.service-card {
    background-color: #ffffff;
    padding: 40px 30px;
    box-shadow: 0 10px 30px rgba(134, 16, 30, 0.02); /* エンジ色を微かに混ぜた影 */
    border-top: 3px solid var(--main-color); /* 上部にエンジ色のアクセントライン */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 280px; /* 高さを揃える */
}

/* --- カードヘッダーの横並び調整 --- */
.card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; /* 上揃え */
    position: relative;
    margin-bottom: 25px;
}

.card-head-left {
    flex-grow: 1;
    padding-right: 15px;
}

.card-title {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 0;
    color: #1a1a1a;
    line-height: 1.3;
}

/* --- Font Awesome 丸囲みスタイル --- */
.card-icon-wrap {
    width: 50px;
    height: 50px;
    background-color: rgba(134, 16, 30, 0.05); /* エンジ色を5%に薄めた背景色 */
    border-radius: 50%; /* 正円にする */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0; /* アイコンが潰れるのを防ぐ */
}

.card-icon-wrap i {
    color: var(--main-color); /* エンジ色のアイコン */
    font-size: 1.3rem;
}

.card-sub-title {
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    color: #666;
    margin-top: 5px;
}

.card-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.9rem;
    line-height: 1.8;
    color: #444;
    margin: 0 0 20px 0;
    flex-grow: 1; /* テキスト量が違ってもボタンの位置が下に揃う魔法 */
}

/* 外部リンク用テキストリンク */
.card-link {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--main-color);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: opacity 0.3s;
}

.card-link::after {
    content: "→";
    margin-left: 5px;
    transition: transform 0.3s;
}

.card-link:hover {
    opacity: 0.7;
}
.card-link:hover::after {
    transform: translateX(3px);
}

.sp-only { display: none; }

/* --- レスポンシブ（タブレット・スマホ対応） --- */
/* ★元々あったmax-width: 960pxの記述は、最初から2カラムになったため不要になり削除しました */

@media (max-width: 640px) {
    .services-section {
        padding: 60px 0;
    }
    .services-inner {
        padding: 0 20px;
    }
    .services-title {
        font-size: 1.6rem;
    }
    .services-grid {
        grid-template-columns: 1fr; /* スマホは変わらず1カラム */
        gap: 20px;
    }
    .service-card {
        padding: 30px 20px;
        min-height: auto;
    }
    .sp-only { display: inline; }
}


/* --- 会社概要セクション専用スタイル --- */
.company-section {
    padding: 70px 0 50px;
    background-color: #fff;
}

.company-inner {
    max-width: 900px; /* テーブルを美しく見せるために少し幅を狭める */
    margin: 0 auto;
    padding: 0 40px;
}

.company-header {
    text-align: center;
    margin-bottom: 60px;
}

.company-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 15px;
    margin-bottom: -25px;
    color: #1a1a1a;
}

/* 高級感をだすミニマルな表組みデザイン */
.company-table {
    width: 100%;
    border-collapse: collapse;

}

.company-table tr {
    border-bottom: 1px solid rgba(134, 16, 30, 0.15); /* エンジ色を薄めた細い下線 */
}

.company-table tr:last-child {
    border-bottom:none;
}



.company-table th {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--main-color); /* エンジ色の文字 */
    width: 20%;
    padding: 25px 10px 25px 0;
    text-align: left;
    vertical-align: top; /* 複数行になっても上揃え */
    letter-spacing: 0.1em;
}

.company-table td {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.95rem;
    color: #333;
    line-height: 2;
    padding: 20px 0 20px 10px;
    vertical-align: top;
}

/* --- レスポンシブ（スマホ対応：縦並びに切り替え） --- */
@media (max-width: 640px) {
    .company-section {
        padding: 60px 0;
    }
    .company-inner {
        padding: 0 20px;
    }
    .company-title {
        font-size: 1.6rem;
    }
    .company-table th,
    .company-table td {
        display: block; /* 縦並びにする */
        width: 100%;
        padding: 10px 0;
    }
    .company-table th {
        padding-top: 20px;
        border-bottom: none; /* スマホ時は見出しの下線は不要 */
    }
    .company-table td {
        padding-bottom: 20px;
    }
}

/* --- お問い合わせセクション専用スタイル --- */
.contact-section {
    background-color: #fcfaf7; /* 背景を優しい白にしておとなしめに */
    color: #1a1a1a;
    padding: 70px 0;
}

.contact-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
}

.contact-box {
    text-align: center;
}

.contact-box .en-title {
    display: block;
    color: var(--main-color);
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.4em;
    margin-bottom: 15px;
}

.contact-title {
    font-family: 'Shippori Mincho', serif;
    font-size: 30px;
    font-weight: 400;
    margin: 0 0 30px 0;
    letter-spacing: 0.1em;
}

.contact-text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.95rem;
    line-height: 2;
    color: #444444;
    margin-bottom: 40px;
}

/* メールフォームを包む上品なボックス */
.contact-form-wrap {
    max-width: 800px;
    margin: 0 auto;
    text-align: left;
    background-color: #ffffff;
    padding: 50px 40px;
    border-radius: 8px;
    box-shadow: 0 15px 40px rgba(134, 16, 30, 0.04);
    border: 1px solid rgba(134, 16, 30, 0.1);
}

.cf7-form-container {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.cf7-row {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cf7-label {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #222222;
    display: flex;
    align-items: center;
    gap: 10px;
}

.cf7-req {
    background-color: var(--main-color);
    color: #ffffff;
    padding:0 3px;
    font-size: 13px;
}
.cf7-any {
    background-color: #eeeeee;
    color: #666666;
     padding:0 3px;
     font-size: 13px;
}

.cf7-field input[type="text"],
.cf7-field input[type="email"],
.cf7-field input[type="tel"],
.cf7-field textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #cccccc;
    background-color: #fafafa;
    color: #1a1a1a;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    border-radius: 4px;
    transition: border-color 0.3s, background-color 0.3s, box-shadow 0.3s;
}

.cf7-field ::placeholder { color: #aaaaaa; }

.cf7-field input:focus,
.cf7-field textarea:focus {
    outline: none;
    border-color: var(--main-color);
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(134, 16, 30, 0.1);
}

.cf7-field textarea {
    height: 150px;
    resize: vertical;
}

/* --- 送信ボタンを何が何でも中央に固定する最終兵器 --- */
.cf7-submit-row {
    display: grid !important; /* gridに変更 */
    place-items: center !important; /* 子要素が何であれ、上下左右の完全中央配置 */
    width: 100% !important;
    margin-top: 20px !important;
    text-align: center !important;
}

/* CF7が後から生成するかもしれない要素をすべて中央に集める */
.cf7-submit-row * {
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* ボタン本体のスタイル */
.cf7-submit-row .contact-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: var(--main-color) !important;
    color: #ffffff !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    padding: 20px 45px !important;
    border-radius: 4px !important;
    border: 1px solid var(--main-color) !important;
    cursor: pointer !important;
    min-width: 250px !important;
    box-shadow: 0 8px 20px rgba(134, 16, 30, 0.15) !important;
    transition: background-color 0.3s, color 0.3s, transform 0.2s !important;
}

.cf7-submit-row .contact-btn:hover {
    background-color: #ffffff !important;
    color: var(--main-color) !important;
    transform: translateY(-2px) !important;
}


@media (max-width: 768px) {
    .contact-section {
        padding: 60px 0;
    }
    .contact-inner {
        padding: 0 20px;
    }
    .contact-title {
        font-size: 1.8rem;
    }
    .contact-form-wrap {
        padding: 30px 20px;
    }
    .cf7-submit-row .contact-btn {
        width: 100%;
        box-sizing: border-box;
    }
}


/* エラーメッセージ（CF7の標準機能）の文字色を黄色にして見やすく */
.wpcf7-not-valid-tip {
    color: #ffeb3b !important;
    font-size: 0.85rem;
    margin-top: 5px;
    display: block;
}
.wpcf7-response-output {
    border-radius: 4px;
    font-size: 0.95rem;
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    margin: 20px 0 0 0 !important;
    padding: 15px !important;
    text-align: center;
}

/* --- 送信完了・エラーメッセージの強制表示設定 --- */

/* CF7が自動付与する非表示用のクラスが当たっている間は、完全に隠す（超重要） */
.wpcf7-response-output.wpcf7-display-none {
    display: none !important;
}

/* メッセージが表示されたときのスタイルを完全に再定義 */
.wpcf7-response-output {
    display: block !important; /* 強制的に表示 */
    visibility: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 20px auto 0 auto !important; /* ボタンの下にしっかり余白を作る */
    padding: 10px !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    border-radius: 6px !important;
 
}

/* 【重要】送信成功時（緑枠＋白背景に綺麗な緑文字でハッキリ見せる） */
.wpcf7 .form-invalid .wpcf7-response-output, /* 入力エラー時 */
.wpcf7 .unaccepted .wpcf7-response-output {  /* 同意チェック漏れ時 */
    border: 2px solid #ff4a4a !important; /* 赤枠 */
    background-color: #fff5f5 !important; /* 薄い赤背景 */
    color: #ff4a4a !important; /* 赤文字 */
}

/* 送信成功時（緑枠＋薄い緑背景に、濃い緑文字でハッキリ見せる） */
.wpcf7 .sent .wpcf7-response-output {
    border: 2px solid #2da864 !important; /* 緑枠 */
    background-color: #f3faf6 !important; /* 薄い緑背景 */
    color: #2da864 !important; /* 濃い緑文字（これで白背景でも100%読めます） */
}



.grecaptcha-badge { 
visibility: hidden;
 }

/* --- 同意チェックボックスエリアの強制リセット --- */
.prv-tx {
    margin: 0;
    font-size: 16px;
    
    /* flexboxに変更して何が何でも中央に集める */
    display: flex !important;
    justify-content: center !important; /* 左右中央 */
    align-items: center !important;     /* 上下中央（これで縦のズレも直ります） */
    flex-wrap: wrap; /* スマホで画面が狭くなったら綺麗に折り返すお守り */
    gap: 8px; /* チェックボックスと文字の間の適切な隙間 */
    width: 100% !important;
    text-align: center !important;
}

/* --- CF7が自動生成する3重のspanタグの嫌な余白を完全に破壊する --- */
.prv-tx .wpcf7-form-control-wrap,
.prv-tx .wpcf7-form-control,
.prv-tx .wpcf7-list-item {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    vertical-align: middle !important;
}

/* --- チェックボックス本体のスタイル調整 --- */
input.spam1 {
    margin: 0 !important; /* 他のCSSからの余計な余白を強制リセット */
    padding: 0 !important;
    width: 16px !important;  /* サイズをピシッと固定 */
    height: 16px !important;
    cursor: pointer;
    
    /* top:2px の代わりに、ブラウザ間で最もズレないモダンな手法 */
    position: relative;
    top: 0; 
}

.prv-tx2 {
    margin: 20px 0 0 0;
    font-size: 15px;
 }


.prv-tx3 {
    margin: 20px 0 -10px 0;
    font-size: 16px;
    text-align:center;
 }

a.pvy2  {
color:#777;
}

a.pvy2:hover  {
color:#999;
}

a.pvy3  {
color:#bbb;
}

a.pvy2:hover  {
color:#ccc;
}

/* --- 共通フッター専用スタイル --- */
.site-footer {
    background-color:#F2EEE9;
    padding: 60px 0 10px 0;
    text-align: center;
    width: 100%;
}

.site-footer .footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

/* ロゴの配置エリア */
.footer-logo-wrap {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 【重要】お客様支給ロゴの白残り（フリンジ）を黙らせるデザイナーの力技 */
.client-logo {
    width: 160px; /* フッター用に適切なサイズに制限（ギザギザを目立たせなくする） */
    height: auto;
    display: block;
    
    /* トリック①：乗算（Multiply）で文字の周りの「白いゴミ」を背景のエンジに完全に溶け込ませる */
    mix-blend-mode: multiply;
    
    /* トリック②：ほんのわずかにコントラストを上げて、透過しきれなかった微小な白を焼き切る */
    filter: contrast(1.05);
}


.client-logo2 {
    width: 160px; /* フッター用に適切なサイズに制限（ギザギザを目立たせなくする） */
    height: auto;
    display: block;
 
}


/* コピーライトエリアの装飾 */
.copy {
   padding: 15px 0;
   background-color: rgba(80, 6, 12, 0.9);
   text-align:center;
   color:#fff;
}

.copy p {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 13px;
    color: 850f1f;
    margin: 0;
    letter-spacing: 0.05em;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .site-footer {
        padding: 40px 0 30px 0;
    }
    .site-footer .footer-inner {
        padding: 0 20px;
    }
    .client-logo {
        width: 130px; /* スマホ時は少し小さくしてさらにアラを隠す */
    }
}


/*********************************
* タイムライン
*********************************/

ul.ptimeline li{
list-style-type: none !important;
}



.ptimeline-wrap{
    margin:0 auto 2rem;
}
.ptimeline-wrap .ptimeline{
    padding:0 !important;
    list-style:none !important;
}
.ptimeline-wrap .ptimeline-label {
    padding: 3px 0 0 2px;
    color: #aaa;
    font-size: 12px;
    font-weight: 500;
}
.ptimeline-wrap .ptimeline-title {
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5;
    color:#00bfff;
}
.ptimeline-wrap .ptimeline-main {
    margin-top: 0.5em;
    padding: 0 0 1.5em;
    font-size: 0.9em;
    line-height: 1.8;
    border-bottom: dashed 1px #ddd;
    color:#555;
}
.ptimeline-wrap .ptimeline-main img{
  display:block;
  margin:1em auto;
}
.ptimeline-wrap .ptimeline-item {
    position: relative;
    padding: 0 0 1em 1.5em !important;
    margin-bottom:0 !important;
    border:none;
}
.ptimeline-wrap .ptimeline .ptimeline-item:before {
    content: "";
    width: 3px;
    background: #eee !important;
    display: block;
    position: absolute;
    top: 25px;
    bottom: -3px;
    left: 5px;
}
.ptimeline-wrap .ptimeline-item:last-child:before{
    content:none;
}
/*********************************
* タイムライン マーカー
*********************************/
.ptimeline-wrap .ptimeline-marker{
    display: block;
    position: absolute;
    content: "";
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: solid 3px #00bfff;
}
.ptimeline-wrap .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .ptimeline-item:last-child .ptimeline-marker{
    background:#00bfff;
}
/*四角 */
.ptimeline-wrap .square .ptimeline-marker{
    border-radius: 0;
}
/* アイコン*/
.ptimeline-wrap .icon .ptimeline-item .ptimeline-marker{
    content:unset;
    border:none !important;
    background:none !important;
}
.ptimeline-wrap .icon .ptimeline-item .ptimeline-marker:before{
    font-family: "Font Awesome 5 Free";
    top: -1px;
    left: 0;
    position:absolute;
    font-weight:bold;
    font-size:16px;
    line-height:1;
    color:#00bfff;
}
.ptimeline-wrap .icon .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .icon .ptimeline-item:last-child .ptimeline-marker{
    background:none !important;
}
/* 画像*/
.ptimeline-wrap .tl-img .ptimeline-item .ptimeline-marker{
    content:unset;
    border:none !important;
    background:none !important;
}
.ptimeline-wrap .tl-img .ptimeline-item .ptimeline-marker:before {
    content:"";
    display:inline-block;
    background-image:url(ここに画像URL); /* 画像1番目*/
    background-size:contain;
    background-repeat:no-repeat;
    width:40px;
    height:40px;
    position: relative;
    top: -4px;
    left: -2px;
}
.ptimeline-wrap .tl-img li:nth-of-type(2) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像2番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(3) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像3番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(4) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像4番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(5) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像5番目*/
}
.ptimeline-wrap .tl-img .ptimeline-item {
    padding: 0 0 1em 3em !important;
}
.ptimeline-wrap .tl-img .ptimeline-item:before {
    top: 30px;
    left: 15px;
}
/*********************************
* タイムライン カラー
*********************************/
/* ピンク */
.ptimeline-wrap .pink .ptimeline-title{
    color:#f7bcbc !important; /* タイトル色 */
}
.ptimeline-wrap .pink .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .pink .ptimeline-marker{
    border: solid 3px #f7bcbc !important; /* マーカー色 */
    color:#f7bcbc; /* アイコン色 */
}
.ptimeline-wrap .pink .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .pink .ptimeline-item:last-child .ptimeline-marker{
    background:#f7bcbc; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .pink .ptimeline-item .ptimeline-marker:before{
    color:#f7bcbc !important; /* アイコン色 */
}
/*イエロー*/
.ptimeline-wrap .yellow .ptimeline-title{
    color:#fdc44f !important; /* タイトル色 */
}
.ptimeline-wrap .yellow .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .yellow .ptimeline-marker{
    border: solid 3px #fdc44f !important; /* マーカー色 */
    color:#fdc44f; /* アイコン色 */
}
.ptimeline-wrap .yellow .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .yellow .ptimeline-item:last-child .ptimeline-marker{
    background:#fdc44f; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .yellow .ptimeline-item .ptimeline-marker:before{
    color:#fdc44f !important; /* アイコン色 */
}
/*グリーン*/
.ptimeline-wrap .green .ptimeline-title{
    color:#2fcdb4 !important; /* タイトル色 */
}
.ptimeline-wrap .green .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .green .ptimeline-marker{
    border: solid 3px #2fcdb4 !important; /* マーカー色 */
    color:#2fcdb4; /* アイコン色 */
}
.ptimeline-wrap .green .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .green .ptimeline-item:last-child .ptimeline-marker{
    background:#2fcdb4; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .green .ptimeline-item .ptimeline-marker:before{
    color:#2fcdb4 !important; /* アイコン色 */
}


.timeline p{
font-size:15px;
  }


.timeline .tm1{
background:#afd09f;
padding:0 5px;
border-radius:5px;
  }

.timeline .tm2{
background:#fad6df;
padding:0 10px;
border-radius:5px;
  }

.timeline .tm3{
background:#D693BD;
padding:0 10px;
border-radius:5px;
  }


ul.timeline li {
list-style-type: none !important;
}

.timeline-date  {
margin-top:10px;
}

.timeline-img   {
width:33.3%;
margin:10px 66% 0 0.7%;

}

.dcm  { 
line-height:1.8;
 }

.i-pdf  { 
color:#e60012;
 }

.tx-sn { 
margin-top:5px;
text-align:center;
 }



h2.box22 {
  position: relative;
  font-size:26px;
  padding:0 0 5px;
margin:0;
line-height:1.4;
color:#F45088;
 font-family: "Kiwi Maru", serif;
  font-weight: 400;

}

.na-box2  {
margin:0 0 30px;
padding:30px;
background-color: #FFFBEF;
 background-image:
  linear-gradient(-45deg, rgba(255,224,224,.6) 25%, transparent 25%, transparent 50%, rgba(255,224,224,.6) 50%, rgba(255,224,224,.6) 75%, transparent 75%, transparent 100%),
  linear-gradient(45deg, rgba(255,224,224,.6) 25%, transparent 25%, transparent 50%, rgba(255,224,224,.6) 50%, rgba(255,224,224,.6) 75%, transparent 75%, transparent 100%);
background-size: 40px 40px;
 box-shadow: 0 5px 15px 0 rgba(42, 59, 13, 0.18);
border-radius:20px;
}

.na-box-ss  {
margin:0;
padding:10px;
background-color: #fff;
border-radius:20px;
}

.na-box-ss2  {
margin:0 10%;
width:80%;
}



.na-box-ss img {
width:100%;
height:auto;
border-radius:20px;
}



/*================================================
 *  Page contents
 ================================================*/

.col_4{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.col_4 .col_4c{
    width: calc( 25% - 9px );
    margin-right: 12px;
    margin-bottom: 12px;
margin-top:20px;
}
.col_4 .col_4c:nth-child(4n){
    margin-right: auto;
}
@media screen and (max-width: 960px) {
    .col_4 .col_4c{
        width: calc( 33.33333% - 8px ) ;
    }
    .col_4 .col_4c:nth-child(4n){
        margin-right: 12px;
    }
    .col_4 .col_4c:nth-child(3n){
        margin-right: auto;
    }
}
@media screen and (max-width: 580px) {
    .col_4 .col_4c{
        width: calc( 50% - 6px ) ;
    }
    .col_4 .col_4c:nth-child(3n){
        margin-right: 12px;
    }
    .col_4 .col_4c:nth-child(2n){
        margin-right: auto;
    }
}

.col_4c p {
margin:0 0 5px;
font-size:14px;
}
.col_4c p.fst {
margin:0 0 5px;
font-size:16px;
}

.col_4c p.last {
margin:0 0 10px;
font-size:14px;
}

.col_4c a {
outline: none; 
background:#CBD8EF;
padding:0 10px;
border-radius: 10px;
color:#fff;
}


.col_3{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.col_3 .col_3c{
    width: calc( 33.33333% - 8px ) ;
    margin-right: 12px;
    margin-bottom: 12px;
}
.col_3 .col_3c:nth-child(3n){
    margin-right: auto;
}

@media screen and (max-width: 960px) {
    .col_3 .col_3c{
        width: calc( 50% - 6px ) ;
    }
    .col_3 .col_3c:nth-child(3n){
        margin-right: 12px;
    }
    .col_3 .col_3c:nth-child(2n){
        margin-right: auto;
    }
}
@media screen and (max-width: 580px) {
    .col_3 .col_3c{
        width: 100%;
        margin-right: auto;
    }
    .col_3 .col_3c:nth-child(3n){
        margin-right: auto;
    }
}


.modal:modal{
  overflow: hidden;
}
.modal-container{
  overflow: auto;
  max-height: 450px;  

}

dialog {
width:100%;
padding: 20px;
	border: none;
	border-radius: 10px;
	text-align: center;

}

button {
	padding: 0.5rem 1rem;
	border-radius: 0.4rem;
	cursor: pointer;
background:#FFB19F;
border:none;
margin:10px 0 0;
}

dialog::backdrop {
	background-color: rgba(0, 0, 0, 0.6);
}
.pp-box ol{
 margin:20px 0 20px 30px;

}

.pp-box ol li{
padding:5px 0;
list-style: decimal;
}

.text-center  {
 margin:0 auto;
text-align:center;
}


ol.col_ol{
 margin:0 0 20px 30px;

}

ol.col_ol li{
list-style-type: decimal;
padding:5px 0;
font-size:18px;
}



.kiwi-maru-regular {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}

.kiwi-maru-bold {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-style: normal;
}

.f90 {
  font-size: 17px;
}


.breadcrumbs  {
 margin:0 0 30px 6%;
text-align:left;
font-size:14px;
}

.text-left {
text-align:left;
}

/*================================================
 *  ページヘッダー
 ================================================*/

.header-bgimg-001 {
  position: relative;
  margin:0;
 padding:0;
}

.header-bgimg-001 img {
width:100%;
height:auto;
aspect-ratio: 1 / 0.25;
object-fit: cover; 
}

.page-header__title_individual{
  margin:0;
 padding:0;
  font-size: 42px;
position: absolute;
  top:50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
text-shadow: 2px 2px 2px rgba(0,0,0,0.65);
    color: #fff;
 white-space: nowrap;
font-family: "LINE Seed JP", sans-serif;
font-weight: 400;
font-size:36px;
}

@media(max-width : 767px){
.page-header__title_individual{
font-size: 22px;
}

}

* {
	line-height: 1.5;
}




img {
    border: 0;
    vertical-align: top;
}


/*clearfix*/
.clearfix:after{
	content: " ";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
}
* html .clearfix{
	display: inline-block;
}
/* no ie mac \*/
* html .clearfix{
	height: 1%;
}
.clearfix{
	display: block;
}
.clearfix{
  overflow:hidden;
}
/* Hides from IE-mac \*/
* html .clearfix{
  height:1%;
	overflow-x : hidden;
}

* {
	box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
word-wrap: break-word;

	
}


/*header*/

#header {
	width: 100%;
}

.header {
	padding: 20px 40px 20px 30px;
	display: flex;
  justify-content: space-between;
	width: 100%;
	z-index: 99998;
position: absolute; 
	left: 0px;
	top: 0px;
	width: 100%;
	z-index: 99998;
	
	/* 【追加】背景を透明にし、横幅の計算をパディング込みにします */
	background: transparent; 
	box-sizing: border-box; 
}

.header-left h1 img {
	height: 68px;
	width: auto;
    margin-top:10px;
}

#header h2 {
	position: absolute;
   top: 0%;
   left: 50%;
   -webkit-transform: translate(-50%, -0%);
   transform: translate(-50%, -0%);
	padding-top: 10%;
}

/*メニュー部分*/
	nav{
		display: none;
		position: absolute;
		top:0;
		width: 100%;
		min-height: 100vh;
		background : rgba(79, 5, 11, 0.65);
		left: 0;
		overflow: auto;
	
	}
	nav > div {
		width: 100%;
		height:100%;
		position: absolute;
		top: 0px;
		right: 0px;
		bottom: 0px;
		left: 0px;
		margin: auto;
		display: flex;
  justify-content: center;
		align-items: center;
	}
	nav .nav-box {
		display: flex;
  justify-content: center;
flex-wrap: wrap;
		padding-top: 50px;

	}

nav ul:nth-child(1){
	border-right-style : solid;
border-right-color : rgba(255, 255, 255, 0.5);
border-right-width : 1px;
	}

	.contents-box nav ul li a {
		display: block; 
		color: #FFF;
		font-weight: 300;
		font-size: 22px;
		line-height: 1.2;
		letter-spacing: 0.1em;
		padding: 10px 80px;
	}

.contents-box nav ul li a::before {
		content: "■ ";
	font-size: 16px;
	}

nav ul li a:hover {
		opacity: 1;
	color: #D9BE51;
	}

nav ul li a span {
	display: inline-block;
	font-weight: normal;
	padding-left: 20px;
	font-size: 14px;
	}

/*開閉ボタン*/
	#nav_toggle{
		display: inline-block;
		vertical-align: top;
		float: right;
		width: 77px;
		height: 109px;
		position: relative;
		top: 0px;
		z-index: 10000000000;
		background-image: url("./images/menu-nav-bg.png");
		background-position: left bottom;
		background-repeat: no-repeat;
		background-size: 100% auto;
		padding: 27px 15px;
	cursor: pointer;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 2px;
		background: #FFF;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:10px;
	}
	#nav_toggle span:nth-child(3){
		top:20px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}



/* nav-pc */

.nav-pc {
	width: 100%;
	line-height: 0;
	text-align: center;
	position: absolute;
left: 0px;
bottom: 0px;
}

.nav-pc ul {
	display: inline-block;
}

.nav-pc ul li {
	display: inline-block;
	vertical-align: top;
	padding: 0px 35px;
}

.nav-pc ul li a:hover {
	opacity: 0.75;
}




/* main-img */

.main-img {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.main-img::after {
	content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("./images/flame.png");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 50%
}

.main-img img {
	width: 100%;
height: auto;
}

/*title-box*/
 
.title {
	position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
   transform: translate(-50%, -50%);
	width: 90%;
	text-align: right;
}

.title h3, .title h4 {
	font-family: 'Zen Maru Gothic', sans-serif;
line-height: 1.2;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.title h3 {
	font-size: 67px;
color: #d8df21;
	font-weight: 600;
	text-shadow: 0px 0px 10px #000;
}

.title h4 {
font-size: 45px;
	color: #42210b;
	padding-top: 10px;
	text-shadow: 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF, 0px 0px 15px #FFF;
}


/*contents*/

.contents {
	width: 100%;
	padding-top: 70px;
	background-image: url("./././images/back01.png");
background-position: center center;
background-repeat: repeat-y;
}


/*midashi*/

p.text01 {
	color:#4d4d4d;
	line-height:1.8;
	font-size: 16px;
	letter-spacing: 0.05em;
}

.midashi01 {
	text-align: center;
	margin-bottom: 45px;
	display: flex;
    align-items: center;
}

.midashi01::before,
.midashi01::after {
    content: "";
    flex-grow: 1;
	background-image: url("./images/midashi01-back.svg");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 16px;
}
 
.midashi01::before {
    margin-right: 30px;
	background-position: right top;
}
 
.midashi01::after {
    margin-left: 30px;
	background-position: left top;
}

.midashi02 {
	font-family: 'Zen Maru Gothic', sans-serif;
	text-align: center;
	margin-bottom: 60px;
	font-size: 23px;
color: #42210b;
line-height: 1.4;
letter-spacing: 0.1em;
font-weight: 500;
}


/*pagetop_btn*/

.pagetop_btn {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 10px;
    z-index: 100;
}

.contents-box .pagetop_btn a {
    display: block;
   background-color: rgba(136, 13, 30, 0.9);
    text-align: center;
    color: #FFF;
    font-size: 24px;
    text-decoration: none;
    padding: 10px 10px;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
	border-radius: 5px;
}

.pagetop_btn a:hover {
    display: block;
    background-color: rgba(136, 13, 30, 0.5);
    text-align: center;
    color: #FFF;
    font-size: 24px;
    text-decoration: none;
    padding: 10px 10px;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
	border-radius: 5px;
}


/*subcontents-map*/

.subcontents-map {
	width: 100%;
	clear: both;
	padding-top: 30px;
	text-align: center;
}

.subcontents-map h3 {
color:#607f53;
font-size:34px;
letter-spacing: 0.1em;
}


.subcontents-map h4, .subcontents-map p {
color:#607f53;
line-height: 1.2;
font-weight: normal;
}

.subcontents-map h4 {
	margin: 20px 0px 40px;
}

.subcontents-map p {
background :#acc3a2;
	padding: 20px 0px;
}

.subcontents-map .map-box, .subcontents-map iframe {
	width: 100%;
	clear: both;
	height: 450px;
}

/*footer*/

footer {
}

/*subcontents-guide*/

.subcontents-guide {
	text-align: center;
	background : rgba(134, 65, 48, 0.9);
	padding: 30px 0px 70px;
}

.subcontents-guide .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	margin-top: 40px;
}

.subcontents-guide .box {
	width: 300px;
	margin: 0px 10px;
}

.subcontents-guide .box a {
	padding: 15px 0px;
	border-style : solid;
border-color : #caa058;
border-width : 1px;
	border-radius: 5px;
	background-color: #F8ECBA;
	font-size: 20px;
color: #864130;
line-height: 1.2;
letter-spacing: 0.2em;
font-weight: normal;
	display: block;
}

.subcontents-guide .box a span {
	font-size: 14px;
	letter-spacing: 0em;
}

.subcontents-guide .box a:hover {
	opacity: 1;
	background-color: rgba(255,255,255,1);
}

/*subcontents-contact*/

.subcontents-contact {
	text-align: center;
	background : #f1f1f1;
	padding: 50px 0px;
}

.subcontents-contact .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
}

.subcontents-contact .box {
	width: 430px;
	height: 105px;
	margin: 0px 15px;
	border-style : solid;
border-width : 1px;
	border-radius: 5px;
	background-color: #FFF;
	display: flex;
  justify-content: center;
	align-items: center;
	flex-direction: column;
flex-wrap: wrap;
	overflow: hidden;
}

.subcontents-contact .box:nth-child(1) {
	border-color : #ffb19f;
}

.subcontents-contact .box:nth-child(2) {
	border-color : #76bba5;
	background-image: url("./images/btn-contact.svg");
background-position: center 30px;
background-repeat: no-repeat;
}

.subcontents-contact h5, .subcontents-contact h5 a {
	font-size: 32px;
color: #ffb19f;
line-height: 1.2;
font-weight: 500;
	letter-spacing: 0.05em;
	font-family: 'Zen Maru Gothic', sans-serif;
}

.subcontents-contact h5 {
	display: inline-block;
	padding-left: 25px;
	position: relative;
	margin-bottom: 5px;
}

.subcontents-contact h5::before {
	content: "";
	position: absolute;
left: 0px;
top: 12px;
	background-image: url("./images/tel-contact.svg");
background-position: left top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 15px;
	height: 22px;
}

.subcontents-contact .box p, .subcontents-contact .box:nth-child(2) a {
line-height: 1.2;
font-weight: normal;
}

.subcontents-contact .box:nth-child(1) p {
	color: #ffb19f;
}

.subcontents-contact .box:nth-child(2) a {
	color: #76bba5;
	display: block;
	width: 100%;
	height: 100%;
	padding-top: 60px;
}

.subcontents-contact .box:nth-child(2) a:hover {
	opacity: 1;
}

.subcontents-contact .box:nth-child(2):hover {
	opacity: 0.75;
}

/*footer*/

.footer {
	width: 100%;
	padding: 40px 0px;
	text-align: center;
background:#FEFED8;
}

.footer .box01, .footer .box02 ul {
	display: flex;
  justify-content: center;
	align-items: center;
flex-wrap: wrap;
}

.footer .box01 {
	margin-bottom: 10px;

}

.footer .box01 h3 {
	font-size: 26px;
color: #607f53;
line-height:1.2;
}


.footer .box01 h4 {
	font-size: 14px;
color: #42210b;
line-height: 1.2;
font-weight: normal;
	margin:5px 0 0 20px;
}

.footer .box02 {
	display: none;
}

.footer .box02 h5 {
	margin-bottom: 25px;
}

.footer .box02 .box-in {
	width: 90%;
}





/**
 * for SmartPhone
 */
@media screen and (min-width: 737px) {
	
	body {
	min-width: 1280px;
	}
	

#header .sp-view {
	display: none;
}
	
	.header .contents-right .box02 {
		display: none;
	}	
		
	
}
@media screen and (max-width: 737px) {
    body {
    }

.contents-left {
	float: none;
	display: block;
}

.contents-right {
	float: none;
	display: block;
}


.contents-box {
	font-size: 14px;
}

.contents-box p {
	font-size: 14px;
}

.contents-box p br.sp-view {
	display: inline-block;
}
	


/*header*/

.header {
	padding: 10px 10px 10px 2px;
}

.header-left h1 img {
	height: 56px;
   margin-top:0;
}


#header h2 {
	padding-top: 10%;
}
	
.header h2 img {
		height: 65px;
		width: auto;
}

	
/*開閉ボタン*/
	#nav_toggle{
		width: 53px;
		height: 75px;
		padding: 16px 15px;
	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:9px;
	}
	#nav_toggle span:nth-child(3){
		top:18px;
	}

	
	.nav-pc {
		display: none;
	}
	
nav .nav-box {
		display: block;

	}

nav ul:nth-child(1){
	border-right-style : none;
	}

	
nav ul li {
	width: 100%;
	
}
	
.contents-box nav ul li a {
		font-size: 18px;
	padding: 8px 0px;
	}
	
.contents-box nav ul li a::before {
		font-size: 13px;
	}
	
	nav ul li a span {
font-size: 13px;
	}


/* main-img */

.main-img img {
height: 220px;
	object-fit: cover;
}
	
/*title-box*/
 
.title h3 {
	font-size: 40px;
}

.title h4 {
font-size: 24px;
	padding-top: 5px;
}
	
/*contents*/

.contents {
	padding-top: 40px;
}


/*midashi*/

p.text01 {
	font-size: 14px;
}
	
.midashi01 {
	margin-bottom: 30px;
}
	
.midashi01 img {
	height: 25px;
	width: auto;
}

.midashi01::before,
.midashi01::after {
	height: 14px;
}
 
.midashi01::before {
    margin-right: 25px;
}
 
.midashi01::after {
    margin-left: 25px;
}

.midashi02 {
	margin-bottom: 40px;
	font-size: 20px;
letter-spacing: 0.05em;
	padding: 0px 20px;
}




/*btn-top*/
	
.contents-box .pagetop_btn a {
    display: none;
 
}

.pagetop_btn a:hover {
    display: none;
 }
	

/*subcontents-map*/

.subcontents-map h3 img {
	height: 25px;
	width: auto;
}
	
.subcontents-map h4 {
	padding: 0px 20px;
	line-height: 1.4;
}

.subcontents-map .map-box, .subcontents-map iframe {
	width: 100%;
	clear: both;
	height: 150px;
}

/*subcontents-guide*/

.subcontents-guide {
	padding: 40px 0px 25px;
}
	
.subcontents-guide h3 img {
	height: 25px;
	width: auto;
}

.subcontents-guide .box-in {
	margin-top: 25px;
}

.subcontents-guide .box {
	width: 280px;
	margin: 0px 10px;
	margin-bottom: 10px;
}

.subcontents-guide .box a {
	font-size: 18px;
}

.subcontents-guide .box a span {
	font-size: 13px;
}

/*subcontents-contact*/

.subcontents-contact {
	padding: 40px 0px 30px;
}

.subcontents-contact .box {
	width: 290px;
	height: 90px;
	margin: 0px 10px;
	margin-bottom: 10px;
}

.subcontents-contact .box:nth-child(2) {
background-position: center 28px;
	background-size: auto 18px;
}

.subcontents-contact h5, .subcontents-contact h5 a {
	font-size: 28px;
}

.subcontents-contact h5 {
	padding-left: 20px;
}

.subcontents-contact h5::before {
top: 8px;
}

.subcontents-contact .box p, .subcontents-contact .box:nth-child(2) a {
	font-size: 13px;
}

.subcontents-contact .box:nth-child(2) a {
	padding-top: 57px;
}

/*footer*/

.footer {
	padding: 25px 0px 30px;
}

.footer .box01 {
	display: block;
}

.footer .box01 {
	margin-bottom: 10px;
}
	
.footer .box01 h3 {
font-size:20px;
}

.footer .box01 h4 {
	font-size: 13px;
	margin-left: 0px;
	padding-top: 10px;
}
	
.footer .box02 h5 {
	margin-bottom: 15px;
}


}

/* front-page */
.video {
  width: 100%;
  height: auto;
 
  border-bottom: 1px solid #ededed;
}

.video video {
  display: block;
  width: 100%;
  height: auto;
}

/* main-img-top */

.main-img-top {
	width: 100%;
	overflow: hidden;
	text-align: center;
	position: relative;
}



/*slider*/

div.slider-wrap {
	clear: both;
	width: 100%;
	height: auto;
}

.slider {
	width: 100%;
	height: auto;
	overflow:visible;
}

.slider .box {
	list-style-type: none;
	margin: 0px;
	height: auto;
	width: 100%;
}

.slider .box > img {
	height: auto;
	width: 100%;
}

/* title-top */

.title-top {
	position: absolute;
right: 0px;
bottom: 150px;
	display: inline-block;
	background-color: #FFF;
	border-radius: 18px 0px 0px 18px;
	padding: 40px 60px;
	text-align: left;
}

.title-top h4, .title-top h5 {
	font-family: 'Zen Maru Gothic', sans-serif;
color: #42210b;
line-height: 1.2;
font-weight: normal;
}

.title-top h4 {
font-size: 39px;
	font-weight: 600;
	margin: 20px 0px;
}

.title-top h5 {
font-size: 17px;
	letter-spacing: 0.2em;
}

.title-top h5::before {
	content: "ー ";
}

.title-top h5::after {
	content: " ー";
}




.contents-top {
	width: 100%;
}

.font-18  {
font-size:18px;
line-height:1.5;
}

.font-20  {
font-size:20px;
line-height:1.5;
}

/* mg img */

.mg-10  {
margin-top:10px;
}

.mg-15  {
margin-top:15px;
}

.mg-20  {
margin-top:20px;
}

.mg-30  {
margin-top:30px;
}

.mg-40  {
margin-top:40px;
}

img.img01 {
width:100%;
height:auto;
box-shadow: 0px 0px 5px rgba(39,48,57,.4);
}

img.img02 {
width:100%;
height:auto;
box-shadow: 0px 0px 5px rgba(39,48,57,.4);
aspect-ratio: 1 / 0.45;
 object-fit: cover; 

}

img.img03 {
width:100%;
height:auto;
box-shadow: 0px 0px 5px rgba(39,48,57,.4);
aspect-ratio: 1 / 0.65;
 object-fit: cover; 
}

img.img04 {
width:100%;
height:auto;
box-shadow: 0px 0px 5px rgba(39,48,57,.4);
aspect-ratio: 1 /1.60;
 object-fit: cover; 
}

img.img05 {
width:100%;
height:auto;
aspect-ratio: 1 /0.563;
 object-fit: cover; 
}

img.img06 {
width:100%;
height:auto;
box-shadow: 0px 0px 5px rgba(39,48,57,.4);
aspect-ratio: 1 / 1;
 object-fit: cover; 
}




table.company {
    width: 100%;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 5px;
   
}
 
table.company th,
table.company td {
    padding:12px 6px;
 
}
 
table.company th {
    background: #FDE3EC;
    vertical-align: middle;
    text-align: center;
    width: 70px;
    overflow: visible;
    position: relative;
    color: #6A3906;
    font-weight: normal;
   font-size: 16px;
}

table.company th.arrow_box {
    background: #D4EEF6;
    vertical-align: middle;
    text-align: center;
    width: 70px;
    overflow: visible;
    position: relative;
   color: #6A3906;
    font-weight: normal;
  
}

table.company th.arrow_box2 {
    background: #FCE7D2;
    vertical-align: middle;
    text-align: center;
    width: 70px;
    overflow: visible;
    position: relative;
   color: #6A3906;
    font-weight: normal;
  
}

table.company th.arrow_box3 {
    background: #afd09f;
    vertical-align: middle;
    text-align: center;
    width: 70px;
    overflow: visible;
    position: relative;
   color: #6A3906;
    font-weight: normal;
  
}

table.company th.arrow_box4 {
    background: #C6E7C6;
    vertical-align: middle;
    text-align: center;
    width: 70px;
    overflow: visible;
    position: relative;
   color: #6A3906;
    font-weight: normal;
  
}



table.company td {
    background: #fff;
    padding-left: 10px;
    font-size: 15px;
}





.contents-c {
	width: 100%;
	 background-color: #fcfaf7; 
	margin: 0 ;
padding:30px 0 50px;
min-height:400px;
}

.contents-c a{
color:#988575;
}



.cont{
	width: 71.6%;
margin:0 14.2% 20px;
padding:30px ;
text-align-left;
 background: rgba(255, 255, 255, 1) ;


}

.cont p{
margin-top:20px;
}

.cont2{
	width: 76%;
margin:0 12% 0;
padding:0 30px 30px;
text-align-left;

}

.cont3{
	width: 100%;
margin:0;
padding:30px 30px 30px 30px;
text-align-left;
border:2px solid #7f5c53;
 background: rgba(253, 253, 241, .8) ;
border-radius:10px;
}

.cont3 ul{
margin:0 0 0 15px;
}

.cont3 ul li{
padding:5px 0;
list-style-type: disc;
}

.cont-tx {
 font-family: "Kiwi Maru", serif;
  font-weight: 400;
font-size:24px;
margin:30px 0 30px;
}

/*ループスライダー*/
.loop_wrap {
  position: relative;
  display: -webkit-flex;
  display: flex;
  width: 100%;
  height: 240px;
  overflow: hidden;
  margin:10px 0 0 0;
}

.loop_wrap img {
  width: auto;
  max-width: fit-content;
  height: 100%;
  will-change: transform;
}

.loop_wrap img:first-child {
  -webkit-animation: loop 90s -45s linear infinite;
  animation: loop 90s -45s linear infinite;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}

.loop_wrap img + img {
    -webkit-animation: loop2 90s linear infinite;
    animation: loop2 90s linear infinite;
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    -ms-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

.loop_wrap:hover img{
  animation-play-state: paused;
}


@media (min-width: 900px) {
  .loop_wrap {
    /*height: calc(100vw * .17);*/
    height: 240px;
  }
  .loop_wrap img {
    width: auto;
    max-width: fit-content;
    height: 100%;
    /*min-width: 110vw;*/
  }
}


.new-ttl {
	font-size: 24px;
	margin: 0 0 10px;
	font-weight: 400;
 font-family: "Kiwi Maru", serif;
color:#7f5c53;
}

.frame {
  display: table;
  width: 96%;
margin: 0 auto 10px;
border-bottom:1px solid #7F5C53;
}

.left-content {
  display: table-cell;
  width: 70%;
  font-size: 24px;
   font-family: "Kiwi Maru", serif;
  font-weight: 400;
 text-align:left;
color:#7F5C53;

}

.left-content small {
  font-size: 20px;
  padding-left: 1em;
}

.right-content {
  width: 30%;
  display: table-cell;
  text-align: right;
  font-size: 16px;
}

.right-content a {
color:#7F5C53;
}

.right-content a:hover {
  color: #cfe1fd;
}


.right-content .fa-caret-right {
  color: #607F53;
}

.new  {
text-align:center;
	width: 72%;
  margin:60px auto 20px;
  height: 210px;	
	overflow: auto;	
padding:20px ;
background:#fff; 
box-sizing: border-box;
box-shadow: 0 0 5px rgba(127,92,83,.4);
}

.w-30  {
  width:30%;
  margin:0 35.0% 70px;
 }

.new dl {
    margin:0 2% ;
    width: 96%;
    overflow: hidden;
  }
.new dt {
      float: left;
      width: 125px;
      padding: 10px 0 5px;
      font-size:16px;
      font-weight:normal;
      color:#9E546E;
border-bottom:1px dotted #7f5c53;
text-align:left;
    }

.new dd {
      margin-left: 125px;
      padding:10px 0 5px;
  font-size:16px;
border-bottom:1px dotted #7f5c53;
text-align:left;
    }

.new dd a{
 color:#333;
    }

.new dd a;hover{
 color:#999;
    }


@media(max-width:960px) {
.new  {
width: 88%;
margin:60px auto 20px;
 }
.new dt {
border-bottom:none;
    }

.new dd {
border-bottom:none;
    }

}

@media(max-width:480px) {

.new  {
  height: 206px;	
	overflow: auto;	
padding:10px;
}

.new dl {
    margin:0 2% ;
    width: 96%;
    overflow: hidden;
  }
.new dt {
      float: left;
      width: 100px;
      padding: 15px 0 0;
      font-size:14px;
      font-weight:normal;
      color:#9E546E;
border-bottom:none;
    }

.new dd {
      margin-left: 100px;
      padding:15px 0 0;
  font-size:15px;
border-bottom:none;
    }

  }




h2.ed1 {
font-size:52px;
font-family: "Shippori Mincho", serif;
  font-weight: 700;
color:#256164;
margin:0;
padding:0;
}

p.ed1p {
font-size:18px;
font-family: "Shippori Mincho", serif;
  font-weight: 200;
color:#256164;
margin:0;
padding:0;
}

img.img051 {
width:90%;
height:auto;
margin:0 5%;
aspect-ratio: 4 / 3;
object-fit: cover; 
box-shadow:10px 10px 0px #256164;
}


h2.ed2 {
font-size:52px;
font-family: "Shippori Mincho", serif;
  font-weight: 700;
color:#57a240;
margin:30px 0 0 0;
padding:0;
}

p.ed2p {
font-size:18px;
font-family: "Shippori Mincho", serif;
  font-weight: 200;
color:#57a240;
margin:0;
padding:0;
}

img.img052 {
width:90%;
height:auto;
margin:0 5%;
aspect-ratio: 4 / 3;
object-fit: cover; 
box-shadow:10px 10px 0px #57a240;
}



h2.ed3 {
font-size:52px;
font-family: "Shippori Mincho", serif;
  font-weight: 700;
color:#ae6342;
margin:30px 0 0 0;
padding:0;
}

p.ed3p {
font-size:18px;
font-family: "Shippori Mincho", serif;
  font-weight: 200;
color:#ae6342;
margin:0;
padding:0;
}

img.img053 {
width:90%;
height:auto;
margin:0 5%;
aspect-ratio: 4 / 3;
object-fit: cover; 
box-shadow:10px 10px 0px #ae6342;
}



h2.ed4 {
font-size:52px;
font-family: "Shippori Mincho", serif;
  font-weight: 700;
color:#c25164;
margin:30px 0 0 0;
padding:0;
}

p.ed4p {
font-size:18px;
font-family: "Shippori Mincho", serif;
  font-weight: 200;
color:#c25164;
margin:0;
padding:0;
}

img.img054 {
width:90%;
height:auto;
margin:0 5%;
aspect-ratio: 4 / 3;
object-fit: cover; 
box-shadow:10px 10px 0px #c25164;
}



h2.ed5 {
font-size:52px;
font-family: "Shippori Mincho", serif;
  font-weight: 700;
color:#96925c;
margin:30px 0 0 0;
padding:0;
}

p.ed5p {
font-size:18px;
font-family: "Shippori Mincho", serif;
  font-weight: 200;
color:#96925c;
margin:0;
padding:0;
}

img.img055 {
width:90%;
height:auto;
margin:0 5%;
aspect-ratio: 4 / 3;
object-fit: cover; 
box-shadow:10px 10px 0px #96925c;
}


@media (max-width:960px) {
.sp-mg2{
margin-top:20px;
}
}

@media(max-width: 480px){
h2.ed1 ,h2.ed2 ,h2.ed3 ,h2.ed4 ,h2.ed5 {
font-size:42px;
}

}



.title-border {
display: flex;
align-items: center;
line-height:1.2;
font-size:28px;
 font-family: "Kiwi Maru", serif;
  font-weight: 400;
color:#7f5c53;
}
.title-border:before,
.title-border:after {
border-top: 5px dotted #7f5c53;
content: "";
flex-grow: 1;
}
.title-border:before {
margin-right: 2rem;
}
.title-border:after {
margin-left: 2rem;
}

table.table-11  {
        width: 100%;
        border: none;
        border-collapse: collapse;
        border-spacing: 0;
        margin-top: 10px ;
        margin-bottom:20px;
        line-height: 1.5em; 
}

table.table-11 th {
        padding: 8px 5px;
        border: #E3E3E3 dashed;
        border-width: 1px 0 1px 0;
       background: rgba(253, 253, 241, .8) ;
        vertical-align: middle;
        width:90px;
        font-size: 15px;
        font-weight: normal;
        text-align: left;   
        color:#000;
}

table.table-11 td {
        padding: 8px 5px;
        border:  #E3E3E3 dashed;
        border-width:1px 0 1px 0;  
       font-size: 15px;
       text-align: left;  
       background: rgba(253, 253, 241, .8) ;
}

table.table-11 td a{
       color:#191970;
}

@media only screen and (max-width: 767px) {

table.table-11{
  border:  #E3E3E3 solid;
border-width:1px 1px 0 1px;     
   
    
}

table.table-11 th, table.table-11 td{
display:block;
    }

table.table-11 th{
width:100% !important;
 border: none !important; 
text-align:center; 
background:#FEFAF5;
    }
}

table.table-12  {
        width: 100%;
        border: none;
        border-collapse: collapse;
        border-spacing: 0;
        margin-top: 20px ;
        margin-bottom:20px;
        line-height: 1.5em; 
}

table.table-12 th {
        padding: 10px 7px;
        border: #E3E3E3 dashed;
        border-width: 1px 0 1px 0;
       background: rgba(253, 253, 241, .8) ;
        vertical-align: middle;
        width:130px;
        font-size: 15px;
        font-weight: normal;
        text-align: left;   
        color:#000;
}

table.table-12 td {
        padding: 10px 7px;
        border:  #E3E3E3 dashed;
        border-width:1px 0 1px 0;  
       font-size: 15px;
       text-align: left;  
       background: rgba(253, 253, 241, .8) ;
}

table.table-12 td a{
       color:#191970;
}

@media only screen and (max-width: 767px) {

table.table-12{
  border:  #E3E3E3 solid;
border-width:1px 1px 0 1px;     
   
    
}

table.table-12 th, table.table-12 td{
display:block !important;
    }

table.table-12 th{
width:100% !important;
 border: none !important; 
text-align:center; 
background:#FEFAF5;
    }

table.table-12 td{
width:100% !important;

text-align:center; 

    }

}




h3.news_t {
font-size:24px;
margin:0;
padding:0;
 font-family: "Kiwi Maru", serif;
  font-weight: 500;
text-align:center;
}

.date {
margin:10px 0 30px;
padding:0;
text-align:center;
}

.VideoWrapper {
width:100%;
  aspect-ratio: 16 / 9;
}

.VideoWrapper iframe {
 width: 100%;
  height: 100%;
}

.trim-ttl {
margin:10px 0 20px;
}


.pagination {
display: flex;
align-items: center;
justify-content: center;
margin: 30px 0;
position: relative;
font-size: 13px;
}

.pagination span,
.pagination a {
display: block;
width: auto;
margin: 4px;
padding: 6px;
background-color: #F48090;
text-decoration: none;
text-align: center;
line-height: 12px;
color: #fff;
}

/* ページ番号 */
.pagination .pager {
width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current {
color: #fff;
background-color: #f8b1bb;

}

/* 前へ */
.pagination a.prev {
margin-right: 16px;
}
/* 次へ */
.pagination a.next {
margin-left: 16px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/* Page x / y */
.pagination span.page_num {
display: none;
}


.col_2b{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.col_2b .col_2bc{
    width: calc( 50% - 6px ) ;
    margin-right: 12px;

}
.col_2b .col_2bc:nth-child(2n){
    margin-right: auto;
}

@media screen and (max-width: 960px) {
    .col_2b .col_2bc{
        width: 100%;
        margin-right: auto;
    }
}





.col_2{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
justify-content: center;
margin-bottom:30px;
padding-bottom:30px;
border-bottom:1px dotted #ccc;
}

.col_2:last-of-type{
border-bottom:none;
margin-bottom:0;
padding-bottom:0;
}

.col_2 .box_col1{
	width: 30%;
	padding: 0;
}

.col_2 .box_col2{
	width: 70%;
	padding: 0;
}

.col_2 .box_col1b{
	width:40%;
	padding: 0;
}

.col_2 .box_col2b{
	width:60%;
	padding: 0;
}


.item-thumbnail img {
	width: 100%;
	height:auto;
aspect-ratio: 4 / 3;
 object-fit: cover; 
}




.col_2r{
margin:0 0 0 20px;
}

.j-ttl{
margin:0 0 10px 0;
font-size:20px;
 font-family: "Kiwi Maru", serif;
  font-weight: 400;
}

.j-date{
margin:0 0 20px 0;
}

.post-more {
margin:20px 0 0 0;
}
@media (max-width:767px) {
.col_2 .box_col1{
	width: 100%;
}
.col_2 .box_col2{
	width: 100%;
}

.col_2 .box_col1b{
	width: 100%;
	padding: 0;
}

.col_2 .box_col2b{
	width: 100%;
	padding: 0;
}

}





/* contents-b */

.contents-b {
	width: 100%;
	background-image: url("./images/bg-01b.png");
background-position: center top;
background-repeat: repeat-y;
	margin: 20px auto;
	text-align: center;
}

.contents-b h2 {
	display: flex;
    align-items: center;
	margin-bottom: 25px;
}

.contents-b h2::before,
.contents-b h2::after {
    content: "";
    flex-grow: 1;
	background-image: url("./images/line01.png");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 15px;
	position: relative;
	top: -20px;
}
 
.contents-b h2::before {
    margin-right: 30px;
	background-position: right top;
}
 
.contents-b h2::after {
    margin-left: 30px;
	background-position: left top;
}

.contents-b .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	width: 1000px;
	margin-bottom: 40px;
}




/* contents01 */

.contents01 {
	width: 100%;
	background-image: url("./images/bg-01.png");
background-position: center bottom;
background-repeat: no-repeat;
	margin: 70px auto;
	text-align: center;
}

.contents01 h2 {
	display: flex;
    align-items: center;
	margin-bottom: 25px;
}

.contents01 h2::before,
.contents01 h2::after {
    content: "";
    flex-grow: 1;
	background-image: url("./images/line01.png");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 15px;
	position: relative;
	top: -20px;
}
 
.contents01 h2::before {
    margin-right: 30px;
	background-position: right top;
}
 
.contents01 h2::after {
    margin-left: 30px;
	background-position: left top;
}


.contents01 .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	width: 1000px;
	margin-bottom: 40px;
}

.contents01 .box {
	width: 230px;
	margin: 0px 10px;
}

.contents01 .box img {
	width: 100%;
height: auto;
aspect-ratio: 1 / 0.65;
 object-fit: cover; 

}

.contents01 h4, .contents01 h5, .contents01 p {
 font-family: "Kiwi Maru", serif;
  font-weight: 400;
	line-height: 1.2;

}

.contents01 h4 {
color: #b5aab5;
letter-spacing: 0.05em;
	margin: 15px 0px 8px;
	font-size: 16px;
}


.contents01 h5 ul li:nth-child(1), .contents01 h5 ul li:nth-child(2) {
	display: none;
}

.contents01 .box-in-fixed h5 ul li:nth-child(3) {
	display: none;
}

.ttl {
margin:20px 0;
}

.contents01 h5 {
	color:#000;
margin:0;
padding:0;
font-size:18px;
}

.contents01 p {
color: #4d4d4d;
	line-height: 1.4;
	margin: 10px 0px 20px;
	text-align:left;
}

.contents01 .box h6 a {
	font-size: 15px;
color: #42210b;
line-height: 1.2;
font-weight: normal;
	position: relative;
	padding-right: 85px;
}

.contents01 .box h6 a:hover {
	opacity: 1;
}

.contents01 .box h6 a::after {
	content: "";
	position: absolute;
right: 10px;
top: 5px;
	background-image: url("./images/link-arrow01.svg");
background-position: right top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 64px;
	height: 9px;
	margin-right: 0px;
	transition: .5s;
}

.contents01 .box h6 a:hover::after {
	right: 0px;
}


/* contents02 */

.contents02 {
	width: 100%;
	height: 860px;
	background-image: url("./images/back02.jpg");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: cover;
}

.contents02 .box-in {
	position: absolute;
right: 5%;
top: 80px;
	width: 600px;
	text-align: center;
}

.contents02 .box {
	background-color: rgba(255,255,255,0.8);
	padding: 50px 0px;
	margin-top: 40px;
}

.contents02 .box p {
color: #42210b;
line-height: 2;
font-weight: normal;
	margin-bottom: 40px;
}

.contents01 > h6 a, .contents02 h6 a, .contents03 h4 a, .contents04 h3 a {
color: #42210b;
line-height: 1.2;
letter-spacing: 0.1em;
font-weight: normal;
	display: inline-block;
	border-style : solid;
border-color : #42210b;
border-width : 1px;
	border-radius: 60px;
	padding: 10px 35px;
	width: 230px;
	position: relative;
	text-align: left;
}

.contents01 > h6 a:hover, .contents02 h6 a:hover, .contents03 h4 a:hover, .contents04 h3 a:hover {
	opacity: 1;
}

.contents01 > h6 a::after, .contents02 h6 a::after, .contents03 h4 a::after, .contents04 h3 a::after {
	content: "";
	position: absolute;
right: 35px;
top: 0px;
	background-image: url("./images/link-arrow02.svg");
background-position: right center;
background-repeat: no-repeat;
	background-size: auto 11px;
	width: 49px;
	height: 100%;
	transition: .5s;
}

.contents01 > h6 a:hover::after, .contents02 h6 a:hover::after, .contents03 h4 a:hover::after, .contents04 h3 a:hover::after {
right: 25px;
}


/* contents03 */

.contents03 {
	width: 100%;
	background-image: url("./images/back05.jpg");
background-position: left top;
background-repeat: no-repeat;
	background-size: cover;
	padding: 20px 0px 60px;
	text-align: center;
}

.contents03 .midashi-box {
	margin-bottom: 40px;
	padding-bottom: 40px;
	position: relative;
}



.contents03 h2 {
	font-size: 38px;
color: #602D1D;
line-height: 1.2;
letter-spacing: 0.1em;
 font-family: "Kiwi Maru", serif;
  font-weight: 500;
	display: flex;
    align-items: center;
}

.contents03 h2::before,
.contents03 h2::after {
    content: "";
    flex-grow: 1;
	background-image: url("./images/midashi02-back.png");
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 25%;
	height: 66px;
	position: relative;
	top: 20px;
}
 
.contents03 h2::before {
    margin-right: 70px;
	background-position: right top;
}
 
.contents03 h2::after {
    margin-left: 70px;
	background-position: left top;
}

.contents03 .box-in {
   display: flex;
  justify-content: flex-end;
	width: 1080px;
	
}

.contents03 .box01 {
	width: 585px;
	position: relative;
}



.contents03 .box01 img {
	max-width: 100%;
height: auto;

}

.contents03 .box02 {
	text-align: left;
	width: 430px;
	margin-left: 40px;
	padding-top: 20px;
}

.contents03 h3 {
 font-family: "Kiwi Maru", serif;
  font-weight: 500;
	font-size: 29px;
color: #42210b;
line-height: 1.4;
letter-spacing: 0.05em;

	margin: 40px 0px 30px;
}

.contents03 p {
color: #4d4d4d;
line-height: 1.6;
}

.contents03 h4{
	padding-top: 40px;
	text-align: center;
}

.contents03 h4:last-child {
padding-top: 0;
}



/* contents04 */

.contents04 {
	width: 100%;
}





.contents04 h2 {
	font-size: 32px;
	margin: 20px 0px;
	font-weight: 400;
 font-family: "Kiwi Maru", serif;
color:#7f5c53;
}

.contents04 .box h2 {
	font-size: 26px;
	margin: 10px 0px;
	font-weight: 400;
 font-family: "Kiwi Maru", serif;
}

.contents04 .box:nth-child(1) h2 {
color: #256164;
}

.contents04 .box:nth-child(2) h2 {
color: #57A240;
}

.contents04 .box:nth-child(3) h2 {
color: #C25164;
}

.contents04 .box:nth-child(4) h2 {
color: #76bba5;
}

.contents04 .box:nth-child(5) h2 {
color: #faaf3b;
}


.contents04 .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	width: 996px;
	margin-bottom: 20px;
	margin-top:0;
   padding-top:10px;
}

.contents04 .box {
	width:312px;
	margin: 0px 10px;
	margin-bottom: 0;
}

.contents04 .box img {
	width: 100%;
height: auto;
aspect-ratio: 1 / 0.65;
object-fit: cover; 
box-shadow: 0 0 5px rgba(39,48,57,.4);
}

.contents04 h3, .contents04 h4, .contents04 h5 {
 font-family: "Kiwi Maru", serif;
  font-weight: 400;
line-height: 1.2;

}



.contents04 h5 {
color: #FFF;
	padding: 3px 20px;
	border-radius: 60px;
	display: inline-block;
}

.contents04 .box:nth-child(1) h5 {
	background-color: #d8df21;
}

.contents04 .box:nth-child(2) h5 {
	background-color: #f895a5;
}

.contents04 .box:nth-child(3) h5 {
	background-color: #d693bd;
}

.contents04 .box:nth-child(4) h5 {
	background-color: #76bba5;
}

.contents04 .box:nth-child(5) h5 {
	background-color: #faaf3b;
}

.contents04 p {
color: #4d4d4d;
line-height: 2;
	width: 900px;
	margin-bottom: 50px;
}

.box-p {
color: #4d4d4d;
line-height: 1.4;
margin:-10px auto 20px;
font-size:16px;
}

    .sp-view {
        display: none;
    }

/* DAY */
@media(min-width: 641px) {
#day {
  margin: 10px 0px 20px 0px;
    }

#day dl {
  margin: 0px 0px 0px 0px;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
    }
#day dt {
    width:15%;
    font-weight: bold;
	font-size:120%;
	color:#AE6342;
    padding: 10px 0%;
	text-align: left;
    }

#day dd {
  width:85%;
    font-weight: normal;
	font-size:120%;
    padding:10px 0%;
	text-align: left;
	color:#C25164;
}

#day dd ul .list{font-weight: bold;margin-bottom:10px;}
#day dd ul li{width:32%;float:left;margin-right:2%; list-style-type:none;}
#day dd ul li:last-child{margin-right:0px;}

#day dd ul li img{width:100%;height:200px;object-fit: cover;margin-bottom:15px;border-radius: 5px;}
#day dd ul li .comment{color:#666;font-size:80%;}
}

@media 
(min-width : 768px) and 
(max-width : 1024px)  {

#day{width:100%;margin:0px auto;}
#day ul li img{width:100% !important;height:auto;margin-top:0px;}
#day dd ul li{list-style-type:none;}
}

@media(max-width: 767px) {
#day{width:100%;margin:0px auto;}
#day ul li img{width:95% !important;height:auto;margin:0 5% 0 0;}
#day dd ul li{list-style-type:none;}
}
/* TOPPAGE SP */

@media screen and (max-width: 737px) {

	
.main-img-top::after {
	display: none;
}
	
	
/*slider*/

div.slider-wrap {
	clear: both;
	width: 100%;
	height: auto;
	position: relative;
}
	
div.slider-wrap::after {
	content: "";
	position: absolute;
left: 0px;
bottom: 0px;
	background-image: url("common/images/flame.png");
background-position: center bottom;
background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 50%
}


.slider {
	width: 100%;
	height: auto;
	overflow:visible;
}

.slider .box {
	list-style-type: none;
	margin: 0px;
	height: auto;
	width: 100%;
}

.slider .box > img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}
	
	
/* title-top */

.title-top {
	position: static;
	display: block;
	border-radius: 0px;
	padding: 30px 20px;
	text-align: center;
}
	
.title-top h3 img {
	height: 25px;
	width: auto;
}

.title-top h4 {
font-size: 24px;
	line-height: 1.4;
	margin: 15px 0px;
}

.title-top h5 {
font-size: 14px;
	letter-spacing: 0.1em;
}

	
	
/* contents-top */

.contents-top {
}

	
/* contents01 */

.contents01 {
	width: 100%;
	margin: 30px auto;
	padding-bottom: 30px;
}

.contents01 h2 {
	margin-bottom: 25px;
}
	
.contents01 h2 img {
	height: 80px;
	width: auto;
}

.contents01 h2::before,
.contents01 h2::after {
	height: 10px;
	top: -15px;
}
 
.contents01 h2::before {
    margin-right: 20px;
}
 
.contents01 h2::after {
    margin-left: 20px;
}


.contents01 .box-in {
	display: flex;
  justify-content: center;
flex-wrap: wrap;
	width: 92%;
	margin-bottom: 20px;
}

.contents01 .box {
	width: 46%;
	margin: 0px 2%;
	margin-bottom: 30px;
}
	
.contents01 .box-in-fixed .box:nth-child(3) {
	display: none;
}

.contents01 h4 {
	font-size: 16px;
}

.contents01 .box h6 a {
	font-size: 14px;
}

/* contents02 */

.contents02 {
	width: 100%;
	height: auto;
	padding: 50px 0px 0px;
}
	
.contents02  h2 img {
	height: 55px;
	width: auto;
}

.contents02 .box-in {
	position: static;
	width: 92%;
	margin: 0px auto;
}

.contents02 .box {
	padding: 40px 20px;
	margin-top: 30px;
}

.contents02 .box p {
	margin-bottom: 30px;
}
	
.contents02 .box p br {
	display: none;
}

/* contents03 */

.contents03 {
	width: 100%;
	padding: 30px 0px 70px;
}

.contents03 .midashi-box {
	margin-bottom: 40px;
	padding-bottom: 50px;
	position: relative;
}

.contents03 .midashi-box::after {
	height: 38px;
}

.contents03 h2 {
	font-size: 24px;
}

.contents03 h2::before,
.contents03 h2::after {
	width: 20%;
	height: 50px;
	top: 10px;
}
 
.contents03 h2::before {
    margin-right: 15px;
}
 
.contents03 h2::after {
    margin-left: 15px;
}

.contents03 .box-in {
   display: block;
	width: 100%;
	background-image: none;
	padding-bottom: 0px;
}

.contents03 .box01 {
	width: 360px;
	margin: -40px auto;
padding-bottom:20px;
}



.contents03 .box01 img {
	width: 90%;
height: auto;
margin:0 5%;
}

.contents03 .box02 {
	width: 90%;
	margin: 0px auto;
	padding-top: 40px;
}

.contents03 .box02 h4{
text-align:center;
}
	
.contents03 h3 img {
	height: 70px;
	width: auto;
}

.contents03 h3 {
	font-size: 22px;
	margin: 20px 0px 20px;
}


/* contents04 */





.contents04 .box-in {
	width: 96%;
	margin-bottom: 15px;
}

.contents04 .box {
	width: 94%;
	margin: 0px 4%;
	margin-bottom: 30px;
}



.contents04 h2 {
	font-size: 17px;
}

.contents04 p {
	width: 90%;
	margin-bottom: 30px;
}
	
.contents04 p br {
	display: none;
}



    .pc-view {
        display: none;
    }
    .sp-view {
        display: block;
    }
   
}

.pc { display: block !important; }
.sp { display: none !important; }

br.sp-b { display: none !important; }



@media(max-width:767px) {

img.size-medium ,.size-large ,.size-full{ 
width:100%;
height:auto;
}


 .pc { display: none !important; }
    .sp { display: block !important;}

br.sp-b { display: block !important; }

.sp-mg{
margin-top:10px;

}

	nav .nav-box {
margin-top:-100px;

	}

.cont2{
	width: 92%;
margin:0 4% 0;
padding:0 0 30px;
text-align-left;

}

.cont3{

padding:20px 10px 20px 10px;
}

.title-border {
font-size:22px;
}
.title-border:before {
margin-right: 1rem;
}
.title-border:after {
margin-left: 1rem;
}

.box-bg-001  {
margin-left:-1em;

}

.font-20  {
font-size:17px;
margin-top:10px;
}

.col_2r{
margin:0 ;
}

.na-box-ss2  {
margin:0 0;
width:100%;
}

.tbt  {
font-size:18px;
text-align:center;
margin-top:15px;
}

.cont{
	width: 92%;
margin:0 4% 0;
padding:20px 10px;

}

.j-ttl{
margin:10px 0 10px 0;
font-size:18px;

}

}

@media(max-width: 480px){
.contents04 {
	width: 100%;
	background-image: url("./images/back05b-sp.jpg");
background-position: top center;
background-repeat: no-repeat;
background-size: cover;
	margin-bottom: 0;
    padding-top:30px;
    padding-bottom:30px;
	text-align: center;
}


}


@media(min-width:481px) {
br.sp-b2 {
display:none;
}
}