@charset "UTF-8";

/*----------------------------------------------------------------- index
*/

.home .h-colb { background-image:url("/wp-content/themes/bluestars/img/eyecatch.jpg"); background-size: cover; background-position: bottom; padding-top: 210px;}
.h-colb h2 { margin-left: 10px; position: absolute; top: 310px;}
.h-colb h2 img { width: 90%;}
article { padding: 3.125%;}

#sdgs { margin-bottom: 20px;}
.sdgs-colb { margin: 40px 0;}
/* スマホ向け SDGS文字設定 */
.sdgs-colb h3 { font-size: 1.2em; margin-bottom: 15px; font-weight: bold;}
.sdgs-colb h4 { font-size: 1em; line-height: 1.6em; font-weight: normal;}

.sdgs-colb ul {margin-bottom: 30px;}
.sdgs-colb li { float: left; width: 18%; margin-right: 2%;}
.sdgs-colb li img {width: 100%;}

#about {
  margin-top: 0px;
  background-color: #2810ff;
  color: #fff;
  clear: both;
}

#about h2 { text-align: center; font-weight: bolder; margin: 30px 0;}

.anime {
    animation-name: fadeIn; 
    animation-duration: 5s; 
    animation-iteration-count:1;
    animation-fill-mode: forwards; 
}
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* スマホ向け aboutテキスト設定 */
#about p.clear { text-align: center; font-size: 1em; line-height: 1.6em; margin-bottom: 30px; }

/* スマホ向け about-box (画像3つ) */
.about-flex-container { display: flex; flex-direction: column; align-items: center; gap: 20px; margin: 20px 0;}
.about-area .about-box { width: 100%; max-width: 400px; text-align: center;}
.about-area .about-box p { margin: 0; }
.about-area .about-box img { width: 100%; height: auto; display: block; margin: 0 auto;}

