@charset "UTF-8";
/*webフォント読み込み*/
@font-face { /*Poppins-Medium*/
font-family: 'pop'; src: url("../fonts/Poppins-Medium.ttf"); src: url("../fonts/Poppins-Medium.woff2") format("woff2"), url("../fonts/Poppins-Medium.woff") format("woff"), url("../fonts/Poppins-Medium.ttf") format("truetype"); font-weight: 700; }
@font-face { /*ZenKakuGothicNew-Bold*/
font-family: 'zen'; src: url("../fonts/ZenKakuGothicNew-Bold.ttf"); src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Bold.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Bold.ttf") format("truetype"); font-weight: 700; }
@font-face { /*ZenKakuGothicNew-Medium*/
font-family: 'zen'; src: url("../fonts/ZenKakuGothicNew-Medium.ttf"); src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2"), url("../fonts/ZenKakuGothicNew-Medium.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Medium.ttf") format("truetype"); font-weight: 500; }
@font-face { /*ShipporiAntique-Regular*/
font-family: 'ship'; src: url("../fonts/ShipporiAntique-Regular.ttf"); src: url("../fonts/ShipporiAntique-Regular.woff2") format("woff2"), url("../fonts/ShipporiAntique-Regular.woff") format("woff"), url("../fonts/ShipporiAntique-Regular.ttf") format("truetype"); font-weight: 400; }
/* Link
=========================================== */
a:link, a:visited { color: #000000; text-decoration: none; }

a { outline: none; transition: 0.3s; color: #000000; text-decoration: none; }

a img { transition: 0.3s; }

:focus { outline: none; }

/* 共通設定
=========================================== */
.pc { display: none !important; }

body { overflow: hidden; background: #fff; background-size: 69.33vw; color: #000000; font-size: 16px; line-height: 2.25; font-family: 'zen',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-style: normal; font-weight: 500; overflow-wrap: anywhere; /* 収まらない場合に折り返す */ word-break: normal; /* 単語の分割はデフォルトに依存 */ line-break: strict; /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 { line-height: 1.5; font-weight: 700; }

body#tinymce { min-width: inherit !important; }

input, select, textarea { font-family: 'zen',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-weight: 500; color: #000; letter-spacing: 0; }

select { border-radius: 0; color: #000; background: #fff; }

table { width: 100%; }

img { max-width: 100%; height: auto; width: 100%; }

.no-pc { display: inline-block; text-decoration: none !important; }

.inb { display: inline-block; }

.block { display: block; }

.wrap { position: relative; }

/*共通見出し設定*/
.titles01 { margin-bottom: 60px; }
.titles01 .en { font-size: 60px; font-weight: 500; display: block; line-height: 1.14; color: #00582D; font-family: "pop"; }
.titles01 .jp { font-size: 24px; font-weight: 700; display: block; line-height: 1.4; margin-top: 15px; }

.titles03 { font-weight: 400; font-size: 30px; line-height: 1.66; font-family: "ship"; margin-bottom: 40px; }

.titles04 { margin-bottom: 40px; font-size: 30px; font-weight: 700; line-height: 1.66; }

.titles05 { font-size: 20px; margin-bottom: 20px; font-weight: 700; line-height: 1.7; padding-left: 12px; position: relative; }

.titles05:before { content: ""; width: 2px; height: calc(100% - 10px); left: 0; top: 5px; border-radius: 4px; position: absolute; background: #00582D; }

/*共通ボタン設定*/
.btn01 { width: 100%; height: 60px; display: table; }
.btn01 a { display: table-cell; text-align: center; vertical-align: middle; border: solid 1px #000; position: relative; text-decoration: none; font-weight: 700; font-size: 16px; background: #000000; color: #fff; }

/*グラデーション*/
.gra-bg { display: inline-block; padding: 5px 12px; background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%); color: #fff; border-radius: 10px; }

.gra-text { background: linear-gradient(180deg, #D80000 0%, #D85E00 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider, div.item-mains, div.item-thumbs, div.item-slider.flex, div.slider02, div.slider03, div.des-slider, div.gallery-slider, div.gallery-thumbs { opacity: 0; transition: opacity .3s linear; }

div#mv-slider.slick-initialized, div.item-mains.slick-initialized, div.item-thumbs.slick-initialized, div.item-slider.flex.slick-initialized, div.slider02.slick-initialized, div.slider03.slick-initialized, div.des-slider.slick-initialized, div.gallery-thumbs.slick-initialized, div.gallery-slider.slick-initialized { opacity: 1; }

/*font*/
.ship { font-family: 'ship'; }

.pop { font-family: 'pop'; }

.red { color: #C90714; }

.red02 { color: #ff0000; }

.blue { color: #0075A4; }

.blue02 { color: #0093D6; }

.brown { color: #C07E23; }

.yellow { color: #FFD400; }

.orange { color: #EE5A35; }

.green { color: #00582D; }

.d-green { color: #005E4B; }

.green02 { color: #01A9AE; }

.navy { color: #374b8e; }

.pink { color: #ff7373; }

.gray { color: #818181; }

/*header
---------------------------------------------------------------*/
div#header { width: 100%; position: absolute; z-index: 230; left: 0; top: 30px; height: 60px; display: flex; flex-wrap: wrap; align-items: center; box-sizing: border-box; padding-right: calc(5.33vw + 50px); padding-left: 5.33vw; }

div#header .logo { width: 61.33vw; }
div#header .logo img { width: 100%; max-width: none; }

div.right-head { margin-left: auto; display: none; }

.contact-set01 { display: flex; flex-wrap: wrap; justify-content: flex-end; margin-bottom: 0.48vw; }
.contact-set01 .btn01.contact-btn { width: 11.8vw; height: 3.75vw; border-radius: 4vw; }
.contact-set01 .btn01.contact-btn a { border-radius: 4vw; }
.contact-set01 .btn01.contact-btn span.ico-set .ico { width: 1.41vw; margin-right: 0.69vw; }
.contact-set01 .btn01.contact-btn span.ico-set .ico img { width: 100%; max-width: none; }
.contact-set01 .btn01.contact-btn span.ico-set .text { font-size: 1.04vw; }

.btn01.contact-btn span.ico-set { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.btn01.contact-btn span.ico-set .ico img { transition: 0.3s; opacity: 1; display: block; }

div#gnav ul.flex { justify-content: flex-end; }
div#gnav ul.flex > li:first-child { margin-left: 0; }
div#gnav ul.flex > li { position: relative; margin-left: 2.08vw; }
div#gnav ul.flex > li > a { font-size: 1.04vw; }

div.btn-3d { display: inline-block; position: relative; width: 100%; height: 1.45vw; margin: 0 auto; cursor: pointer; transform-style: preserve-3d; transition: 0.3s; }

span.m-off, span.m-on { position: absolute; width: 100%; height: 100%; line-height: 32px; transition: all 0.3s; transform-origin: center center -16px; left: 0; right: 0; margin: 0 auto; }

span.m-off { transform: rotateX(-90deg); top: 0; }

span.m-on { transform: rotateX(0); position: relative; display: block; }

.tel-num a { font-size: 1.66vw; color: #00582D; line-height: 2.22vw; font-family: "pop"; }
.tel-num a > span { display: inline-block; padding-left: 1.52vw; background: url("../img/common/ico-tel.svg") no-repeat left top 0.3vw; background-size: 1.18vw; }

.tel-bh { font-weight: 700; font-size: 0.76vw; line-height: 1.66vw; margin-top: -0.25vw; }

.tel-set { text-align: right; margin-right: 2.01vw; }

.logouts.btn01 { width: 100px; height: 30px; }

.logouts.btn01 a { font-size: 13px; border-radius: 30px; }

div#footer .logouts.btn01 { margin: 30px auto 0; width: calc(100% - 80px); height: 40px; }

div#footer .logouts.btn01 a { font-size: 14px; }

.fixed div#header { top: 0; position: fixed; padding-top: 5px; padding-bottom: 5px; background: #fff; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); }

.fixed div.sp-nav-btn { top: 10px; position: fixed; }

.fixed div#header .logo { width: 144px; }

/* nav
=========================================== */
html.huopen { overflow: hidden; }

.sp-nav-btn { width: 40px; height: 40px; position: absolute; top: 40px; right: 5.33vw; z-index: 232; box-sizing: content-box; border-radius: 100%; background: #000000; }

.sp-nav-btn span.bar01 { content: ""; width: 37.5%; height: 2px; position: absolute; top: 13px; right: 31.25%; transition: 0.3s; }

.sp-nav-btn span.bar03 { content: ""; width: 37.5%; height: 2px; position: absolute; top: 25px; right: 31.25%; transition: 0.3s; }

.sp-nav-btn span.bar02 { position: absolute; width: 37.5%; height: 2px; top: 19px; right: 31.25%; transition: 0.3s; }

.sp-nav-btn > span { overflow: hidden; border-radius: 2px; }

.sp-nav-btn > span > span { width: 120px; height: 2px; background: #fff; display: block; position: absolute; left: -80px; top: 0; border-radius: 4px; }

.sp-nav-btn.opon { background-image: url("../img/common/sp-close.svg"); background-size: 30px; }

.sp-nav-btn.opon span.bar02 { opacity: 0; }

.sp-nav-btn.opon span.bar01 { box-shadow: none; transform: rotateZ(45deg); top: 19px; }

.sp-nav-btn.opon span.bar03 { transform: rotateZ(-45deg); top: 19px; }

.overlay-nav { display: none; }

.overlay-nav.opon { z-index: 15; opacity: 1; }

div.navs-list-wrap { position: fixed; width: 100%; height: 100%; z-index: 220; top: 0; box-sizing: border-box; background: #fff; right: calc(-100% - 60px); transition: 0.3s; padding: 30vw 0 50px; }

div.navs-list-wrap.opon { right: 0; }

.fixed div.navs-list-wrap { padding-top: 70px; }

.fixed ul.navs-list { height: calc(100vh - 70pxx); }

ul.navs-list { height: calc(100vh - 30vw); overflow: auto; box-sizing: border-box; padding: 0 0 95px; position: relative; border-top: solid 1px #000000; }

.navs-list > li { border-bottom: solid 1px #000000; }

.drop-wrap { display: none; }

.navs-list > li:last-child { border-bottom: none; }

.navs-list > li > a { display: block; padding: 40px 50px 40px 11.7vw; text-decoration: none; font-weight: 700; background: url("../img/common/arrow01.svg") no-repeat right center; background-size: 32px; }

.navs-list > li.sp-nav-aside { padding: 60px 10.66vw 0; }

li.sp-nav-aside .btn01.contact-btn { margin-top: 30px; }

li.sp-nav-aside .btn01.contact-btn a { border-radius: 40px; }

li.sp-nav-aside .btn01.contact-btn a span.ico { margin-right: 10px; }

li.sp-nav-aside .btn01.contact-btn a span.text:after { content: "フォーム"; }

li.sp-nav-aside .tel-num { text-align: center; }

li.sp-nav-aside .tel-num a { font-size: 30px; }

li.sp-nav-aside .tel-num a > span { line-height: 1; background-position: left top; padding-left: 27px; background-size: 20px; display: inline-block; }

li.sp-nav-aside .tel-bh { font-size: 13px; text-align: center; margin-top: 10px; }

/* contents */
/*-------------------------------------------*/
.bg-blue { background: #F5F9FF; }

/*パンくず
---------------------------------------------------------------*/
div#bread { z-index: 2; position: relative; padding: 0 5.33vw 8px; text-align: right; }

#bread ul li { display: inline-block; font-size: 13px; font-weight: 500; color: #979797; line-height: 1.4; }

ul.bread-list li a { font-size: 13px; color: #979797; }

ul.bread-list li:after { content: "-"; margin-left: 10px; margin-right: 5px; display: inline-block; position: relative; color: #979797; }

ul.bread-list li:last-child:after { content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv { position: relative; z-index: 3; letter-spacing: 0; }

/* footer */
/*-------------------------------------------*/
div#footer { padding-top: 22vw; }

div#ftBox01 > .wrap { padding-bottom: 4.79vw; background: url("../img/common/dot-line.svg") repeat-x left bottom; }

.ft-info { text-align: center; margin-bottom: 21.33vw; padding: 0 10.66vw; }

.fnav-wrap { width: 100%; display: flex; flex-wrap: wrap; box-sizing: border-box; padding: 0 10.66vw 21.33vw; justify-content: space-between; margin-top: -8vw; }

h2.ft-logo { width: 61.33vw; margin: 0 auto 10.66vw; }
h2.ft-logo img { width: 100%; max-width: none; }

.fnav { width: calc(50% - 2.5vw); margin-top: 8vw; }

ul.pc-nav > li { margin-bottom: 8vw; font-size: 4vw; line-height: 1.2; }
ul.pc-nav > li:last-child { margin-bottom: 0; }

ul.fc { margin-top: 2.66vw; padding-left: 1.33vw; }
ul.fc > li { margin-bottom: 2.66vw; }
ul.fc > li a { font-size: 3.2vw; display: inline-block; position: relative; padding-left: 3.33vw; }
ul.fc > li a:before { content: "∟"; position: absolute; left: 0; top: 0; }
ul.fc > li:last-child { margin-bottom: 0; }

.ft-address { margin-bottom: 8vw; line-height: 4vw; }
.ft-address .line01 { font-size: 3.73vw; }
.ft-address .line02 { font-size: 3.2vw; }

.sdgs-imgs.flex { align-items: center; justify-content: center; width: 66.66vw; margin: 0 auto; }
.sdgs-imgs.flex .img01 { width: 64vw; margin-bottom: 5.33vw; }
.sdgs-imgs.flex .img02 { width: 46.66vw; }
.sdgs-imgs.flex img { max-width: none; width: 100%; }

.ft-bottom .wrap { padding: 34.66vw 5.33vw 10vw; position: relative; }
.ft-bottom .copyright { font-size: 3.2vw; text-align: center; margin-top: 16vw; }
.ft-bottom .ptsp { width: 42.66vw; position: absolute; right: 23.73vw; top: 10.66vw; }
.ft-bottom .ptsp img { width: 100%; max-width: none; }

ul.pp-list { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-top: -1.26vw; width: 70.8vw; margin-left: auto; margin-right: 4vw; }

ul.pp-list > li { font-size: 3.2vw; margin-top: 1.26vw; width: calc(50% - 2.13vw); }

ul.pp-list > li:nth-child(2) { margin-right: 4.26vw; text-align: right; }

ul.pp-list > li:nth-child(4) { margin-right: 4.26vw; text-align: right; }

ul.pp-list > li:nth-child(3) { margin-right: 0; }

ul.pp-list > li:nth-child(5) { margin-right: 0; }

ul.pp-list > li.insta { width: 7.26vw; position: absolute; left: 24vw; top: 17.86vw; margin-top: 0; margin-right: 0; }
ul.pp-list > li.insta img { width: 100%; max-width: none; display: block; }

a.blank { background: url("../img/p05/ico-blank.svg") no-repeat right center; display: inline-block; padding-right: 16px; background-size: 11px; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link { position: absolute; left: 0; top: 0; opacity: 0; z-index: -20; }

div#page-top { position: fixed; right: 20px; bottom: 50px; opacity: 0; z-index: -3; transition: opacity 0.3s; width: 80px; }

div#page-top a { display: block; width: 80px; height: 80px; border-radius: 100%; background: #fff; border: solid 2px #000000; text-align: center; box-sizing: border-box; padding-top: 16px; line-height: 1; font-size: 15px; font-weight: 700; text-decoration: none; position: relative; }

div#page-top a .text { display: block; margin-top: 3px; font-size: 19px; font-weight: 700; }

div#page-top a:before { content: ""; background: url("../img/common/char01.png") no-repeat; background-size: 87px; width: 87px; height: 110px; transition: 0.3s; position: absolute; bottom: 0; right: 63px; }

.fixed div#page-top { opacity: 1; z-index: 6; }

/* iOSでのデフォルトスタイルをリセット */
input[type="password"], textarea, input[type="text"], input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; box-sizing: border-box; cursor: pointer; }

input[type="password"]::-webkit-search-decoration, textarea::-webkit-search-decoration, select::-webkit-search-decoration, input[type="text"]::-webkit-search-decoration, input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }

input[type="password"]::focus, textarea::focus, select::focus, input[type="text"]::focus, input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

select { color: #222; padding: 5px; box-sizing: border-box; }

/* TOP
------------------------------------------*/
div#f-trigger { position: absolute; z-index: -10; top: 60px; }

body.home { padding-top: 0 !important; }

.home div#mv { background: url("../img/main/bowa01.png") no-repeat top -13px right 47.2vw; background-size: 131.06vw; padding-top: 42vw; }
.home div#mv .bird01 { position: absolute; z-index: 5; top: 63.7vw; right: 8vw; width: 13.6vw; }
.home div#mv .bird01 img { width: 100%; max-width: none; }
.home div#mv .bird02 { position: absolute; z-index: 5; top: 164.93vw; left: -8.45vw; width: 30.13vw; }
.home div#mv .bird02 img { width: 100%; max-width: none; }

div#mv-slider { overflow: hidden; z-index: 3; }

div.m-slide { position: relative; height: 154.4vw; }
div.m-slide .img01 { width: 44.66vw; position: absolute; top: 0; left: 2vw; }
div.m-slide .img02 { display: none; }
div.m-slide .img03 { width: 32.4vw; position: absolute; top: 44.26vw; left: 4.53vw; }
div.m-slide .img04 { width: 29.26vw; position: absolute; top: 72.26vw; right: -3.6vw; }
div.m-slide .img05 { width: 33.46vw; position: absolute; top: 132vw; right: -2vw; }
div.m-slide img { width: 100%; max-width: none; }

.mv-text01 { width: 35.73vw; position: absolute; left: 0; right: 0; margin: 0 auto; }

.mv-text02 { position: relative; padding-top: 75.32vw; margin-top: -68.66vw; background: url(../img/main/bowa02.png) no-repeat top left 38.93vw; background-size: 140.4vw; font-size: 4.26vw; line-height: 2.25; padding-left: 5.33vw; padding-right: 5.33vw; }

p.sp-in { display: inline; }

div.m-slide.m-slide01 .mv-text01 { top: 28.53vw; }

div.m-slide.m-slide02 .mv-text01 { top: 42.53vw; }

button.slick-arrow { opacity: 1; z-index: 2; transition: 0s; width: 60px; height: 60px; box-sizing: border-box; border: none; }

button.slick-prev.slick-arrow { background: url("../img/common/slide-arrow01.svg") no-repeat center rgba(0, 0, 0, 0.48); left: 0; background-size: 14px; }

button.slick-next.slick-arrow { background: url("../img/common/slide-arrow02.svg") no-repeat center rgba(0, 0, 0, 0.48); right: 0; background-size: 14px; }

button.slick-arrow:before { content: none; }

section#blog-sec { padding-top: 100px; }
section#blog-sec .blog-sec-head { box-sizing: border-box; padding: 0 5.33vw; margin-bottom: 60px; }
section#blog-sec .blog-sec-head .titles01 { margin-bottom: 60px; }
section#blog-sec .btn01 { height: 16vw; }
section#blog-sec .btn01 a { font-size: 4.26vw; }

.blog-list01.flex { border-top: solid 1px #000000; }
.blog-list01.flex article.blog-art { width: 100%; border-bottom: solid 1px #000000; box-sizing: border-box; }
.blog-list01.flex article.blog-art a { display: block; text-decoration: none; position: relative; padding: 16vw 9.33vw; }
.blog-list01.flex article.blog-art a .img { overflow: hidden; border-radius: 4.26vw; margin-bottom: 8vw; }
.blog-list01.flex article.blog-art a .img .in-img { border-radius: 4.26vw; transition: 0.3s; padding-top: 69.83%; }
.blog-list01.flex article.blog-art a h3.tit { width: 100%; line-height: 1.625; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 4.26vw; font-weight: 500; }
.blog-list01.flex article.blog-art a .arrow { width: 8vw; height: 8vw; border-radius: 100%; border: solid 1px #000000; box-sizing: border-box; position: absolute; z-index: 2; bottom: 5.33vw; right: 5.33vw; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #000000; transition: 0.3s; }
.blog-list01.flex article.blog-art a .arrow > span { width: 4vw; display: block; }
.blog-list01.flex article.blog-art a .arrow > span img { width: 100%; max-width: none; display: block; transition: 0.3s; }
.blog-list01.flex article.blog-art a .infos.flex { margin-bottom: 5.33vw; width: calc(100% + 5.33vw); margin-left: -5.33vw; margin-top: -2vw; }
.blog-list01.flex article.blog-art a .infos.flex > div { margin-left: 2vw; margin-left: 5.33vw; }
.blog-list01.flex article.blog-art a .infos.flex > div.b-date { font-size: 4.26vw; line-height: 7.46vw; }
.blog-list01.flex article.blog-art a .infos.flex > div.b-cate { font-size: 3.73vw; line-height: 7.46vw; border-radius: 4vw; padding: 0 5.33; height: 7.46vw; }

.infos.flex { margin-bottom: 10px; width: calc(100% + 5px); margin-left: -5px; margin-top: -5px; }
.infos.flex > div { margin-left: 5px; margin-left: 5px; }
.infos.flex > div.b-date { font-size: 14px; line-height: 28px; }
.infos.flex > div.b-cate { text-align: center; font-size: 14px; font-weight: 500; background: #00582D; transition: 0.3s; cursor: pointer; line-height: 28; border-radius: 30px; padding: 0 20px; height: 28px; color: #fff; }

/*タブ*/
div#tabArea01 input[type="radio"] { display: none; }

/*選択されていないタブのコンテンツ非表示*/
.tabBox { box-sizing: border-box; height: 0; opacity: 0; -webkit-transition: opacity 600ms; transition: opacity 600ms; overflow-y: hidden; }

/*選択されたタブのコンテンツ表示*/
#tab1:checked ~ .tabBox01 { height: auto; opacity: 1; overflow: initial; }

#tab2:checked ~ .tabBox02 { height: auto; opacity: 1; overflow: initial; }

#tab3:checked ~ .tabBox03 { height: auto; opacity: 1; overflow: initial; }

#tab4:checked ~ .tabBox04 { height: auto; opacity: 1; overflow: initial; }

#tab5:checked ~ .tabBox05 { height: auto; opacity: 1; overflow: initial; }

#tab6:checked ~ .tabBox06 { height: auto; opacity: 1; overflow: initial; }

#tab7:checked ~ .tabBox07 { height: auto; opacity: 1; overflow: initial; }

#tab8:checked ~ .tabBox08 { height: auto; opacity: 1; overflow: initial; }

#tab9:checked ~ .tabBox09 { height: auto; opacity: 1; overflow: initial; }

#tab10:checked ~ .tabBox010 { height: auto; opacity: 1; overflow: initial; }

#tab11:checked ~ .tabBox011 { height: auto; opacity: 1; overflow: initial; }

#tab12:checked ~ .tabBox012 { height: auto; opacity: 1; overflow: initial; }

#tab13:checked ~ .tabBox013 { height: auto; opacity: 1; overflow: initial; }

#tab14:checked ~ .tabBox014 { height: auto; opacity: 1; overflow: initial; }

#tab15:checked ~ .tabBox015 { height: auto; opacity: 1; overflow: initial; }

#tab16:checked ~ .tabBox016 { height: auto; opacity: 1; overflow: initial; }

.tab-head.flex { width: auto; margin-top: -5px; }

.tab-btn { height: 28px; display: table; margin-right: 5px; margin-top: 5px; }

.tab-btn:last-child { margin-right: 0; }

.tab-btn > label { color: #AAAAAA; display: table-cell; text-align: center; vertical-align: middle; font-size: 14px; font-weight: 500; background: #EEEEEE; transition: 0.3s; cursor: pointer; line-height: 1; border-radius: 30px; padding: 0 20px; }

div#tabArea01 input#tab1:checked ~ .blog-sec-head .tab-btn1 label, div#tabArea01 input#tab2:checked ~ .blog-sec-head .tab-btn2 label, div#tabArea01 input#tab3:checked ~ .blog-sec-head .tab-btn3 label, div#tabArea01 input#tab4:checked ~ .blog-sec-head .tab-btn4 label, div#tabArea01 input#tab5:checked ~ .blog-sec-head .tab-btn5 label, div#tabArea01 input#tab6:checked ~ .blog-sec-head .tab-btn6 label, div#tabArea01 input#tab7:checked ~ .blog-sec-head .tab-btn7 label, div#tabArea01 input#tab8:checked ~ .blog-sec-head .tab-btn8 label, div#tabArea01 input#tab9:checked ~ .blog-sec-head .tab-btn9 label, div#tabArea01 input#tab10:checked ~ .blog-sec-head .tab-btn10 label, div#tabArea01 input#tab11:checked ~ .blog-sec-head .tab-btn11 label, div#tabArea01 input#tab12:checked ~ .blog-sec-head .tab-btn12 label, div#tabArea01 input#tab13:checked ~ .blog-sec-head .tab-btn13 label, div#tabArea01 input#tab14:checked ~ .blog-sec-head .tab-btn14 label, div#tabArea01 input#tab15:checked ~ .blog-sec-head .tab-btn15 label, div#tabArea01 input#tab16:checked ~ .blog-sec-head .tab-btn16 label { background-color: #00582D; color: #fff; }

/*タブ終わり*/
section#vision-sec { background: #F6F6F6; padding: 88px 5.33vw 100px; }

.vision-cont01 { box-sizing: border-box; position: relative; }
.vision-cont01 .img { width: 100%; margin: 16vw 0; position: relative; }
.vision-cont01 .img img { width: 73.33vw; max-width: none; }
.vision-cont01 .img .bird03 { width: 26.76vw; position: absolute; right: 0; bottom: 0; }
.vision-cont01 .img .bird03 img { width: 100%; max-width: none; }
.vision-cont01 .copy01.dot-tit01 { margin-bottom: 0; text-align: left; }
.vision-cont01 .copy01.dot-tit01 img { width: 100%; max-width: none; }
.vision-cont01 h2.titles01 { margin-bottom: 60px; }
.vision-cont01 > .text { line-height: 1.75; }
.vision-cont01 .btn01 { width: 210px; height: 50px; margin-top: 60px; }
.vision-cont01 .btn01 a { font-size: 16px; border-radius: 30px; }

.vision-cont02 { margin-top: 100px; box-sizing: border-box; padding: 80px 20px; border-radius: 20px; background: url("../img/top/bowa01.png") no-repeat top 194px left, #fff; position: relative; background-size: 90.74%; }
.vision-cont02 .bird04 { width: 85px; position: absolute; left: 15px; top: -30px; z-index: 2; }
.vision-cont02 .bird04 img { width: 100%; max-width: none; }
.vision-cont02 .inner01.flex { justify-content: space-between; flex-direction: row-reverse; }
.vision-cont02 .inner01.flex .img { width: 100%; margin-bottom: 60px; }
.vision-cont02 .inner01.flex .img img { width: 100%; max-width: none; }
.vision-cont02 .inner01.flex > .cont { width: 100%; }
.vision-cont02 .inner01.flex > .cont > .text { font-size: 16px; line-height: 1.625; }
.vision-cont02 .inner01.flex > .cont .btn01 { width: 210px; height: 50px; margin-top: 50px; }
.vision-cont02 .inner01.flex > .cont .btn01 a { font-size: 16px; border-radius: 30px; }

.sub-tit01 { font-size: 24px; line-height: 1.83; margin-bottom: 40px; font-weight: 700; }

.dot-tit01 { text-align: center; font-size: 30px; line-height: 2.43; margin-bottom: 60px; }
.dot-tit01 > span { background: url("../img/common/dot-line.svg") repeat-x left bottom; padding-bottom: 8px; background-size: auto 2px; }

.dot-tit02 { text-align: center; font-size: 30px; line-height: 2.43; margin-bottom: 60px; }
.dot-tit02 > span { background: url("../img/common/dot-line-w.svg") repeat-x left bottom; padding-bottom: 8px; background-size: auto 2px; }

section#initiative-sec { position: relative; padding-top: 100px; }
section#initiative-sec h2.dot-tit01 { text-align: left; padding: 0 5.33vw; font-size: 36px; line-height: 1; margin-bottom: 60px; }
section#initiative-sec .bird05 { position: absolute; width: 117px; right: 5.3vw; top: -140px; z-index: 3; }
section#initiative-sec .bird05 img { width: 100%; max-width: none; }
section#initiative-sec .btn01 { height: 16vw; }
section#initiative-sec .btn01 a { font-size: 4.26vw; }

div#view { width: 6.94vw; height: 6.94vw; position: fixed; z-index: 11; top: 0; left: 0; transform: translate(0, 0); transition: 0.2s; transition-timing-function: ease-out; opacity: 0; pointer-events: none; display: none !important l; }

div#float-imgs { width: 16.66vw; height: 16.66vw; position: fixed; z-index: 10; top: calc(50% - 8.66vw); left: calc(50% + 5.33vw); transform: translate(0, 0); transition: 0.6s; transition-timing-function: ease-out; opacity: 0; pointer-events: none; display: none !important; }

div.btn-list01 .slick-track { width: 100% !important; transform: none !important; }
div.btn-list01 .btn-box { width: 100%; }
div.btn-list01 .btn-box a { display: block; width: 100%; position: relative; box-sizing: border-box; padding: 10.66vw 13.33vw 10.66vw 5.3vw; text-decoration: none; border-top: solid 1px #000000; }
div.btn-list01 .btn-box a .arrow { width: 8vw; height: 8vw; border-radius: 100%; border: solid 1px #000000; box-sizing: border-box; position: absolute; z-index: 2; top: 50%; right: 5.33vw; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #000000; transition: 0.3s; transform: translateY(-50%); }
div.btn-list01 .btn-box a .arrow > span { width: 4vw; display: block; }
div.btn-list01 .btn-box a .arrow > span img { width: 100%; max-width: none; display: block; transition: 0.3s; }
div.btn-list01 .btn-box a .btn-tit { position: relative; padding-left: 6.4vw; }
div.btn-list01 .btn-box a .btn-tit span.num { color: #00582D; position: absolute; left: 0; top: -2.8vw; font-size: 3.73vw; }
div.btn-list01 .btn-box a .btn-tit span.text { font-weight: 700; font-size: 5.33vw; line-height: 1.45; display: block; }
div.btn-list01 .btn-box.slick-current a { background: #F6F6F6; }

aside.aside01 { padding: 13.33vw 5.33vw 26.66vw; background: #00582D; }

.line-cont { width: 100%; }
.line-cont > div.box01:before { content: ""; background: url("../img/common/info-b.svg") no-repeat; background-size: contain; width: 32.66vw; height: 33.46vw; position: absolute; left: -2.66vw; top: -8.8vw; }
.line-cont > div.box01 { background: #fff; border-radius: 5.33vw 5.33vw 0 0; box-sizing: border-box; padding: 24vw 8vw 10.16vw; position: relative; text-align: center; }
.line-cont > div.box01 h2 { font-size: 8vw; line-height: 1.3; margin-bottom: 5vw; }
.line-cont > div.box01 p.sub { font-weight: 700; line-height: 1.625; margin-bottom: 8vw; font-size: 4.26vw; }
.line-cont > div.box01 .text { font-size: 4.26vw; line-height: 1.625; }
.line-cont > div.box02 { box-sizing: border-box; border-radius: 0 0 5.33vw 5.33vw; padding: 10.66vw 5.33vw; background: #EEEEEE; }
.line-cont > div.box02 > .inner { display: flex; flex-wrap: wrap; justify-content: space-between; }
.line-cont > div.box02 > .inner > div { width: 38vw; }
.line-cont > div.box02 > .inner > div .lines { background: #fff; border-radius: 2.66vw; padding: 8vw 2.66vw; box-sizing: border-box; margin-bottom: 2.66vw; text-align: center; }
.line-cont > div.box02 > .inner > div .lines > h3 { font-weight: 700; font-size: 4.26vw; line-height: 1.625; }
.line-cont > div.box02 > .inner > div .lines:last-child { margin-bottom: 0; }
.line-cont > div.box02 > .inner > div .lines.lines03 { height: 100%; }
.line-cont > div.box02 > .inner > div .lines.lines03 .line-qr { margin-top: 5vw; }
.line-cont > div.box02 > .inner > div .lines.lines03 .line-qr img { width: 100%; max-width: none; }
.line-cont > div.box02 > .inner > div .line-id { font-size: 3.73vw; line-height: 1; margin-top: 0.3vw; }

div.btn01.line-btn { margin: 2.66vw auto 0; width: 100%; height: 13.33vw; }
div.btn01.line-btn a { border-radius: 7vw; position: relative; font-size: 3.73vw; font-weight: 700; padding-right: 4vw; }
div.btn01.line-btn a span.line-ico { position: absolute; right: 4.66vw; top: 50%; transform: translateY(-50%); z-index: 2; width: 4.26vw; }
div.btn01.line-btn a span.line-ico img { width: 100%; max-width: none; display: block; }

div.ctaBox { margin-top: 7.73vw; color: #fff; background: url("../img/common/aside-bg-sp.png") no-repeat center top; background-size: cover; padding: 24vw 5.33vw; border-radius: 5.33vw; }
div.ctaBox .contact-set01 { display: block; margin-top: 5.33vw; }
div.ctaBox .contact-set01 .tel-set { text-align: center; }
div.ctaBox .contact-set01 .tel-num a { color: #fff; font-size: 8vw; font-weight: 700; }
div.ctaBox .contact-set01 .tel-num a > span { background-image: url("../img/common/ico-tel-w.svg"); padding-left: 8vw; background-size: 5.33vw; background-position: left top; padding-bottom: 0.4vw; line-height: 1; }
div.ctaBox .contact-set01 .tel-bh { font-size: 3.46vw; margin-top: 0; line-height: 1.5; }
div.ctaBox .contact-set01 .btn01.contact-btn { width: 100%; height: 16vw; margin-top: 8vw; }
div.ctaBox .contact-set01 .btn01.contact-btn a { border-radius: 9vw; }
div.ctaBox .contact-set01 .btn01.contact-btn span.ico-set .ico { width: 4.66vw; margin-right: 2.66vw; }
div.ctaBox .contact-set01 .btn01.contact-btn span.ico-set .text { font-size: 4.26vw; }
div.ctaBox .contact-set01 .btn01.contact-btn span.ico-set .text:after { content: "フォーム"; }
div.ctaBox .dot-tit02 { font-size: 8vw; margin-bottom: 5vw; }
div.ctaBox .dot-tit02 > span { padding-bottom: 2vw; background-size: auto 0.53vw; }
div.ctaBox .u-text01 { text-align: center; font-size: 4.26vw; line-height: 1.625; }

.aside-cont03.flex { margin-top: 8vw; display: block; }
.aside-cont03.flex > div { background: #fff; box-sizing: border-box; border-radius: 5.33vw; position: relative; margin-bottom: 6.66vw; }
.aside-cont03.flex > div:last-child { margin-bottom: 0; }
.aside-cont03.flex > div.box01 { text-align: center; padding: 21.33vw 12.6vw; }
.aside-cont03.flex > div.box01 .dot-tit01 { font-size: 8vw; margin-bottom: 5vw; }
.aside-cont03.flex > div.box01 .dot-tit01 > span { padding-bottom: 2vw; background-size: auto 0.53vw; }
.aside-cont03.flex > div.box01 > .u-text01 { font-size: 4.26vw; line-height: 1.625; }
.aside-cont03.flex > div.box01 .btn01 { width: 56vw; height: 13.33vw; margin-top: 8vw; margin-left: auto; margin-right: auto; }
.aside-cont03.flex > div.box01 .btn01 a { font-size: 4.26vw; border-radius: 8vw; }
.aside-cont03.flex > div.box02 { padding: 16vw 12.6vw 13.33vw; text-align: center; }
.aside-cont03.flex > div.box02 .img { width: 56vw; }
.aside-cont03.flex > div.box02 .img img { width: 100%; max-width: none; }
.aside-cont03.flex > div.box02 .text { z-index: 2; font-size: 5.33vw; line-height: 1.75; font-weight: 700; margin-bottom: 5.33vw; }

.green { color: #00582D; }

/* 02 協会について
---------------------------------*/
.showPage body:not(.home) { background: url("../img/p02/umv-bowa02.png") no-repeat top right 45.33vw, #fff; background-size: 152vw; }

div#mv.umv { padding: 42vw 5.33vw 0; }
div#mv.umv h1.titles01 { margin-bottom: 10.66vw; }
div#mv.umv h1.titles01 .en { font-size: 14vw; }
div#mv.umv h1.titles01 .jp { font-size: 4.4vw; }
div#mv.umv .img { width: 100%; }

section#p02Box01 { padding: 75px 5.33vw 100px; }
section#p02Box01 > .wrap { display: flex; flex-wrap: wrap; }
section#p02Box01 > .wrap > h2 { margin-bottom: 40px; }
section#p02Box01 > .wrap > .cont { width: 100%; display: flex; flex-wrap: wrap; padding-top: 8vw; justify-content: space-between; }
section#p02Box01 > .wrap > .cont div.box { width: 39.2vw; }
section#p02Box01 > .wrap > .cont div.box .circle01 { width: 39.2vw; height: 39.2vw; border-radius: 100%; display: table; background: url("../img/p02/circle01.svg") no-repeat center; box-shadow: 0 0 0 8vw rgba(229, 229, 229, 0.4); background-size: contain; }
section#p02Box01 > .wrap > .cont div.box .circle01 > div { display: table-cell; text-align: center; vertical-align: middle; font-weight: 700; font-size: 4vw; line-height: 1.33; color: #00582D; }
section#p02Box01 > .wrap > .cont div.box .text { line-height: 2; }
section#p02Box01 > .wrap > .cont div.box:last-child { margin-right: 0; }
section#p02Box01 > .wrap .cont01-2 { margin-top: calc(8vw + 30px); }
section#p02Box01 > .wrap .cont01-2 > div.box { margin-bottom: 20px; }
section#p02Box01 > .wrap .cont01-2 > div.box .text { line-height: 1.6875; }
section#p02Box01 > .wrap .cont01-2 > div.box:last-child { margin-bottom: 0; }

.sp-sub01 { font-size: 17px; position: relative; padding-left: 25px; margin-bottom: 20px; }

.sp-sub01:before { content: ""; width: 15px; height: 1px; background: #000; position: absolute; left: 0; top: 13px; }

.v-titles01 { position: relative; }
.v-titles01 span.green { padding-left: 35px; text-align: center; font-weight: 700; font-size: 18px; }
.v-titles01 span.green > span > span { line-height: 20px; }
.v-titles01 span.green:before { content: ""; width: 25px; height: 1px; background: #00582D; position: absolute; left: 0; top: 14px; }
.v-titles01 span.big { position: relative; font-family: "ship"; font-weight: 400; font-size: 30px; line-height: 1.66; display: block; margin-top: 30px; }

section#p02Box02 { padding: 100px 5.33vw; background: #F6F6F6; }
section#p02Box02 .wrap { box-sizing: border-box; }
section#p02Box02 .wrap .img { margin-top: 85px; }
section#p02Box02 .wrap .text { line-height: 2; }
section#p02Box02 .wrap .whiteBox { margin-top: 50px; }

.titles02.dot-tit01 { font-size: 30px; line-height: 1; margin-bottom: 60px; }
.titles02.dot-tit01 > span { padding-bottom: 12px; background-size: auto; }

div.whiteBox { background: #fff; border-radius: 5px; padding: 40px 20px 50px; position: relative; }
div.whiteBox .tori01 { position: absolute; right: 0; bottom: -58px; width: 102px; }

.green-bg { font-weight: 500; line-height: 34px; margin-bottom: 20px; text-align: center; }
.green-bg > span { display: inline-block; padding: 0 30px; border-radius: 30px; background: #00582D; color: #fff; }

ul.dot-list01 { line-height: 2; }
ul.dot-list01 > li { padding-left: 18px; position: relative; margin-bottom: 20px; line-height: 1.75; }
ul.dot-list01 > li:last-child { margin-bottom: 0; }
ul.dot-list01 > li:before { content: "・"; position: absolute; left: 0; top: 0; }

section#p02Box03 { padding: 100px 5.33vw; background: url("../img/p02/bowa01.png") no-repeat left top, url("../img/p02/bowa02.png") no-repeat bottom 65px right; background-size: 260px,303px; }
section#p02Box03 .titles02.dot-tit01 { text-align: center; }
section#p02Box03 .btn01 { margin: 60px auto 0; width: 210px; height: 50px; }
section#p02Box03 .btn01 a { border-radius: 50px; font-size: 16px; }

.tri-list01.flex { justify-content: center; }
.tri-list01.flex > .box { width: 100%; padding-bottom: 40px; border-bottom: solid 1px #F2F2F2; margin-bottom: 40px; }
.tri-list01.flex > .box .ico { width: 32vw; margin: 0 auto 24px; }
.tri-list01.flex > .box .text { line-height: 2; }
.tri-list01.flex > .box:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.num-tit01 { margin-bottom: 24px; text-align: center; }
.num-tit01 .num { font-weight: 500; color: #00582D; font-family: "pop"; display: block; margin-bottom: -2px; display: block; }
.num-tit01 .text { display: block; font-size: 24px; font-weight: 700; display: block; }

aside.aside01 .wrap { width: auto; }

div#footer .wrap { width: auto; }

/* 03 協会の取り組み
---------------------------------*/
section#p03Box01 > .wrap { padding: 75px 5.33vw 100px; }
section#p03Box01 > .wrap .text { line-height: 2; }
section#p03Box01 .tori01 { position: absolute; left: 5.33vw; bottom: -6px; width: 62px; }
section#p03Box01 .tori02 { position: absolute; left: calc(5.33vw + 75px); bottom: -24px; z-index: 2; width: 75px; }

div#p03Box02 { padding: 100px 5.33vw; background: #F6F6F6; }

section.activities-sec { margin-bottom: 70px; border-radius: 15px; background: #fff; padding: 45px 17px 60px; }
section.activities-sec .inner.flex .img { width: 100%; margin-top: 50px; order: 2; }
section.activities-sec .inner.flex .cont { width: 100%; order: 1; }
section.activities-sec .inner.flex .cont .btn01.small-btn { margin-top: 50px; }

section.activities-sec:last-child { margin-bottom: 0; }

div.sub-box { margin-bottom: 40px; }
div.sub-box .text { padding-left: 17px; line-height: 1.68; }

div.sub-box:last-child { margin-bottom: 0; }

.sub-tit { padding-left: 17px; position: relative; margin-bottom: 10px; font-size: 22px; font-weight: 700; line-height: 1.54; }

.sub-tit:before { content: ""; width: 7px; height: 7px; border-radius: 100%; background: #00582D; border-radius: 100%; position: absolute; left: 0; top: 11px; }

.green-dot-tit { text-align: center; line-height: 2.25; font-size: 30px; font-weight: 700; margin-bottom: 50px; color: #00582D; }
.green-dot-tit > span { padding-bottom: 10px; background: url("../img/common/green-dot.svg") repeat-x left bottom; }

.btn01.small-btn { width: auto; height: 50px; min-width: 210px; }
.btn01.small-btn a { border-radius: 50px; padding: 0 20px; }

/* 04 行政・自治体の方へ
---------------------------------*/
section#p04Box01 { padding: 75px 5.33vw 100px; }
section#p04Box01 .wrap .img { margin-top: 40px; }
section#p04Box01 .wrap .cont .textBox { line-height: 2; }
section#p04Box01 .wrap .cont .textBox .text { margin-bottom: 30px; }
section#p04Box01 .wrap .cont .textBox .text:last-child { margin-bottom: 0; }

section#p04Box02 { padding: 100px 5.33vw; background: #00582D; }
section#p04Box02 .titles04 { text-align: center; color: #fff; margin-bottom: 50px; }

div.p04-cont02 { padding: 60px 5.33vw; background: #fff; border-radius: 15px; }

.tit-head.flex { display: block; margin-bottom: 40px; }
.tit-head.flex .tit { font-size: 22px; font-weight: 700; line-height: 1.63; margin-bottom: 40px; }
.tit-head.flex .text { line-height: 1.75; }

div.platform-cont { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; box-sizing: border-box; padding-top: 7.06vw; align-items: flex-start; }
div.platform-cont > .box { z-index: 2; width: 38vw; margin-bottom: 7.73vw; }
div.platform-cont div.center { border-radius: 100%; box-shadow: 0 0 0 7.06vw rgba(229, 229, 229, 0.4); margin: 0 auto 17.6vw; width: 44.66vw; }
div.platform-cont div.box01 .inner { padding-top: 3vw; }
div.platform-cont div.box02 { margin-bottom: 59.6vw; position: relative; }
div.platform-cont div.box02 div.circle-box .inner { padding-top: 2vw; }
div.platform-cont div.box02 div.circle-box .inner ul.dot-list01 > li { font-weight: 500; font-size: 3.73vw; line-height: 1.32; }
div.platform-cont div.box02 div.sb { width: 78.66vw; height: 42.26vw; position: absolute; top: calc(100% + 6.93vw); right: 0; background: #EEEEEE; border-radius: 10px; box-sizing: border-box; padding: 4.53vw 6.13vw; }
div.platform-cont div.box02 div.sb ul.dot-list01 > li { font-weight: 500; font-size: 3.46vw; line-height: 1.46; margin-bottom: 0; }
div.platform-cont div.box02 div.sb .tit { font-weight: 700; line-height: 3.46vw; margin-bottom: 3vw; }
div.platform-cont div.box02 div.sb .tit .big { font-size: 3.73vw; margin-right: 4.26vw; display: inline-block; }
div.platform-cont div.box02 div.sb .tit .komoji { font-size: 3.56vw; display: inline-block; }
div.platform-cont div.box02 div.sb:before { content: ""; background: url("../img/p04/sb-tri.svg") no-repeat; width: 5.86vw; height: 5.2vw; background-size: contain; position: absolute; top: -5.2vw; right: 17.4vw; transform: rotateZ(90deg); }
div.platform-cont div.box07 { margin-bottom: 0; }
div.platform-cont .tori01 { position: absolute; right: 0; bottom: 0; width: 31.06vw; }

div.circle-box { width: 38vw; height: 38vw; box-sizing: border-box; display: table; border-radius: 100%; border: solid 2px #00582D; background: #fff; position: relative; }
div.circle-box > .inner { display: table-cell; text-align: center; vertical-align: middle; }
div.circle-box > .inner ul.dot-list01 { display: inline-block; text-align: left; }
div.circle-box > .inner ul.dot-list01 > li { font-weight: 700; margin-bottom: 0; line-height: 1.32; font-size: 3.73vw; padding-left: 3.5vw; }
div.circle-box > .inner .tit { font-size: 3.73vw; font-weight: 700; line-height: 1.32; margin-bottom: 1px; }
div.circle-box > .inner > p { line-height: 1.32; font-weight: 500; font-size: 3.73vw; }
div.circle-box > .inner > p .big { font-weight: 700; }
div.circle-box .gree-circle { width: 9.6vw; height: 9.6vw; border-radius: 100%; text-align: center; line-height: 9.6vw; color: #fff; font-weight: 700; background: #00582D; font-size: 4.66vw; position: absolute; top: -3.73vw; z-index: 2; left: 0; right: 0; margin: 0 auto; }

section#p04Box03 { padding: 100px 5.33vw; background: #F6F6F6; }
section#p04Box03 .titles01 { text-align: center; margin-bottom: 50px; }
section#p04Box03 .titles01 .en { font-size: 52px; }
section#p04Box03 .titles01 .jp { font-size: 17px; }
section#p04Box03 .tori02 { position: absolute; top: 3px; right: calc(50% + 239px); }

.p04-cont03.flex { display: block; margin-bottom: 50px; }
.p04-cont03.flex .cont h3.tit { font-weight: 700; font-size: 22px; line-height: 1.63; margin-bottom: 40px; }
.p04-cont03.flex .cont .text { line-height: 2; }
.p04-cont03.flex .img { margin-top: 40px; }

.p04-cont03-2 { box-sizing: border-box; background: #fff; border-radius: 15px; padding: 80px 20px; }
.p04-cont03-2 .titles02.dot-tit01 { margin-bottom: 70px; font-size: 28px; }
.p04-cont03-2 .tri-list01.flex > div.box { padding-bottom: 0; border-bottom: 0; margin-right: 0; width: 100%; margin-bottom: 60px; }
.p04-cont03-2 .tri-list01.flex > div.box .img { margin-bottom: 20px; }
.p04-cont03-2 .tri-list01.flex > div.box h3.num-tit01 { margin-bottom: 12px; }
.p04-cont03-2 .tri-list01.flex > div.box h3.num-tit01 .text { font-size: 24px; font-weight: 700; line-height: 1.25; margin-top: 5px; }
.p04-cont03-2 .tri-list01.flex > div.box .text { font-weight: 500; line-height: 1.75; }
.p04-cont03-2 .tri-list01.flex > div.box:last-child { margin-bottom: 0; }

section#blog-sec-u { padding: 100px 0 100px; }
section#blog-sec-u .btn01 { width: auto; height: 50px; min-width: 210px; margin: 60px auto 0; }
section#blog-sec-u .btn01 a { border-radius: 50px; padding: 0 20px; }
section#blog-sec-u .blog-sec-head { border-bottom: solid 1px #000000; padding-bottom: 60px; margin-bottom: 60px; padding-left: 5.33vw; padding-right: 5.33vw; }

div.blog-list02.flex { box-sizing: border-box; padding: 0 5.33vw; }
div.blog-list02.flex article.blog-art02 { margin-bottom: 60px; width: 100%; }
div.blog-list02.flex article.blog-art02:last-child { margin-bottom: 0; }

article.blog-art02 { width: 338px; }
article.blog-art02 a { display: block; text-decoration: none; }
article.blog-art02 a .img { border-radius: 8px; overflow: hidden; margin-bottom: 30px; }
article.blog-art02 a .img .in-img { padding-top: 69.82%; transition: 0.3s; }
article.blog-art02 a .infos.flex { width: calc(100% + 20px); margin-left: -20px; margin-bottom: 14px; }
article.blog-art02 a .infos.flex > div { margin-left: 20px; }
article.blog-art02 a .infos.flex > div.b-cate { font-size: 14px; padding: 0 20px; border-radius: 30px; line-height: 28px; height: 28px; }
article.blog-art02 a .infos.flex > div.b-date { font-size: 16px; line-height: 28px; }
article.blog-art02 a h3.tit { width: 100%; font-weight: 500; line-height: 24px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 16px; }

/* 05 協会案内
---------------------------------*/
section#p05Box01 { padding: 70px 5.33vw 100px; }
section#p05Box01 .titles02.dot-tit01 { margin-bottom: 50px; }

.TBL01 th, .TBL01 td { box-sizing: border-box; vertical-align: top; line-height: 38px; padding: 20px 0; display: block; }
.TBL01 th { border-bottom: solid 1px #00582D; font-weight: 700; color: #00582D; padding-bottom: 5px; }
.TBL01 td { line-height: 1.5; }
.TBL01 td.katsudou { line-height: 1.75; }

section#p05Box02 { padding: 0 5.33vw 100px; }
section#p05Box02 .titles02.dot-tit01 { margin-bottom: 72px; }

div.or-top { background: #00582D; text-align: center; color: #fff; font-size: 4.26vw; font-weight: 500; border-radius: 5px; padding: 0; margin-bottom: 5.33vw; }

div.or-supporter { background: #E2ECE7; text-align: center; color: #00582D; font-size: 4.26vw; font-weight: 600; border-radius: 5px; padding: 8px; margin-top: 5.33vw; }

div.or-inner.flex { justify-content: space-between; font-size: 3.46vw; }
div.or-inner.flex > div { width: 25.86vw; box-sizing: border-box; position: relative; }
div.or-inner.flex > div .in-Box { margin-bottom: 1.33vw; min-height: 17.73vw; }
div.or-inner.flex > div .in-Box:last-child { margin-bottom: 0; }
div.or-inner.flex > div:before { content: ""; background: url("../img/p05/v-dot01.svg") no-repeat center top; width: 0.26vw; height: 3.2vw; position: absolute; left: 0; right: 0; top: -4.23vw; margin: 0 auto; background-size: 100%; }
div.or-inner.flex > div.box02 { width: 34.93vw; }
div.or-inner.flex > div.box02 .tit { margin-bottom: 1.86vw; }
div.or-inner.flex > div.box02 .text { line-height: 1.3; }
div.or-inner.flex .green-border { padding: 3vw; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; font-size: 3.46vw; color: #00582D; font-weight: 500; line-height: 5.86vw; text-align: center; box-sizing: border-box; }

.green-border { border: solid 1px #00582D; border-radius: 5px; }

section#p05Box03 { background: #F6F6F6; padding: 100px 5.33vw; }
section#p05Box03 .titles01 { text-align: center; margin-bottom: 50px; }
section#p05Box03 .titles01 .en { font-size: 53px; }
section#p05Box03 .titles01 .jp { font-size: 17px; }
section#p05Box03 .btn01.small-btn { min-width: 200px; margin: 80px auto 0; }

div.members-list.flex { justify-content: space-between; margin-top: -20px; }

article.members-art { width: 100%; margin-top: 20px; }
article.members-art a { display: block; text-decoration: none; padding: 15px 40px 15px 15px; background: #fff; border-radius: 5px; position: relative; }
article.members-art a .com-name { line-height: 1.4; font-weight: 700; font-size: 16px; }
article.members-art a .ico-blank { position: absolute; right: 15px; bottom: 15px; width: 18px; }
article.members-art a .ico-blank img { display: block; transition: 0.3s; opacity: 1; }
article.members-art a.no-link { pointer-events: none; }

.pref-info { margin-bottom: 5px; }
.pref-info > span { min-width: 60px; box-sizing: border-box; border: solid 1px #00582D; border-radius: 20px; text-align: center; padding: 0 10px; color: #00582D; line-height: 20px; height: 22px; display: inline-block; transition: 0.3s; font-size: 13px; }

/* 06 資格取得
---------------------------------*/
.post-type-archive-qualification div#mv.umv h1.titles01 .en { font-size: 13vw; }

section#p06Box01 { padding: 70px 5.33vw 100px; }
section#p06Box01 h2.titles02.dot-tit01 { margin-bottom: 98px; }

div.merit-list.flex { display: block; }
div.merit-list.flex > div { margin-bottom: 77px; width: 100%; background: #F6F6F6; box-sizing: border-box; padding: 30px 20px; position: relative; border-radius: 8px; }
div.merit-list.flex > div .num { font-size: 30px; font-weight: 500; font-family: "pop"; position: absolute; left: 20px; top: -14px; line-height: 1; color: #00582D; }
div.merit-list.flex > div .ico { position: absolute; right: 20px; top: -32px; width: 70px; }
div.merit-list.flex > div h3.green { font-size: 24px; line-height: 1.45; margin-bottom: 15px; }
div.merit-list.flex > div .text { line-height: 1.75; }
div.merit-list.flex > div:last-child { margin-bottom: 0; }

section#p06Box02 { padding: 100px 5.33vw; background: #00582D; }
section#p06Box02 .titles01 { text-align: center; }
section#p06Box02 .titles01 .en { color: #fff; font-size: 53px; }
section#p06Box02 .titles01 .jp { color: #fff; font-size: 17px; }

article.voice-art { margin-bottom: 50px; padding: 35px 20px; background: #FFFFFF; border-radius: 10px; }
article.voice-art .inner.flex { justify-content: space-between; }
article.voice-art .inner.flex .img { width: 100%; margin-bottom: 20px; }
article.voice-art .inner.flex .img .in-img { padding-top: 68.78%; }
article.voice-art .inner.flex .cont { width: 100%; }
article.voice-art .inner.flex .cont .text { line-height: 1.75; }
article.voice-art .inner.flex .cont .voice-data { color: #00582D; font-weight: 700; margin-top: 20px; }
article.voice-art .inner.flex .cont .voice-data > span { display: inline-block; }
article.voice-art .inner.flex .cont .voice-data > span:after { content: "/"; display: inline-block; margin: 0 5px; }
article.voice-art .inner.flex .cont .voice-data > span:last-child:after { content: none; }

article.voice-art:last-child { margin-bottom: 0; }

section#p06Box03 { background: #F6F6F6; }
section#p06Box03 .wrap { padding: 150px 5.33vw 100px; }
section#p06Box03 .tori01 { top: 38px; position: absolute; left: 5.33vw; width: 61px; }
section#p06Box03 .tori02 { top: 57px; position: absolute; left: calc(5.33vw + 70px); width: 75px; }
section#p06Box03 h2.titles02.dot-tit01 { margin-bottom: 60px; }

article.lic-art.flex { margin-bottom: 30px; box-sizing: border-box; background: #fff; padding: 20px 20px 35px; border-radius: 10px; justify-content: space-between; }
article.lic-art.flex .img { width: 100%; margin-bottom: 15px; }
article.lic-art.flex .img .in-img { padding-top: 70.15%; }
article.lic-art.flex .cont { width: 100%; position: relative; }
article.lic-art.flex .cont h3 { font-size: 22px; font-weight: 700; line-height: 1.45; margin-bottom: 8px; }
article.lic-art.flex .cont .text { line-height: 1.75; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
article.lic-art.flex .cont .btn01.small-btn { min-width: 136px; width: 100%; z-index: 2; margin-top: 35px; }

article.lic-art.flex:last-child { margin-bottom: 0; }

/*詳細*/
.single-qualification div#mv.umv h1.titles01 .jp { font-size: 8vw; line-height: 1.5; margin-top: 0; }

section#p06sBox01 { padding: 70px 5.33vw 100px; }
section#p06sBox01 .titles01 { text-align: center; margin-bottom: 50px; }
section#p06sBox01 .titles01 .en { font-size: 53px; }
section#p06sBox01 .titles01 .jp { font-size: 17px; }

figure.wp-block-flexible-table-block-table { overflow: auto; margin: 30px 0 0; padding-bottom: 5px; }
figure.wp-block-flexible-table-block-table table { width: 800px !important; }

.scroll-hint-text { font-size: 0 !important; }

.scroll-hint-text:before { content: "スクロールできます"; font-size: 12px !important; }

.scroll-hint-icon { height: 90px !important; width: 150px !important; }

h2.wp-block-heading:first-child { margin-top: 0; }

h2.wp-block-heading { margin-top: 40px; }

h2.wp-block-heading { font-size: 25px; font-weight: 700; color: #00582D; background: url(../img/common/green-dot.svg) repeat-x left bottom; padding-bottom: 10px; line-height: 1.46; margin-bottom: 25px; }

h3.wp-block-heading { font-size: 20px; font-weight: 700; line-height: 1.46; margin-bottom: 20px; padding-left: 10px; position: relative; }

h3.wp-block-heading:before { content: ""; width: 2px; height: calc(100% - 4px); left: 0; top: 2px; border-radius: 4px; position: absolute; background: #00582D; }

h4.wp-block-heading { font-size: 18px; font-weight: 700; line-height: 1.46; margin-bottom: 10px; }

figure.wp-block-image.size-full.is-resized { margin: 20px 0; }

.overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table { margin-bottom: 10px; }
.overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th, .overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table th, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table td { box-sizing: border-box; line-height: 1.6; padding: 20px; vertical-align: top; }
.overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th { text-align: center; vertical-align: middle; background: #F6F6F6; border: none; border-right: solid 1px #B5B5B5; }
.overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th:last-child, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th:last-child { border-right: none; }
.overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th, .overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td { border: none; border-right: solid 1px #D9D9D9; border-bottom: solid 1px #D9D9D9; }
.overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th:last-child, .overviewBox .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td:last-child, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th:last-child, .editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td:last-child { border-right: none; }

.overviewBox { line-height: 28px; }

span.ico.ico-dl { width: 16px; }

/* 07 会員区分
---------------------------------*/
section#p07Box01 { padding: 70px 5.33vw 100px; }

div.tri-list01.tri-list07.flex > div.box { width: 100%; padding-bottom: 0; border-bottom: none; margin-bottom: 60px; }
div.tri-list01.tri-list07.flex > div.box .img { margin-bottom: 17px; }
div.tri-list01.tri-list07.flex > div.box .num-tit01 { margin-bottom: 2px; }
div.tri-list01.tri-list07.flex > div.box .num-tit01 .text { font-size: 24px; }
div.tri-list01.tri-list07.flex > div.box:last-child { margin-bottom: 0; }

section#p07Box02 { background: #F6F6F6; }
section#p07Box02 .tit-head.flex { margin-bottom: 50px; }
section#p07Box02 .tit-head.flex .titles01 { text-align: center; margin-bottom: 50px; }
section#p07Box02 .tit-head.flex .titles01 .en { font-size: 53px; }
section#p07Box02 .tit-head.flex .titles01 .jp { font-size: 17px; margin-top: 10px; }
section#p07Box02 .tit-head.flex .text { line-height: 2; }
section#p07Box02 .wrap { padding: 100px 5.33vw; }
section#p07Box02 .wrap .tori01 { position: absolute; left: -62px; top: -38px; display: none; }
section#p07Box02 .wrap .tori02 { position: absolute; left: 104px; top: -80px; display: none; }

.scr-wrap { overflow: auto; }
.scr-wrap .TBL02 { width: 1100px; }

.TBL02 th, .TBL02 td { box-sizing: border-box; line-height: 20px; text-align: center; vertical-align: middle; font-size: 16px; }
.TBL02 th .komoji, .TBL02 td .komoji { font-size: 14px; }
.TBL02 th span.komoji.tk-komoji, .TBL02 td span.komoji.tk-komoji { margin-left: -4px; }
.TBL02 th { font-weight: 700; }
.TBL02 td { font-weight: 500; }
.TBL02 thead th { color: #fff; background: #00582D; height: 100px; text-align: center; vertical-align: middle; border-right: solid 1px #fff; }
.TBL02 thead th:last-child { border-right-color: #00582D; }
.TBL02 tbody th { padding: 25px 30px; height: 100px; }
.TBL02 tbody th { text-align: left; background: #E2ECE7; border-bottom: solid 1px #AAC7B9; }
.TBL02 tbody td { background: #fff; border-right: solid 1px #D9D9D9; border-bottom: solid 1px #D9D9D9; padding-right: 0; padding-left: 0; }
.TBL02 tbody tr:nth-child(2n) td { background: #FAFAFA; }
.TBL02 tbody tr:last-child th { border-bottom: none; }
.TBL02 tbody tr:last-child td { border-bottom: none; }
.TBL02 table { table-layout: fixed; }
.TBL02 .col01 { width: 266px; }

.m-bikou { margin-top: 12px; }

div.btns01.flex { justify-content: center; margin-top: 20px; }
div.btns01.flex .btn01.small-btn { min-width: 0; margin-right: 16px; width: calc(50% - 8px); }
div.btns01.flex .btn01.small-btn a { padding: 0; }
div.btns01.flex .btn01.small-btn:last-child { margin-right: 0; }

section#p07Box03 { padding: 100px 5.33vw; }
section#p07Box03 .titles01 { text-align: center; margin-bottom: 60px; }
section#p07Box03 .titles01 .en { font-size: 53px; }
section#p07Box03 .titles01 .jp { font-size: 17px; }

section#p07Box04 { padding: 100px 5.33vw; background: #F6F6F6; }
section#p07Box04 .titles01 { text-align: center; margin-bottom: 60px; }
section#p07Box04 .titles01 .en { font-size: 53px; }
section#p07Box04 .titles01 .jp { font-size: 17px; }

div.p07-cont01 { padding: 60px 20px; background: url("../img/p07/sp-bowa.png") no-repeat top 3px left #fff; border-radius: 15px; margin-bottom: 50px; text-align: center; background-size: 224px; }
div.p07-cont01 h3.titles02.dot-tit01 { margin-bottom: 60px; }
div.p07-cont01 > .text { line-height: 2; text-align: left; }

div.btns02.flex { margin-top: 50px; justify-content: center; }
div.btns02.flex .btn01 { width: 100%; height: 60px; margin-bottom: 25px; }
div.btns02.flex .btn01 a { font-size: 16px; border-radius: 30px; }
div.btns02.flex .btn01 a span.ico { margin-right: 10px; }
div.btns02.flex .btn01:last-child { margin-bottom: 0; }

div.p07-cont02 { padding: 60px 5.33vw; background: url("../img/p07/bowa03.png") no-repeat top 15px right 10px #fff; border-radius: 30px; text-align: center; background-size: 214px; }
div.p07-cont02 h3.titles02.dot-tit01 { margin-bottom: 60px; }
div.p07-cont02 > .text { line-height: 2; text-align: left; }
div.p07-cont02 > .text a { text-decoration: underline; color: #00582D; }

div.flow-list07.flex { margin-top: calc(50px - 5.33vw); justify-content: space-between; }
div.flow-list07.flex div.box { width: 36vw; height: 36vw; position: relative; display: table; margin-top: 5.33vw; }
div.flow-list07.flex div.box > .num { position: absolute; left: 2.8vw; top: 1.33vw; z-index: 2; border-radius: 100%; text-align: center; line-height: 8vw; color: #fff; background: #00582D; font-size: 3.73vw; font-family: "pop"; width: 8vw; }
div.flow-list07.flex div.box > .inner { display: table-cell; text-align: center; vertical-align: middle; background: #F6F6F6; border-radius: 100%; }
div.flow-list07.flex div.box > .inner .ico { text-align: center; width: 17.33vw; margin: 0 auto 0.53vw; }
div.flow-list07.flex div.box > .inner .text { line-height: 1; font-size: 4.26vw; font-weight: 700; }
div.flow-list07.flex div.box:after { content: ""; width: 0; height: 0; border-left: solid 2.4vw #00582D; border-top: solid 2vw transparent; border-bottom: solid 2vw transparent; position: absolute; left: calc(100% + 2.13vw); top: 50%; transform: translateY(-50%); }
div.flow-list07.flex div.box:last-child:after { content: none; }
div.flow-list07.flex div.box:nth-child(2n):after { content: none; }

/* 08 ブログ
---------------------------------*/
div#p08Box01 { padding: 70px 5.33vw 100px; }

div.cate-lisBox { margin-bottom: 40px; }
div.cate-lisBox > .tit { color: #00582D; font-size: 16px; font-weight: 700; margin-bottom: 15px; }
div.cate-lisBox .side-inner > select { border: solid 1px #00582D; border-radius: 5px; background: #fff; color: #00582D; }

ul.cate-list.flex { width: calc(100% + 10px); margin: -10px 0 0 -10px; }
ul.cate-list.flex li { margin: 10px 0 0 10px; height: 28px; width: auto; min-width: 96px; display: table; }
ul.cate-list.flex li a { display: table-cell; text-decoration: none; padding: 0 20px; text-align: center; vertical-align: middle; border-radius: 30px; background: #EEEEEE; font-size: 14px; color: #AAAAAA; font-weight: 500; }
ul.cate-list.flex li.r_current a { pointer-events: none; background: #00582D; color: #fff; }

div#p08Box01 .blog-list02.blog-list-all.flex { padding: 0; }

/*詳細*/
.post-type-blog h2.wp-block-heading, .post-type-seminar h2.wp-block-heading, .blog-sBox h2.wp-block-heading { font-size: 20px; font-weight: 700; color: #00582D; line-height: 1.42; margin-bottom: 20px; position: relative; background: none; padding-bottom: 0; padding-left: 15px; color: #000000; }
.post-type-blog h2.wp-block-heading:before, .post-type-seminar h2.wp-block-heading:before, .blog-sBox h2.wp-block-heading:before { content: ""; width: 2px; height: calc(100% - 4px); left: 0; top: 2px; border-radius: 4px; position: absolute; background: #00582D; }
.post-type-blog h3.wp-block-heading, .post-type-seminar h3.wp-block-heading, .blog-sBox h3.wp-block-heading { font-size: 18px; font-weight: 700; line-height: 1.63; margin-bottom: 15px; color: #00582D; padding-left: 0; }
.post-type-blog h3.wp-block-heading:before, .post-type-seminar h3.wp-block-heading:before, .blog-sBox h3.wp-block-heading:before { content: none; }
.post-type-blog h4.wp-block-heading, .post-type-seminar h4.wp-block-heading, .blog-sBox h4.wp-block-heading { font-size: 17px; font-weight: 700; line-height: 1.8; margin-bottom: 10px; }

div#two-content { padding: 75px 5.33vw 100px; }

div#two-side { margin-top: 50px; }

.single-blog div#mv.umv, .single-seminar div#mv.umv { padding-top: 24vw; }
.single-blog div#two-content, .single-seminar div#two-content { padding-top: 0; padding-bottom: 0; }

div.sideBox { margin-bottom: 40px; }

div.sideBox:last-child { margin-bottom: 0; }

.side-tit { line-height: 50px; color: #fff; height: 50px; background: #00582D; border-radius: 5px; margin-bottom: 12px; font-weight: 700; font-size: 16px; }

.side-tit.side-tit01 { padding-left: 46px; background: url("../img/p08/side-ico01.svg") no-repeat left 16px center #00582D; margin-bottom: 15px; }

.side-tit.arc { padding-left: 47px; background: url("../img/p08/side-ico02.svg") no-repeat left 17px center #00582D; }

.side-inner > select { width: 100%; border-radius: 5px; background: #EEEEEE; border: solid 1px #C7C7C7; color: #000; font-size: 18px; box-sizing: border-box; height: 42px; padding: 0 15px; }

ul.side-links > li { border-bottom: solid 1px #C7C7C7; padding-bottom: 18px; margin-bottom: 18px; }
ul.side-links > li a { display: block; position: relative; padding-right: 30px; text-decoration: none; font-weight: 500; line-height: 24px; }
ul.side-links > li a .arrow { position: absolute; right: 0; top: 5px; width: 10px; }
ul.side-links > li a .arrow img { display: block; transition: 0.3s; opacity: 1; }
ul.side-links > li:last-child { margin-bottom: 0; }

div#two-main > .infos.flex { width: calc(100% + 8px); margin: -8px 0 0 -8px; margin-bottom: 16px; }
div#two-main > .infos.flex > div { margin: 8px 0 0 8px; }
div#two-main > .infos.flex > div.b-cate { padding: 0 20px; border-radius: 30px; height: 28px; line-height: 28px; font-size: 14px; font-weight: 500; }
div#two-main > .b-date { margin-bottom: 20px; }

h1.blog-tit { font-size: 23px; line-height: 1.6; font-weight: 700; margin-bottom: 20px; }

.writerBox { margin-top: 80px; }
.writerBox .titles05 { font-size: 20px; margin-bottom: 20px; }

div.ineer-box-writer.flex { border: solid 1px #EEEEEE; background: #fff; border-radius: 5px; box-sizing: border-box; padding: 49px 19px; align-items: flex-start; justify-content: center; }
div.ineer-box-writer.flex .img { width: 100px; margin-bottom: 15px; }
div.ineer-box-writer.flex .img .in-img { padding-top: 100%; border-radius: 100%; }
div.ineer-box-writer.flex .cont { width: 100%; line-height: 28px; }
div.ineer-box-writer.flex .cont .position-text { font-weight: 500; color: #00582D; text-align: center; }
div.ineer-box-writer.flex .cont .wr-name { font-size: 17px; font-weight: 700; text-align: center; }
div.ineer-box-writer.flex .cont .wr-text { font-weight: 500; margin-top: 15px; }
div.ineer-box-writer.flex .cont ul.dot-list02 { margin-top: 15px; }

ul.dot-list02 > li { position: relative; padding-left: 13px; }
ul.dot-list02 > li:before { content: ""; width: 5px; height: 5px; border-radius: 100%; background: #00582D; position: absolute; left: 0; top: 12px; }

.blog-sBox div#toc_container { border: solid 1px #F2FBF6; background: #F2FBF6; border-radius: 5px; margin: 30px 0 40px; box-sizing: border-box; padding: 34px 20px; width: 100% !important; }
.blog-sBox div#toc_container p.toc_title { text-align: left; width: 100%; color: #00582D; font-family: "pop"; font-weight: 500; font-size: 24px; line-height: 1; margin-bottom: 20px; }
.blog-sBox div#toc_container p.toc_title:after { content: "目次"; display: block; font-family: 'zen'; font-size: 15px; color: #000000; font-weight: 700; margin-top: 8px; }
.blog-sBox div#toc_container ul.toc_list { width: 100%; margin-top: 0 !important; }
.blog-sBox div#toc_container ul.toc_list li { line-height: 24px; padding-left: 12px; position: relative; margin-bottom: 20px; }
.blog-sBox div#toc_container ul.toc_list li a { font-weight: 700; font-size: 16px; }
.blog-sBox div#toc_container ul.toc_list li > ul { margin-top: 10px; }
.blog-sBox div#toc_container ul.toc_list li > ul li:before { height: 1px; border-radius: 0; top: 13px; }
.blog-sBox div#toc_container ul.toc_list li:last-child { margin-bottom: 0; }
.blog-sBox div#toc_container ul.toc_list li:before { content: ""; width: 6px; height: 6px; border-radius: 100%; background: #00582D; position: absolute; left: 0; top: 10px; }
.blog-sBox img[class*="wp-image-"] { margin-bottom: 10px; }
.blog-sBox iframe { max-width: 100%; }
.blog-sBox div { max-width: 100%; }
.blog-sBox a { max-width: 100%; }

.blog-text { margin-top: 40px; }
.blog-text img[class*="wp-image-"] { margin-bottom: 35px; }
.blog-text iframe { max-width: 100%; }
.blog-text div { max-width: 100%; }
.blog-text a { max-width: 100%; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 60px; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; margin: 5px; text-decoration: none; width: 40px; height: 40px; text-align: center; line-height: 38px; font-size: 13px; font-weight: 700; color: #000000; border: solid 1px #000000; border-radius: 100%; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; color: #000000; border: none; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p08/arrow02.svg") no-repeat center; margin-right: 15px; margin-left: 0; background-size: 6px; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p08/arrow03.svg") no-repeat center; margin-left: 15px; margin-right: 0; background-size: 6px; }

.wp-pagenavi span.current { color: #fff; background: #000000; }

.wp-pagenavi a.first { color: transparent; background: url("../img/p08/arrow01.svg") no-repeat center; background-size: 12px; }

.wp-pagenavi a.last { color: transparent; background: url("../img/p08/arrow04.svg") no-repeat center; background-size: 12px; }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { justify-content: space-between; align-items: center; margin-top: 60px; }

.post-navigation ul > li { margin-right: 10px; }

.post-navigation ul > li a { text-decoration: none; font-weight: 700; font-size: 14px; }

.post-navigation ul > li.prev, .post-navigation ul > li.next { width: 90px; }

.post-navigation ul > li.prev a { font-weight: 700; display: block; text-align: right; position: relative; }

.post-navigation ul > li.next a { font-weight: 700; display: block; position: relative; }

.post-navigation ul > li a span.arrow { width: 18px; height: 18px; border-radius: 100%; display: block; position: absolute; transition: 0.3s; box-sizing: border-box; border: solid 1px #000; }

.post-navigation ul > li.prev a span.arrow { background: url("../img/p08/arrow-prev.svg") no-repeat center #000000; left: 0; top: 7px; background-size: 7px; }

.post-navigation ul > li.next a span.arrow { background: url("../img/p08/arrow-next.svg") no-repeat center #000000; right: 0; top: 7px; background-size: 7px; }

.post-navigation ul > li.blog-back { width: 116px; max-width: 116px; height: 50px; }

.post-navigation ul > li.blog-back a { border-radius: 30px; }

.post-navigation ul > li.kara { z-index: -2; pointer-events: none; opacity: 0; }

.post-navigation ul > li:last-child { margin-right: 0; }

/*　09 研修・セミナー
----------------------------------*/
/*ログイン前*/
section#p09Box01 { padding: 70px 5.33vw 100px; }
section#p09Box01 .tit-head.flex { margin-bottom: 50px; }
section#p09Box01 .titles04 { font-size: 27px; }

div.p09-cont01.flex { justify-content: space-between; }
div.p09-cont01.flex > div.box { width: 100%; border: solid 1px #EEEEEE; border-radius: 10px; box-sizing: border-box; }
div.p09-cont01.flex > div.box > h3 { text-align: center; font-size: 22px; margin-bottom: 25px; line-height: 1.5; font-weight: 700; }
div.p09-cont01.flex > div.box.box01 { padding: 60px 20px; margin-bottom: 50px; }
div.p09-cont01.flex > div.box.box01 .btn01.small-btn { width: 100%; margin: 0 auto; height: 60px; }
div.p09-cont01.flex > div.box.box01 > .text { text-align: left; line-height: 1.75; }
div.p09-cont01.flex > div.box.box01 > .text p { display: inline; }
div.p09-cont01.flex > div.box.box01 .inBox01 { margin-top: 25px; margin-bottom: 30px; text-align: center; }
div.p09-cont01.flex > div.box.box01 .inBox02 { text-align: center; }
div.p09-cont01.flex > div.box.box01 .inBox02 .tel-num a { font-size: 28px; }
div.p09-cont01.flex > div.box.box01 .inBox02 .tel-num a > span { padding-left: 22px; background-size: 17px; background-position: left top 1px; line-height: 1; }
div.p09-cont01.flex > div.box.box01 .inBox02 p.bh02 { font-weight: 700; line-height: 1; margin-top: 3px; }
div.p09-cont01.flex > div.box.box01 .inBox02 .btn01.contact-btn { width: 100%; height: 60px; margin: 0 auto 20px; }
div.p09-cont01.flex > div.box.box01 .inBox02 .btn01.contact-btn a { border-width: 2px; border-radius: 30px; background-color: #fff; color: #000; }
div.p09-cont01.flex > div.box.box01 .inBox02 .btn01.contact-btn a .ico { margin-right: 10px; }
div.p09-cont01.flex > div.box.box01 .inBox02 .btn01.contact-btn a .ico img { filter: brightness(0) saturate(100%); width: 20px; }
div.p09-cont01.flex > div.box.box02 { padding: 60px 20px; }

div.login01 .wpmem_msg { padding: 10px; box-sizing: border-box; }
div.login01 .wpmem_msg a { text-decoration: underline; display: inline-block; }
div.login01 .wpmem_msg a:hover { text-decoration: none; }
div.login01 #wpmem_login fieldset, div.login01 #wpmem_reg fieldset { margin-bottom: 0; }
div.login01 .wpmem_msg, div.login01 div#wpmem_login { width: 100% !important; }
div.login01 legend { display: none; }
div.login01 input#log, div.login01 input#pwd { width: 100%; box-sizing: border-box; border: solid 1px #D9D9D9; background: #F6F6F6; padding: 5px 10px; height: 47px; }
div.login01 #wpmem_login .button_div { text-align: center; }
div.login01 #wpmem_login .button_div input.buttons { width: 100%; transition: 0.3s; border-radius: 30px; height: 60px; border: solid 2px #000; background-color: #000; color: #fff; cursor: pointer; font-size: 16px; text-align: center; margin: 40px auto 0; }
div.login01 #wpmem_login .button_div input.buttons:hover { color: #000; background-color: #fff; font-weight: 700; }

ul.link-ul.flex { justify-content: center; margin-top: 20px; display: block; }
ul.link-ul.flex > li { margin-bottom: 10px; text-align: center; }
ul.link-ul.flex > li a { text-decoration: underline; }
ul.link-ul.flex > li:last-child { margin-bottom: 0; }

section#p09Box02 { padding: 100px 5.33vw; background: #F6F6F6; }
section#p09Box02 .titles01 { text-align: center; margin-bottom: 50px; }
section#p09Box02 .titles01 .en { font-size: 53px; }
section#p09Box02 .titles01 .jp { font-size: 17px; }

div.p09-cont02 { margin-bottom: 50px; position: relative; padding: 80px 20px; box-sizing: border-box; border-radius: 15px; background: #fff; }
div.p09-cont02 .tori01 { position: absolute; z-index: 2; display: none; }
div.p09-cont02 h3.titles02.dot-tit01 { margin-bottom: 60px; }

div.tri-list01.tri-list09.flex > div.box { width: 100%; padding-bottom: 0; border-bottom: none; margin-bottom: 60px; text-align: center; }
div.tri-list01.tri-list09.flex > div.box .img { margin-bottom: 20px; }
div.tri-list01.tri-list09.flex > div.box .num-tit01 { margin-bottom: 0; }
div.tri-list01.tri-list09.flex > div.box:last-child { margin-bottom: 0; }

.p09-cont03 { margin-bottom: 50px; position: relative; padding: 80px 20px; box-sizing: border-box; border-radius: 15px; background: #fff; }
.p09-cont03 h3.titles02.dot-tit01 { margin-bottom: 60px; }
.p09-cont03 > .text { text-align: center; line-height: 2; }

.support-list.flex { margin-top: 50px; }
.support-list.flex > .box { width: 100%; margin-bottom: 50px; }
.support-list.flex > .box .ico { text-align: center; width: 34.66vw; margin: 0 auto 3.73vw; }
.support-list.flex > .box .tit { text-align: center; font-weight: 700; line-height: 1.25; margin-bottom: 15px; font-size: 24px; }
.support-list.flex > .box .text { line-height: 1.75; }
.support-list.flex > .box:last-child { margin-bottom: 0; }

/*ログイン中*/
article.blog-art02.semi-art { width: 100%; margin: 0 0 60px; }

article.blog-art02.semi-art:last-child { margin-bottom: 0; }

/*詳細*/
div#seminar-sBox { padding: 0; }

div#seminar-form { box-sizing: border-box; padding: 60px 20px; background: #F6F6F6; border-radius: 15px; }
div#seminar-form > h3.tit { margin-bottom: 25px; font-size: 23px; font-weight: 700; line-height: 1.4375; }

div#two-side02 { margin-top: 50px; }

.seminar-form-wrap { padding: 0 5.33vw; margin-top: 60px; }

.seminar-pg-wrap { padding: 0 5.33vw 100px; }

/*　10 お問い合わせ
----------------------------------*/
div#p10Box01 { padding: 75px 5.33vw 100px; }

div.contact-cont01 { background: #F2FBF6; border-radius: 5px; box-sizing: border-box; width: 100%; position: relative; padding: 80px 20px; }
div.contact-cont01 .tori01 { position: absolute; left: 0; top: -15px; width: 62px; }
div.contact-cont01 .tori02 { position: absolute; left: 75px; top: -50px; width: 75px; }
div.contact-cont01 > .left { margin-bottom: 50px; font-weight: 700; font-size: 22px; line-height: 1.95; }
div.contact-cont01 > .right { text-align: center; }
div.contact-cont01 > .right > p { font-size: 20px; font-weight: 700; }
div.contact-cont01 > .right .tel-num a { font-size: 33px; line-height: 1; }
div.contact-cont01 > .right .tel-num a > span { padding-left: 30px; background-size: 25px; background-position: left top; padding-bottom: 5px; line-height: 1; }
div.contact-cont01 > .right .tel-bh { text-align: center; font-size: 16px; line-height: 2; font-weight: 700; }

div.contact-cont02 { margin-top: 60px; background: #F6F6F6; padding: 80px 20px 60px; border-radius: 5px; position: relative; }
div.contact-cont02 .tori01 { position: absolute; right: 7px; top: -20px; width: 85px; }
div.contact-cont02 > h2.tit { text-align: center; font-size: 24px; margin-bottom: 25px; font-weight: 700; }

.bikou-text01 { line-height: 1.75; }
.bikou-text01 p { position: relative; padding-left: 18px; font-weight: 500; margin-bottom: 15px; }
.bikou-text01 p:last-child { margin-bottom: 0; }
.bikou-text01 p:before { content: "※"; position: absolute; left: 0; top: 0; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 40px 0 27px; }

ul.contact-state > li { display: table; width: calc(33.33% - 12px); height: 40px; position: relative; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; background: #D4D4D4; color: #737373; font-size: 13px; font-weight: 700; border-radius: 2px; }

ul.contact-state > li.state01 { margin-left: 0; }

ul.contact-state > li.state01 > span { background: #00582D; color: #fff; }

ul.contact-state > li > span span.num { font-family: "pop"; margin-right: 5px; }

ul.contact-state > li:after { content: ""; width: 0; height: 0; border-left: solid 8px #9A9A9A; border-top: solid 8px transparent; border-bottom: solid 8px transparent; position: absolute; top: 0; bottom: 0; left: calc(100% + 6px); margin: auto 0; }

ul.contact-state > li:last-child:after { content: none; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }

ul.contact-state.contact-state02 > li.state02 > span { background: #00582D; color: #fff; }

.contactTBL th, .contactTBL td { display: block; box-sizing: border-box; font-size: 16px; padding: 13px 0; color: #000000; line-height: 1.66; }
.contactTBL th { padding-bottom: 15px; }
.contactTBL td { padding-top: 0; }
.contactTBL .wpcf7-list-item { margin-left: 0; display: inline-block; margin-right: 30px; margin-bottom: 10px; }
.contactTBL input[type="checkbox"], .contactTBL input[type="radio"] { transform-origin: left center; transform: scale(1.5); margin-right: 8px; }

span.hissu { display: inline-block; color: #fff; padding: 2px 7px; background: #C90714; margin-right: 8px; box-sizing: border-box; font-size: 13px; font-weight: 700; border-radius: 2px; }

span.nini { display: inline-block; color: #727272; padding: 1px 6px; border: solid 1px #727272; margin-right: 8px; font-size: 13px; font-weight: 700; border-radius: 2px; background: #fff; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 40px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; border-radius: 2px; }

input.wpcf7-date { padding: 5px 10px; border-radius: 2px; }

select.wpcf7-select { box-sizing: border-box; height: 40px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: auto; border-radius: 2px; }

select { background: #fff; border-radius: 0; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 120px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; border-radius: 2px; }

.contactTBL .select-con .wpcf7-list-item { display: inline-block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

input#your-name, input#kana { width: 250px; }

.cours-area { margin-top: 5px; }

input.wpcf7-text.tel01, input#zip01 { width: 125px; }

select#pref3 { width: auto; }

span.form-bikou { display: block; }

ul.address-list > li { margin-bottom: 30px; }
ul.address-list > li:last-child { margin-bottom: 0; }
ul.address-list .th { font-size: 14px; margin-bottom: 5px; }

.contactArea .codedropz-upload-handler { border: none; border-radius: 0; background: none; padding: 0; }

.contactArea .codedropz-upload-inner { color: #9A9A9A; line-height: 1.5; font-size: 16px; font-weight: 500; }

.contactArea .codedropz-upload-inner h3 { display: none; }

.contactArea .codedropz-upload-inner > span { display: none; }

.contactArea .codedropz-upload-container { padding: 0; }

.contactArea .codedropz-btn-wrap { text-align: left; }
.contactArea .codedropz-btn-wrap a.cd-upload-btn { text-align: center; margin-top: 0; }

a.cd-upload-btn { width: 130px; height: 40px; display: inline-block; line-height: 35px; background: #000000; border: solid 1px #000000; border-radius: 4px; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #fff; }

.contact-submit.flex { margin-top: 50px; justify-content: center; flex-direction: row-reverse; position: relative; }

a.green { text-decoration: underline; color: #00582D; }

.contact-submit.flex > p { width: 100%; text-align: center; margin-top: 30px; }

.inb { display: inline-block; }

.form-btn { width: 100%; position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] { transition: 0.3s; border: solid 1px #000000; color: #fff; width: 100%; height: 60px; font-size: 16px; font-weight: 700; position: relative; z-index: 3; background: #000000; border-radius: 30px; }

.form-btn.form-btn02 { margin-top: 10px; }

.form-btn.form-btn02 input[type="submit"], .form-btn.form-btn02 input[type="button"] { background: #fff; color: #000000; }

.form-btn input { transition: 0.3s; cursor: pointer; }

.form-btn input:hover { background: #fff; color: #000000; }

.form-btn.form-btn02 input:hover { opacity: 0.7; }

.wpcf7-spinner { position: absolute !important; top: -10px !important; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 90px; margin-top: -90px; }

.wpcf7c-conf { background-color: #e8f0fe !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #e8f0fe inset !important; box-shadow: 0 0 0px 1000px #e8f0fe inset !important; }

::placeholder { font-size: 13px; color: #9A9A9A; line-height: 40px; }

/*　thanksページ等
----------------------------------*/
div#p100Box01 { padding: 75px 5.33vw 100px; }

div#p100Box01 .btn01 { margin: 50px auto 0; }

.pp-title01 { font-size: 22px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

.pp-title02:first-child { margin-top: 0; }

.pp-title02 { font-size: 18px; padding-left: 15px; position: relative; color: #000; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #000; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*デバイス幅ごとの調整（必要な幅があれば追加して調整）*/