/* スマホ向け cando (表) 強制適用 */
.cando { margin: 40px auto; width: 90%; }
.cando dl { margin: 0; padding: 0; }
.cando-row { display: flex !important; flex-direction: column !important; margin-bottom: 15px; width: 100%; }
.cando dt { background: #fff !important; color: #2810ff !important; width: 100% !important; padding: 15px !important; font-weight: bold; text-align: center; font-size: 1.1em; box-sizing: border-box; margin: 0 !important;}
.cando dd { background: rgba(255, 255, 255, 0.2) !important; color: #fff !important; width: 100% !important; padding: 15px 20px !important; margin: 0 !important; font-size: 1em; line-height: 1.6em; box-sizing: border-box; word-wrap: break-word; border: none !important;}

/* スマホ向け about-bt (ボタン) */
.about-area .about-bt a { display: block; background-color: #fff; color: #2810ff; width: 90%; max-width: 300px; margin: 0 auto 20px; text-align: center; padding: 15px 0; font-size: 1.2em; font-weight: bold; border-radius: 5px;}
.about-area .about-bt a:hover { text-decoration: none; opacity: 0.8;}

/* === バナー4つ並び設定（スマホ向け：縦並び1列） === */
.home #sec01.banner-area { display: grid; grid-template-columns: 1fr; gap: 15px; padding: 20px 0; width: 90%; margin: 0 auto;}
.home #sec01.banner-area .banner-box { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 180px; background-size: cover; background-position: center; text-decoration: none; border-radius: 5px; box-shadow: 0 4px 6px rgba(0,0,0,0.1);}
.home #sec01.banner-area .banner-box:hover { opacity: 0.8; }
.home #sec01.banner-area .banner-box p { color: #fff; text-shadow: 1px 1px 5px rgba(0,0,0,0.8); margin: 0; text-align: center; }
.home #sec01.banner-area .banner-box p:first-child { font-size: 1.6em; font-weight: bold; margin-bottom: 5px; }
.home #sec01.banner-area .banner-box p:last-child { font-size: 1em; }

/* 背景を全体表示(contain)にするバナー用の追加スタイル */
.home #sec01.banner-area .banner-box.bg-contain {
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #fff; 
}
/* ============================================== */

.home #sec02 {background-color: #383635; overflow: hidden;}
.home #sec02 .box { color: #fff;}
.home #sec02 .box .ttl { padding-top: 10px; }
.home #sec02 .box .ttl h2 { font-weight: bold; font-size: 1.8em;}
.home #sec02 .box .ttl h2 { display: flex; align-items: center; justify-content: left;}
.home #sec02 .box .ttl h2:before, .catch:after { border-top: 3px solid; content: ""; width: 25px; }
.home #sec02 .box .ttl h2:before {  margin-right: 0.4em; }
.home #sec02 .box .ttl p { font-weight: normal; font-size:0.8em; padding:1px 0 0 36px;}
.home #sec02 .box h3 { font-size: 1.4em; line-height: 1.4em; padding: 30px 0 10px; font-weight: bold;}
.home #sec02 .box p { font-size: 0.9em;}
.recruit-bt a { display: block; background-color: #fff; width:  90%; margin: 20px auto; text-align: center; padding: 15px 0; font-size: 1.1em; font-weight: bold;}
.recruit-bt a:hover { text-decoration: none; background-color:#F9F0C9;}

/* === マップの配置設定（スマホ向け：縦並び） === */
.map-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px; 
    margin-top: 30px;
    margin-bottom: 60px; 
    width: 100%;
}
.map-item { width: 90%; display: flex; flex-direction: column; }
.map-address { font-size: 1.1em; line-height: 1.6em; margin-bottom: 10px; text-align: left; color: #fff; }
/* 縦幅を狭く（16:9） */
.map-item iframe { width: 100%; aspect-ratio: 16 / 9; border: none; }
/* ======================================= */

/* =========================================================
   CONTACTエリア・フッター（スマホ向けベース）
========================================================= */
#contact-area {
    text-align: center;
    padding: 60px 3%;
    background-color: #f9f9f9; 
}
#contact-area .ttl { margin-bottom: 20px; }
#contact-area .ttl h2 {
    font-size: 2.4em;
    font-weight: bold;
    margin-bottom: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#contact-area .ttl h2:before { content: none; }
#contact-area .ttl p { font-size: 1em; }

.btn-area { margin-bottom: 25px; }
.contact-btn {
    display: inline-block;
    background-color: #2810ff; 
    color: #fff !important;
    font-size: 1.2em;
    font-weight: bold;
    text-decoration: none;
    padding: 15px 50px;
    border-radius: 50px; 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}
.contact-btn:hover {
    opacity: 0.8;
    transform: translateY(-2px); 
}
#contact-area .tel {
    font-size: 1.4em;
    font-weight: bold;
    color: #333;
}

/* === フッターのレイアウト === */
.footer-bg {
    /* PCでも確実に色が変わるように !important を付与 */
    background-color: #9198e5 !important; 
    color: #333; 
    padding: 40px 0;
}
.footer-bg a { color: #333; text-decoration: none; }
.footer-bg a:hover { text-decoration: underline; opacity: 0.8; }

.footer-area {
    display: flex;
    flex-direction: column;
    text-align: left; /* はみ出しても左寄せ */
    padding: 0 5%;
}
.ad-area { width: 100%; margin-bottom: 30px; }
.ad-area h3 img {
    max-width: 200px;
    height: auto;
    margin: 0 0 15px 0; /* 左寄せ */
    display: block;
}
.ad-area p.ad { 
    line-height: 1.8em; 
    font-size: 1.1em; /* 文字を大きく */
    font-weight: bold; /* 文字を太く */
    margin: 0; 
}

.footer-navi-area { width: 100%; }
.footer-nav-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2列で表示 */
    gap: 15px 10px;
    font-size: 1.1em; /* メニュー文字を大きく */
    margin: 0;
    padding: 0;
    list-style: none;
}
.footer-nav-grid li { text-align: left; font-weight: bold; /* メニュー文字を太く */ }

footer address {
    background-color: #383635; 
    color: #fff;
    text-align: center;
    padding: 15px 0;
    margin: 0;
    font-style: normal;
    font-size: 0.9em;
}


/* =========================================================
   PC向けレイアウトの指定：750px以上
========================================================= */
@media only screen and (min-width: 750px) {

.home .h-colb { padding-top: 0;}
.h-colb h2 { margin-left: 80px; position: absolute; top: 530px;}
article {width: 100%; margin: auto; padding: 0;}

#sdgs { margin-bottom: 0px;}
.sdgs-cola { float: left; width:45%; background-image:url("/wp-content/themes/bluestars/img/eyecatch2.jpg"); background-size: cover; height: 350px;}
.sdgs-colb { float: right; width: 55%;  height: 350px;  margin: 0; padding: 0;}

/* ① SDGSテキスト: 少し大きく、少し右へ寄せる */
.sdgs-colb .sdgs-area { margin: 150px 0 0 100px; max-width: 80%; width: auto;}
.sdgs-colb h3 { font-size: 2em; margin-bottom: 20px;}
.sdgs-colb h4 { font-size: 1.4em; line-height: 1.6em; font-weight: bold;}
.sdgs-colb li { float: left; margin-right: 1%; width: auto;}
.sdgs-colb li img { height: 52px; width: auto;}

#about { background-size: cover; margin-top: 0;}
/* 全体を中央に寄せるための指定 */
.about-area { width: 90%; max-width: 1000px; margin: 0 auto; padding: 60px 0 !important;}

/* ② Blue Starsのコンセプト: 中央表示・文字を大きく */
#about h2 { font-size: 2.4em; text-align: center; margin-bottom: 40px;}
#about p.clear { font-size: 1.2em; line-height: 1.8em; text-align: center; margin: 0 auto 50px; }

/* ③ コンセプト画像3つ: PCで絶対に横並びにする強力な指定 */
.about-flex-container { 
    display: flex; 
    flex-direction: row; 
    flex-wrap: nowrap;
    justify-content: space-between; 
    align-items: flex-start;
    gap: 2% !important;
    margin-bottom: 60px;
}
.about-area .about-box { width: 32%; max-width: none; margin-bottom: 0; }
.about-area .about-box img { width: 100%; height: auto; }

/* ④ 表(cando): 中央表示、文字大きく太く、背景半透明で見やすく（PC版も強制上書き） */
.cando { margin: 0 auto 60px; max-width: 900px; width: 100%; }
.cando-row { flex-direction: row !important; align-items: stretch; margin-bottom: 10px; }
.cando dt { width: 30% !important; display: flex !important; align-items: center; justify-content: center; padding: 20px !important; font-size: 1.3em; font-weight: bold; background: #fff !important; color: #2810ff !important; box-sizing: border-box;}
.cando dd { width: 70% !important; display: flex !important; align-items: center; padding: 20px 30px !important; font-size: 1.2em; font-weight: bold; line-height: 1.6em; background: rgba(255, 255, 255, 0.2) !important; color: #fff !important; border-left: 2px solid #fff !important; box-sizing: border-box;}

/* ⑤ ボタン: 画面中央、白背景＋青文字 */
.about-area .about-bt a { width: 320px; margin: 0 auto; padding: 25px 0; font-size: 1.6em; background-color: #fff; color: #2810ff; font-weight: bold; border-radius: 5px;}

/* === バナー4つ並び設定（PC向け：2列2行のグリッド） === */
.home #sec01.banner-area { 
    grid-template-columns: 1fr 1fr; 
    gap: 20px; 
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 60px;
    padding: 0;
}
.home #sec01.banner-area .banner-box { height: 240px; }
.home #sec01.banner-area .banner-box p:first-child { font-size: 2em; margin-bottom: 10px; }
.home #sec01.banner-area .banner-box p:last-child { font-size: 1.2em; }
/* ============================================== */

.home #sec02 .box { width: 1000px; margin: auto; color: #fff;}
.home #sec02 .box .ttl {float: right; padding-top: 100px; width: 260px; margin-right: 80px;}
.home #sec02 .box .ttl h2 { font-weight: bold; font-size: 2.8em; line-height: 1em;}
.home #sec02 .box .ttl h2 { display: flex; align-items: center; justify-content: left;}
.home #sec02 .box .ttl h2:before, .catch:after { border-top: 3px solid; content: ""; width: 40px; }
.home #sec02 .box .ttl h2:before {  margin-right: 0.8em; }
.home #sec02 .box .ttl p { font-weight: normal; font-size:1em; padding:5px 0 0 72px;}
.home #sec02 .box h3 { font-size: 1.9em; line-height: 1.4em; padding: 50px 0 10px; font-weight: bold;}
.home #sec02 .box p { font-size: 1.1em;}
.recruit-bt a { display: block; background-color: #fff; width: 280px; margin: 40px 0 50px; text-align: center; padding: 15px 0; font-size: 1.2em; font-weight: bold;}
.recruit-bt a:hover { text-decoration: none;}

/* === マップの配置設定（PC向け：絶対に横並び） === */
.map-flex {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    gap: 4vw; 
    width: 100vw; 
    margin-left: calc(50% - 50vw);
    margin-bottom: 80px !important; 
}

.map-item {
    width: 40vw !important; 
}
/* ======================================= */

/* === フッター（PC向けレイアウト） === */
.footer-area {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: row; /* 横並びに */
    justify-content: space-between;
    align-items: center; /* 左右のブロックを縦の中央で綺麗に揃える */
}
.ad-area { width: 45%; margin-bottom: 0; text-align: left; }
.footer-navi-area { width: 50%; }
.footer-nav-grid {
    gap: 20px 30px; /* PC向けにメニューの隙間を広げる */
}
/* ==================================== */
}

/*----------------------------------------------------------------- page-common
*/
.pagename { color: #fff; font-size: 1.2em; line-height: 1.2em; font-weight: bolder; position: absolute; top: 230px; left: 3%; z-index: 1;}
.pagename-bg { background-color: #2810ff; mix-blend-mode: multiply; height: 80px;}
.pagename-bg-green { background-color: #16f45c63; mix-blend-mode: multiply; height: 80px;}

@media only screen and (min-width: 750px) {
.pagename { color: #fff; font-size: 3em; line-height: 1.2em; font-weight: bolder; position: absolute; top: 530px; left: 40px; z-index: 1;}
.pagename-bg { margin-top: 500px; background-color: #2810ff; height: 160px;}
.pagename-bg-green { margin-top: 500px; background-color: #16f45c63; height: 160px;}
}

/*----------------------------------------------------------------- works */
.category-works .h-colb { background-image:url("../img/works/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.category-works #sec01 { margin: 0 auto 60px;}
.category-works #sec01 h3 { font-size: 1.2em; margin-bottom: 30px; font-weight: bolder;}
.category-works #sec01 dl { width: 48%; float:left; margin:0 3% 3% 0;}
.category-works #sec01 dl:nth-child(2n+1) { margin-right: 0;}
.category-works #sec01 dd { text-align: center; font-size: 1.1em;}

.ev-button { width: 350px; display: inline-block; text-align: center; margin: 0 auto; padding: .9em .9em; border: none; border-radius: 25px; background-image: linear-gradient(45deg, #ffc107, #ff7b5f); color: black; font-weight: 600; font-size: 1em;}
.ev-button:hover { text-decoration: none; opacity: 0.8;}

@media only screen and (min-width: 750px) {
.category-works .h-colb { margin-bottom: 100px;}
.category-works #sec01 { width: 1160px; margin: 0 auto 100px; clear: both;}
.category-works #sec01 h3 { font-size: 1.8em;}
.category-works #sec01 dl { width: 340px; float:left; margin: 0 70px 70px 0;}
.category-works #sec01 dl:nth-child(2n+1) { margin-right: 70px;}
.category-works #sec01 dl:nth-child(3n+1) { margin-right: 0;}
.category-works #sec01 dl img {width: 340px;}
}

/*----------------------------------------------------------------- works-data */
.single-post .h-colb { background-image:url("../img/works/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.single-post #sec01 { margin: 0 auto 60px;}
.single-post #sec01 h3 { font-size: 1.2em; margin-bottom: 30px; font-weight: bolder;}

@media only screen and (min-width: 750px) {
.single-post .h-colb { margin-bottom: 100px;}
.single-post #sec01 { width: 1000px; margin: 0 auto 100px; clear: both;}
.single-post #sec01 h3 { font-size: 1.6em;}
}

/*----------------------------------------------------------------- services */
.page-id-12 .h-colb { background-image:url("../img/services/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-12 #sec01 {margin-top: 30px;}
.page-id-12 #sec01 .cola { background-image: url("../img/services/ph01.png"); background-size: cover; height: 200px; background-position: center;}
.page-id-12 #sec02 .cola { background-image: url("../img/services/ph02.png"); background-size: cover; height: 200px; background-position: center;}
.page-id-12 #sec03 .cola { background-image: url("../img/services/ph03.png"); background-size: cover; height: 200px; background-position: center;}
.page-id-12 #sec04 .cola { background-image: url("../img/services/ph04.png"); background-size: cover; height: 200px; background-position: center;}
.page-id-12 #sec01 .cola img,.page-id-12s #sec02 .cola img,.page-id-12 #sec03 .cola img, .page-id-12 #sec04 .cola img { width: 100%;}
.page-id-12 #sec01 .colb h3,.page-id-12 #sec02 .colb h3,.page-id-12 #sec03 .colb h3, .page-id-12 #sec04 .colb h3 { font-size: 1.4em; font-weight: bolder; margin: 10px 0 10px; }
.page-id-12 #sec01 .colb img,.page-id-12 #sec02 .colb img,.page-id-12s #sec03 .colb img, .page-id-12 #sec04 .colb img { width: 50%;}
.page-id-12 #sec01 .colb p,.page-id-12 #sec02 .colb p,.page-id-12 #sec03 .colb p, .page-id-12 #sec04 .colb p { margin-bottom: 30px; font-size: 1.1em;}
.page-id-12 #sec01 .colb li,.page-id-12 #sec02 .colb li,.page-id-12 #sec03 .colb li, .page-id-12 #sec04 .colb li { font-size: 1.2em; float: left; width: 50%;  margin-bottom: 25px;}

@media only screen and (min-width: 750px) {
.page-id-12 .h-colb { margin-bottom: 100px;}
.page-id-12 #sec01 {margin-top: 0px;}
.page-id-12 #sec01, .page-id-12 #sec02, .page-id-12 #sec03, .page-id-12 #sec04 {background-image: url("../img/services/bg.png"); background-repeat: repeat-x; background-position: bottom; padding-bottom: 80px; margin-bottom: 150px;}
.page-id-12 #sec01 .cola,.page-id-12 #sec03 .cola { width: 50%; float: left; height: 600px;}
.page-id-12 #sec02 .cola, .page-id-12 #sec04 .cola { width: 50%; float: right; height: 600px;}
.page-id-12 #sec01 .colb,.page-id-12 #sec03 .colb {  width: 40%; float:right; padding: 3% 3% 0 0;}
.page-id-12 #sec02 .colb, .page-id-12 #sec04 .colb {  width: 40%; float:right; padding: 3%;}
.page-id-12 #sec01 .colb h3,.page-id-12 #sec02 .colb h3,.page-id-12 #sec03 .colb h3, .page-id-12 #sec04 .colb h3 { font-size: 2em; font-weight: bolder; margin:0 0 30px 0; }
.page-id-12 #sec01 .colb p,.page-id-12 #sec02 .colb p,.page-id-12 #sec03 .colb p, .page-id-12 #sec04 .colb p { margin-bottom: 130px; font-size: 1.1em;}
}

/*----------------------------------------------------------------- company */
.page-id-5 .h-colb { background-image:url("../img/compnay/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-5 #sec01 {margin-top: 30px;}
.page-id-5 #sec01 .cola { width: 70%; float: left; background-image: url("../img/compnay/ph01.png"); background-size: cover; background-position: center; height: 300px;}
.page-id-5 #sec01 .cola img { width: 100%;}
.page-id-5 #sec01 .colb { width: 30%; float:right; text-align: center;}
.page-id-5 #sec01 .colb img { width: 50%;}
.page-id-5 #sec02 { margin: 0px auto;}
.page-id-5 #sec02 .name { text-align: right;}
.page-id-5 #sec03 h3 { font-size: 1.4em; margin-bottom: 20px;}
.page-id-5 #sec03 dt { width: 40%; margin: 0 0 10px 0; padding-bottom: 5px; border-bottom: solid 2px #454545;}
.page-id-5 #sec03 dd { margin: 0 0 20px 0; padding-bottom: 10px; border-bottom: solid 1px #AAA7A7;}

@media only screen and (min-width: 750px) {
.page-id-5 .h-colb { margin-bottom: 100px;}
.page-id-5 #sec01 {margin-top: 0px;}
.page-id-5 #sec01 .cola {height: 600px;}
.page-id-5 #sec01 .colb img { width: 40%;}
.page-id-5 #sec02 { width: 1000px; margin: 30px auto;}
.page-id-5 #sec02 p { font-size: 1.1em; line-height: 1.8em !important;}
.page-id-5 #sec03 { width: 1000px; margin: 30px auto;}
.page-id-5 #sec03 h3 { font-size: 1.4em; margin-bottom: 40px;}
.page-id-5 #sec03 dl { font-size: 1.1em;}
.page-id-5 #sec03 dt { width: 170px; float: left; margin: 0 0 20px 0; padding-bottom: 18px; border-bottom: solid 2px #454545;}
.page-id-5 #sec03 dd { margin: 0 0 20px 200px; padding-bottom: 20px; border-bottom: solid 1px #AAA7A7;}
}

/*----------------------------------------------------------------- recruit */
.page-id-87 .h-colb { background-image:url("../img/recruit/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-87 #sec01 {margin-top: 30px; clear: both; background-color: #EFEFEF; padding: 60px 0;}
.page-id-87 #sec01 .box { padding: 0 2%;}
.page-id-87 #sec01 h2 { font-size: 1.6em; line-height: 1.6em; margin-bottom: 20px; font-weight: bolder;}
.page-id-87 #sec01 p { font-size: 1em; line-height: 1.8em;}
.page-id-87 #sec01 ul { text-align: center;}
.page-id-87 #sec01 li { margin: 0 2px; display: inline;}
.page-id-87 #sec01 li img { width: 20%;}
.charm {margin-bottom: 60px;}
.charm .subttl { font-size: 1.2em !important; text-align: center; margin-bottom: 10px; font-weight: bolder;}
.charm h3 { font-size: 1.8em; margin-bottom: 20px; color: #2810ff; line-height: 1.2em; font-weight: bolder}
.charm p { font-size: 1em !important; line-height: 1.6em; margin-bottom: 20px;}
.page-id-87 #sec03 h3 { font-size: 2.2em !important; margin-bottom: 20px; text-align: center;}
.page-id-87 #sec03 dt { width: 40%; margin: 0 0 10px 0; padding-bottom: 5px; font-weight: bolder;}
.page-id-87 #sec03 dd { margin: 0 0 20px 0; padding-bottom: 10px; border-bottom: solid 1px #AAA7A7;}
.page-id-87 #sec03 .responsible { font-weight: bolder; font-size: 1.06em;}

@media only screen and (min-width: 750px) {
.page-id-87 .h-colb { margin-bottom: 100px;}
.page-id-87 #sec01 {margin: 0 0 60px;}
.page-id-87 #sec01 h2 { font-size: 2.4em; text-align: center; margin-bottom: 20px;}
.page-id-87 #sec01 p { font-size: 1.4em; line-height: 1.8em;}
.page-id-87 #sec01 .box { width: 1000px; margin: auto; padding: 0;}
.page-id-87 #sec01 li img { height: 80px; width: auto;}
.page-id-87 #sec02 { width: 800px; margin: 30px auto;}
.page-id-87 #sec02 p { font-size: 1.1em; line-height: 1.8em !important;}
.charm {margin-bottom: 60px;}
.charm .subttl { font-size: 2em !important; text-align: center; margin-bottom: 20px;}
.charm h3 { font-size: 2.4em; text-align: center; margin-bottom: 20px; color: #F39800; line-height: 1.4em;}
.charm p { font-size: 1.2em !important; line-height: 1.8em; margin-bottom: 20px;}
.page-id-87 #sec03 { width: 900px; margin: 30px auto;}
.page-id-87 #sec03 h3 { font-size: 1.4em; margin-bottom: 40px;}
.page-id-87 #sec03 dl { font-size: 1.1em;}
.page-id-87 #sec03 dt { width: 270px; float: left; margin: 0 0 20px 0; padding-bottom: 18px;}
.page-id-87 #sec03 dd { margin: 0 0 20px 0px; padding-bottom: 20px; border-bottom: solid 2px #333;}
}

/*----------------------------------------------------------------- sdgs */
.page-id-14 .h-colb { background-image:url("../img/sdgs/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-14 #sec01 h3 { font-size: 1.2em; margin-bottom: 30px; font-weight: bolder; text-align: center;}
.page-id-14 #sec01 p { text-align: center;}
.page-id-14 #sec01 li { float:left; margin: 1% 2% 1% 0; width: 32%;}
.page-id-14 #sec01 li:nth-child(3n) {margin-right: 0;}
.page-id-14 #sec02 { background-color: #F0F0F0;}
.sdgs-box { padding: 20px 0;}
.sdgs-box h3 { text-align: center; font-size: 1.6em; color: #2810ff; font-weight: bolder; margin: 0 0 20px;}
.sdgs-box h4 { text-align: center; font-size: 1.4em; font-weight: bolder; line-height: 1.4em; margin: 30px 0 10px; clear: both;}
.sdgs-box li { float:left; margin: 1% 2% 1% 0; width: 32%;}
.sdgs-box li:nth-child(3n) {margin-right: 0;}
.sdgs-box .text { clear: both; font-size: 1.16em; line-height: 1.6em; clear: both;}
.page-id-14 .line { border-bottom: solid 3px #333;}

@media only screen and (min-width: 750px) {
.page-id-14 .h-colb { margin-bottom: 100px;}
.page-id-14 #sec01 h3 { font-size: 1.8em;}
.page-id-14 #sec01 { width: 1000px; margin: 0 auto 60px;}
.page-id-14 #sec01 ul { margin-top: 30px;}
.page-id-14 #sec01 li { float:left; margin: 0 9px 18px 9px; width:auto;}
.sdgs-box { width: 1000px; margin: auto; padding: 60px 0;}
.sdgs-box h3 { text-align: center; font-size: 2em; color: #2810ff; font-weight: bolder; margin-bottom: 60px;}
.sdgs-box h4 { text-align: center; font-size: 2em; font-weight: bolder; line-height: 1.4em; float: right; width: 450px; margin-top: 30px; clear: none;}
.sdgs-box li { float:left; margin: 0 9px 18px 9px; width: auto;}
.w500 { width: 500px; float: left;}
.sdgs-box .text02 { width: 500px; margin-top: 80px; float:right; font-size: 1.16em; line-height: 1.6em;}
}

/*----------------------------------------------------------------- contact */
.page-id-16 .h-colb,.page-id-18 .h-colb { background-image:url("../img/contact/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-16 #sec01,.page-id-18 #sec01{ margin: 0 auto 60px;}
.page-id-16 #sec01 h3,.page-id-18 #sec01 h3 { font-size: 1.1em; margin-bottom: 30px; font-weight: bolder; text-align: center;}
.page-id-16 #sec01 div { border: solid 1px #333; padding: 40px 20px 30px; width: 90%; margin: auto;}
.page-id-16 #sec01 .tel {font-size: 1.8em; font-weight: bolder; margin-bottom: 20px;}
.page-id-16 #sec01 p { text-align: center;}
.page-id-16 #sec02 h3 { font-size: 1.2em; margin-bottom: 30px; font-weight: bolder; text-align: center;}
.page-id-16 #sec02 p { text-align: center;}
.page-id-16 #sec02 .mfp {width: 100% !important; height:30px;}

@media only screen and (min-width: 750px) {
.page-id-16 .h-colb,.page-id-18 .h-col { margin-bottom: 100px;}
.page-id-16 #sec01 { width: 1000px; margin: 0 auto 100px; clear: both;}
.page-id-16 #sec01 h33 { font-size: 1.4em; font-weight: bolder;}
.page-id-16 #sec01 div { width: 600px;}
.page-id-16 #sec01 .tel {font-size: 2.4em; }
.page-id-16 #sec02 { width: 900px; margin: auto; clear: both;}
.page-id-16 #sec02 h3 { font-size: 1.8em;}
.page-id-18 #sec01 { width: 800px; margin: 0 auto 100px; clear: both;}
.page-id-18 #sec01 h3 { font-size: 1.4em; font-weight: bolder; padding-top: 60px;}
.page-id-18 #sec01 p { text-align: center;}
}

/*----------------------------------------------------------------- ev-contact */
.page-id-167 .h-colb,.page-id-18 .h-colb, .page-id-224 .h-colb, .page-id-220 .h-colb { background-image:url("../img/ev-contact/ev-contact-mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-167 #sec01,.page-id-18 #sec01, .page-id-224 #sec01, .page-id-220 #sec01{ margin: 0 auto 60px;}
.page-id-167 #sec01 h3,.page-id-18 #sec01 h3, .page-id-224 #sec01 h3, .page-id-220 #sec01 h3 { font-size: 1.1em; margin-bottom: 30px; font-weight: bolder; text-align: center;}
.page-id-167 #sec01 div { border: solid 1px #333; padding: 40px 20px 30px; width: 90%; margin: auto;}
.page-id-167 #sec01 .tel {font-size: 1.8em; font-weight: bolder; margin-bottom: 20px;}
.page-id-167 #sec01 p { text-align: center;}
.page-id-167 #sec02 h3 { font-size: 1.2em; margin-bottom: 30px; font-weight: bolder; text-align: center;}
.page-id-167 #sec02 p { text-align: center;}
.page-id-167 #sec02 .mfp {width: 100% !important; height:30px;}
.page-id-167 form , .page-id-220 form { text-align: center;}
.page-id-167 dl dt , .page-id-220 dl dt { float: left; width: 180px; clear: both; padding: 20px 0px; margin: 0px; font-weight: bolder;}
.page-id-167 dl dd , .page-id-220 dl dd { margin: 0px; padding: 20px 5px 20px 200px; line-height: 1.5em; text-align: left;}
.page-id-167 .mfp , .page-id-220 .mfp { border: solid 1px #CCC; border-radius: 3px; box-shadow: 0px 0px 5px #CCC inset; padding: 3px 8px; margin: 2px; vertical-align: middle; max-width: 90%;}
.page-id-167 .submit-button , .page-id-220 .submit-button { background-image: url(../img/common/arrow_w.png); background-repeat: no-repeat; background-position: right; padding: 12px 80px; background: #383635; font-size: 16px; cursor: pointer; border: 0px; color: #FFF;}

@media only screen and (min-width: 750px) {
.page-id-167 .h-colb,.page-id-18 .h-col, .page-id-224 .h-col, .page-id-220 .h-col { margin-bottom: 100px;}
.page-id-167 #sec01 { width: 1000px; margin: 0 auto 100px; clear: both;}
.page-id-167 #sec01 h33 { font-size: 1.4em; font-weight: bolder;}
.page-id-167 #sec01 div { width: 600px;}
.page-id-167 #sec01 .tel {font-size: 2.4em; }
.page-id-167 #sec02 { width: 900px; margin: auto; clear: both;}
.page-id-167 #sec02 h3 { font-size: 1.8em;}
.page-id-18 #sec01, .page-id-224 #sec01, .page-id-220 #sec01 { width: 800px; margin: 0 auto 100px; clear: both;}
.page-id-18 #sec01 h3, .page-id-224 #sec01 h3, .page-id-220 #sec01 h3 { font-size: 1.4em; font-weight: bolder; padding-top: 60px;}
.page-id-18 #sec01 p, .page-id-224 #sec01 p, .page-id-220 #sec01 p { text-align: center;}
}

/*----------------------------------------------------------------- ev-page */
.page-id-171 .h-colb { background-image:url("../img/ev-page/ev-mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}
.page-id-171 #sec01 {margin-top: 30px; clear: both; background-color: #EFEFEF; padding: 60px 0;}
.page-id-171 #sec01 .box { padding: 0 2%; text-align: center;}
.page-id-171 #sec01 h2 { font-size: 1.6em; line-height: 1.6em; margin-bottom: 20px; font-weight: bolder;}
.page-id-171 #sec01 p { font-size: 1em; line-height: 1.8em;}
.page-id-171 #sec01 ul { text-align: center;}
.page-id-171 #sec01 li { margin: 0 2px; display: inline;}
.page-id-171 #sec01 li img { width: 20%;}
.page-id-171 #sec02 ul { display: flex; text-align: center; }
.page-id-171 #sec02 ul li { flex-direction: column; }
.page-id-171 #sec02 ul li img { width: 90%; margin:auto; }
.page-id-171 #sec03 h3 { font-size: 2.2em !important; margin-bottom: 20px; text-align: center;}
.page-id-171 #sec03 dt { width: 40%; margin: 0 0 10px 0; padding-bottom: 5px; font-weight: bolder;}
.page-id-171 #sec03 dd { margin: 0 0 20px 0; padding-bottom: 10px; border-bottom: solid 1px #AAA7A7;}
.page-id-171 #sec03 .responsible { font-weight: bolder; font-size: 1.06em;}

@media only screen and (min-width: 750px) {
.page-id-171 .h-colb { margin-bottom: 100px;}
.page-id-171 #sec01 {margin: 0 0 60px;}
.page-id-171 #sec01 h2 { font-size: 2.4em; text-align: center; margin-bottom: 20px;}
.page-id-171 #sec01 p { font-size: 1.4em; line-height: 1.8em;}
.page-id-171 #sec01 .box { width: 1000px; margin: auto; padding: 0;}
.page-id-171 #sec01 li img { height: 80px; width: auto;}
.page-id-171 #sec02 { width: 800px; margin: 30px auto;}
.page-id-171 #sec02 p { font-size: 1.1em; line-height: 1.8em !important;}
.page-id-171 #sec03 { width: 900px; margin: 30px auto;}
.page-id-171 #sec03 h3 { font-size: 1.4em; margin-bottom: 40px;}
.page-id-171 #sec03 dl { font-size: 1.1em;}
.page-id-171 #sec03 dt { width: 270px; float: left; margin: 0 0 20px 0; padding-bottom: 18px;}
.page-id-171 #sec03 dd { margin: 0 0 20px 0px; padding-bottom: 20px; border-bottom: solid 2px #333;}
}

/*----------------------------------------------------------------- 404 */
.error404 #sec01 { margin: 0 auto 60px; clear: both;}
.error404 .h-colb { background-image:url("../img/contact/mv.png"); background-size: cover; background-position: bottom; position: relative; margin-bottom: 10px;}

@media only screen and (min-width: 750px) {
.error404 .h-colb { margin-bottom: 100px;}
}