@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Oswald:wght@400;500&display=swap');
/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Oswald', sans-serif;
*/

/* --------------------------------------------------
 normalize
--------------------------------------------------- */
button,hr,input{overflow:visible;padding:0;}progress,sub,sup{vertical-align:baseline;}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0;}html{line-height:1;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{margin:.67em 0;font-size:2em;}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-size:1em;font-family:monospace,monospace;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:100%}sub,sup{position:relative;font-size:75%;line-height:0;}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-size:100%;font-family:inherit;line-height:1;}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none;}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{display:table;max-width:100%;color:inherit;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px-webkit-appearance:textfield;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button;}summary{display:list-item}[hidden],template{display:none}table{border-spacing:0;border-collapse:collapse;}td,th{padding:0;font-weight:normal;}ul{margin:0;padding:0;}ul li{margin:0;padding:0;list-style:none;}ol{margin:0;padding:0;}ol li{margin:0;padding:0;list-style:none;}
main,figure,figcaption,time,address,dl,dt,dd{display: block;margin:0;padding:0;}h1,h2,h3,h4,h5{margin:0;font-size:100%;}p{margin:0; padding:0;}address{font-style: normal;}*,*:after,*:before{outline:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);scrollbar-color: transparent transparent;scrollbar-width: 0px;-ms-overflow-style: none;}h1,h2,h3,h4{font-weight:normal;}mark{background: none;}html{box-sizing:border-box;}*,*:before,*:after{box-sizing:border-box;}


/* --------------------------------------------------
 共通
--------------------------------------------------- */
html{ width: 100%; font-size: 62.5%;}
body{
    min-width: 1100px;
    background: #fff;
    color: #000;
    letter-spacing: .1rem;
    font-size: 1.8rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; vertical-align: bottom;}
a{ color: #0099dc; text-decoration: underline; transition: all .1s ease;}
a:hover{ text-decoration: none;}
.sp{ display: none;}
#wrap{ overflow: hidden;}

@media screen and (max-width: 768px){
    body{ min-width: 0; font-size: 1.4rem;}
    .pc{ display: none;}
    .sp{ display: block;}
}

/* --------------------------------------------------
 アニメーション
--------------------------------------------------- */
.act1 { opacity: 0;}
.fadein1 {
    animation-name: fadein1;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
@keyframes fadein1 {
    0% { opacity: 0;}
    100% { opacity: 1;}
}

.act2 { opacity: 0; transform: translateX(30px);}
.fadein2 {
    animation-name: fadein2;
    animation-duration: 1s;
    animation-delay: .1s;
    animation-fill-mode: forwards;
}
@keyframes fadein2 {
    0% { opacity: 0; transform: translateX(30px);}
    100% { opacity: 1; transform: translateX(0);}
}

.act3 { opacity: 0; transform: translateY(15px);}
.fadein3 {
    animation-name: fadein3;
    animation-duration: 1s;
    animation-delay: .1s;
    animation-fill-mode: forwards;
}
@keyframes fadein3 {
    0% { opacity: 0; transform: translateY(15px);}
    100% { opacity: 1; transform: translateY(0);}
}

/* --------------------------------------------------
 ヘッダーエリア
--------------------------------------------------- */
.header{ position: fixed; top: 30px; left: 50%; z-index: 1000; display: flex; padding: 10px; min-width: 1100px; width: 90vw; border-radius: 80px; background: #fff; box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.15); transition: .4s ease; transform: translate(-50%,0); justify-content: space-between; align-items: center;}
.head-animation { transform: translate(-50%,-150%);}
.header a{ text-decoration: none; font-weight: 700;}
.header h1 a{ display: flex; font-size: 2rem; align-items: center;}
.header h1 i{ display: block; margin: 0 1em 0 0; width: 60px;}
.header nav{ padding: 0 60px 0 0;}
.header nav ul{ display: flex;}
.header nav ul > li{ padding: 0 0 0 60px;}
.header nav a{ position: relative; display: block; padding: 0 0 0 2.6rem;}
.header nav a:after{ position: absolute; top: 2px; left: 0; width: 1.8rem; height: 1.8rem; background: url("/img/ico_ttl2.svg") no-repeat 0 0 / contain; content: "";}
.header nav a:hover{ color: #e95383;}
.header nav a:hover:after{ background-image: url("/img/ico_ttl2_m.svg");}
.header .switch{ display: none;}

@media screen and (max-width: 768px){
    .header{ top: 20px; left: 50%; padding: 10px 20px 10px 10px; min-width: calc(100% - 20px); width: calc(100% - 20px); border-radius: 60px;}
    .head-animation { transform: translate(-50%,-150%);}
    .header h1 a{ font-size: 1.5rem;}
    .header h1 i{ margin: 0 .5em 0 0; width: 30px;}
    .header nav{ display: none;}
    .header .switch{ display: block;}
}

/* --------------------------------------------------
 メインコンテナー
--------------------------------------------------- */

/* 基本レイアウト
--------------------------------------------------- */
main{ margin: 0 auto; padding: 0 0 150px; width: 1100px;}
main section{ margin: 150px 0 0;}

@media screen and (max-width: 768px){
    main{ padding: 0 20px 60px; width: 100%;}
    main section{ margin: 60px 0 0;}
}

/* トップ用
--------------------------------------------------- */

/* ヒーローヘッダー */
.hero{ position: relative; z-index: 100; margin: 0 calc(50% - 50vw); padding: 0; min-height: 100vh; min-height: calc(var(--vh, 1vh) * 100); width: 100vw; background: url("/img/main.jpg") no-repeat center / cover;}
.hero .copy{ position: absolute; right: 0; bottom: -125px; display: flex; flex-direction: column; padding: 0 0 0 75px; width: 50vw; height: 250px; border-radius: 0 0 0 75px; background: #fff; box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.15); justify-content: center;}
.hero .copy p{ color: #0099dc; font-weight: 700; font-size: 1.85vw; line-height: 1.8;}
.hero .copy p small{ font-size: 80%;}
.hero .copy p + p{ padding: 15px 0 0; color: #000; font-size: 1.25vw; line-height: 1;}
.hero figure{ position: absolute; bottom: 65px; left: 50%; width: 120px; transform: translate(-50%,0);}

@media screen and (max-width: 768px){
    .hero{ margin: 0 calc(50% - 50vw); min-height: 75vh; min-height: calc(var(--vh, 1vh) * 75); width: 100vw; background: url("/img/main_sp.jpg") no-repeat center / cover;}
    .hero .copy{ right: auto; bottom: -30vw; left: 20px; padding: 0; width: calc(100% - 40px); height: 60vw; border-radius: 30px;}
    .hero .copy p{ text-align: center; font-size: 1.7rem;}
    .hero .copy p small{ font-size: 80%;}
    .hero .copy p + p{ padding: 10px 0 0; font-size: 1.35rem; line-height: 1.75;}
    .hero figure{ bottom: calc(30vw - 30px); width: 60px;}
}

/* コンセプト */
.concept{ display: flex; flex-direction: row-reverse; overflow: hidden; margin: 90px 0 0; border-radius: 75px 0 75px 0; background: #fff; box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.15);}
.concept > figure{ width: 50%;}
.concept > .detail{ display: flex; flex-direction: column; width: 50%; justify-content: center; align-items: center;}
.concept h2{ color: #0099dc; text-align: center; font-weight: 700; font-size: 3rem;}
.concept ul{ padding: 30px 0 0; font-weight: 700; line-height: 2;}
.concept ul > li{ position: relative; padding: 5px 0 5px 2.7rem;}
.concept ul > li:before{ position: absolute; top: 15px; left: 0; width: 1.8rem; height: 1.8rem; background: url("/img/ico_ttl1.svg") no-repeat 0 0 / contain; content: "";}

@media screen and (max-width: 768px){
    .concept{ flex-direction: column-reverse; margin: calc(30vw + 20px) 0 0; border-radius: 30px;}
    .concept > figure{ width: 100%;}
    .concept > .detail{ display: block; padding: 40px; width: 100%; text-align: left;}
    .concept h2{ text-align: left; font-size: 2rem;}
    .concept ul{ padding: 15px 0 0;}
    .concept ul > li{ padding: 5px 0 0 2.1rem;}
    .concept ul > li:before{ top: 1.35rem; left: 0; width: 1.4rem; height: 1.4rem;}
}

/* コンテンツリスト */
.list-cont{ display: flex; overflow: hidden; margin: 0 -30px; padding: 60px 0 0;}
.list-cont > li{ padding: 0 30px; width: calc(100% / 3); counter-increment: sec;}
.list-cont a{ position: relative; display: block; padding: 0 0 15px; color: #000; text-decoration: none;}
.list-cont a:before{ position: absolute; right: 0; bottom: 0; width: 50%; height: 1px; background: #6bbae4; content: "";}
.list-cont figure{ overflow: hidden; border-radius: 45px;}
.list-cont figure img{ transition: all .5s ease; transform: scale(1);}
.list-cont h3{ position: relative; margin: 15px 0 0; font-weight: 500; font-size: 2.4rem;}
.list-cont h3:after{ position: absolute; right: 15px; bottom: 0; color: #6bbae4; content: counter(sec, decimal-leading-zero); font-weight: 400; font-size: 6.3rem; font-family: 'Oswald', sans-serif;}

@media screen and (max-width: 768px){
    .list-cont{ margin: 0 -10px; padding: 40px 0 0;}
    .list-cont > li{ padding: 0 10px;}
    .list-cont a{ padding: 0 0 15px;}
    .list-cont a:after{ position: absolute; top: -2rem; left: 50%; color: #6bbae4; content: counter(sec, decimal-leading-zero); font-weight: 400; font-size: 4rem; font-family: 'Oswald', sans-serif; transform: translate(-50%,0);}
    .list-cont a:before{ width: 100%;}
    .list-cont figure{ border-radius: 15px;}
    .list-cont h3{ margin: 10px 0 0; text-align: center; font-size: 1.6rem;}
    .list-cont h3:after{ content: none;}
}

.list-cont a:hover{ color: #e95383;}
.list-cont a:hover:before{ background: #e95383;}
.list-cont a:hover figure img{ transform: scale(1.1);}
.list-cont a:hover h3:after{ color: #e95383;}

/* お知らせ */
.list-info > li{ display: flex; padding: 45px 0; border-bottom: 1px solid #e1e1e1; line-height: 1.75; align-items: baseline;}
.list-info time{ width: 20%; color: #0099dc; font-weight: 500;}
.list-info .detail{ width: 80%;}
.list-info h3{ font-weight: 500;}
.list-info p{ font-size: 1.4rem;}
.list-info h3 + p{ padding: 15px 0 0;}

@media screen and (max-width: 768px){
    .list-info > li{ flex-direction: column; padding: 20px 0;}
    .list-info time{ width: 100%; font-size: 1.2rem;}
    .list-info .detail{ width: 100%;}
    .list-info p{ font-size: 1.2rem;}
    .list-info h3 + p{ padding: 10px 0 0;}
}

/* 汎用モジュール
--------------------------------------------------- */

/* タイトルパーツ */
.ttl{ position: relative; padding: 0 0 0 4.5rem; color: #0099dc; font-weight: 700; font-size: 3rem;}
.ttl:before{ position: absolute; top: 2px; left: 0; width: 3rem; height: 3rem; background: url("/img/ico_ttl2.svg") no-repeat 0 0 / contain; content: "";}

@media screen and (max-width: 768px){
    .ttl{ padding: 0 0 0 3rem; font-size: 2rem;}
    .ttl:before{ top: 1px; width: 2rem; height: 2rem;}
}

.ttl2{ position: relative; padding: 0 0 0 24px; font-weight: 700; font-size: 2.4rem; line-height: 1.2;}
.ttl2:after{ position: absolute; top: 0; left: 0; width: 10px; height: 100%; border-radius: 5px 5px 5px 5px; background: #0099dc; content: "";}
.ttl2 + figure,
.ttl2 + p{ margin: 45px 0 0;}

@media screen and (max-width: 768px){
    .ttl2{ padding: 0 0 0 20px; font-size: 1.8rem;}
    .ttl2:after{ width: 6px; border-radius: 3px 3px 3px 3px;}
    .ttl2 + figure,
    .ttl2 + p{ margin: 20px 0 0;}
}

/* リード文 */
.lead{ margin: 45px 0 0; line-height: 1.75;}

@media screen and (max-width: 768px){
    .lead{ margin: 20px 0 0;}
}

/* リスト文 */
.list{ margin: -15px 0 0 2.4rem; padding: 45px 0 0;}
.list > li{ list-style: disc;}
.list > li + li{ padding: 15px 0 0;}
.list strong{ color: #e95383;}

@media screen and (max-width: 768px){
    .list{ margin: -10px 0 0 2rem; padding: 20px 0 0;}
    .list > li{ padding: 10px 0 0;}
    .list > li + li{ padding: 10px 0 0;}
}

/* テーブル表 */
.type1{ margin: 45px 0 0; width: 100%; border: 6px solid #e1e1e1; line-height: 1.75;}
.type1 th{ padding: 21px 0; width: 20%; vertical-align: top; text-align: center;}
.type1 td{ padding: 21px 45px; width: 80%; border-left: 1px solid #e1e1e1; text-align: left;}
.type1 tr:nth-child(even) th,
.type1 tr:nth-child(even) td{ background: #ededed;}

@media screen and (max-width: 768px){
    .type1{ margin: 20px 0 0; border: 3px solid #e1e1e1;}
    .type1 th{ padding: 10px 0; width: 25%; white-space: nowrap;}
    .type1 td{ padding: 10px; width: 75%;}
}

.type2{ margin: 15px 0 0; width: 100%; letter-spacing: normal; font-size: 1.4rem;}
.type2 th{ padding: 0 0 10px; width: 25%; vertical-align: top; text-align: left;}
.type2 td{ padding: 0 0 10px 30px; width: 75%; border-left: 1px solid #6bbae4; vertical-align: top;}

@media screen and (max-width: 768px){
    .type2{ margin: 10px 0 0;}
    .type2 td{ padding: 0 0 10px 20px;}
}

.type3{ margin: 15px 0 0; width: 100%; border: 6px solid #e1e1e1; text-align: center; letter-spacing: normal; font-size: 2.4rem; line-height: 1;}
.type3 th{ padding: 15px 0; border-bottom: 1px solid #e1e1e1; border-left: 1px solid #e1e1e1; background: #fff; vertical-align: middle; text-align: center;}
.type3 td{ padding: 15px 0; border-bottom: 1px solid #e1e1e1; border-left: 1px solid #e1e1e1; background: #fff;color: #0099dc; vertical-align: middle; font-weight: 500; font-size: 3rem; font-family: 'Oswald', sans-serif; line-height: .75;}
.type3 td.avg{ background: #f3fff8; color: #00ad82;}
.type3 .blt th,
.type3 .blt td{ border-top: 6px solid #e1e1e1;}
.type3 .center{ text-align: center;}
.type3 .normal{ font-weight: 700; font-size: 2.4rem;}
.type3 small{ display: inline-block; margin: 0 0 0 .5rem; color: #000; font-weight: 400; font-size: 1.2rem;}
.type3 thead th{ width: 20%; border-left: 1px solid #e1e1e1; background: #6bbae4; color: #fff; font-weight: 700;}
.type3 thead th.avg{ background: #00ad82;}
.type3 thead tr th:first-child{ width: 40%;}
.type3 sup{ color: #f00;}
.type3 .rate{ display: flex; justify-content: center; align-items: baseline;}
.type3 .rate > span{ width: 50%; text-align: right;}
.type3 .rate > small{ width: 50%; text-align: left;}
.wrap-table + p{ margin: 10px 0 0; font-size: 1.4rem;}

@media screen and (max-width: 768px){
    .type3{ margin: 0; border: none; font-size: 1.4rem;}
    .type3 th{ padding: 10px; white-space: nowrap;}
    .type3 td{ padding: 10px 30px; white-space: nowrap; font-size: 1.8rem;}
    .type3 .blt th,
    .type3 .blt td{ border-top: 3px solid #e1e1e1;}
    .type3 .normal{ font-size: 1.4rem;}
    .type3 small{ font-size: .8rem;}
    .type3 thead th{ width: auto;}
    .type3 thead tr th:first-child{ width: auto;}
    .type3 .rate{ white-space: nowrap;}
    .type3 .rate > span{ width: 50%; text-align: right;}
    .type3 .rate > small{ width: 50%; text-align: left;}
    .wrap-table { overflow-x: scroll; -webkit-overflow-scrolling: touch; margin: 20px 0 0; border: 3px solid #e1e1e1;}
    .wrap-table::-webkit-scrollbar{ height: 5px;}
    .wrap-table::-webkit-scrollbar-track{ background: #F1F1F1;}
    .wrap-table::-webkit-scrollbar-thumb{ background: #BCBCBC;}
    .wrap-table + p{ font-size: 1.2rem;}
}

/* 下層ページ用
--------------------------------------------------- */

/* ヘッダー */
.bg{ margin: 0 calc(50% - 50vw); width: 100vw; height: 50vh; background: no-repeat top center / cover; content: "";}
.about .bg{ background-image: url("/img/bg_about.jpg");}
.tour .bg{ background-image: url("/img/bg_tour.jpg");}
.access .bg{ background-image: url("/img/bg_access.jpg");}
.report{ padding: 90px 0 0;}

@media screen and (max-width: 768px){
    .bg{ height: 50vw;}
    .report{ padding: 0;}
}

/* タイトルエリア */
article header{ position: relative; padding: 90px 0;}
.report header{ padding: 90px 0 45px;}
article header h1{ position: relative; padding: 0 0 0 4.5rem; color: #0099dc; font-weight: 700; font-size: 3rem;}
article header h1:before{ position: absolute; top: 2px; left: 0; width: 3rem; height: 3rem; background: url("/img/ico_ttl2.svg") no-repeat 0 0 / contain; content: "";}
article header .dl{ position: absolute; top: 90px; right: 0;}
article header .dl a{ position: relative; display: inline-block; padding: 0 0 18px; color: #6cad46; text-decoration: none; font-weight: 700; font-size: 2.4rem; line-height: 1;}
article header .dl a:after{ position: absolute; bottom: 0; left: 0; width: 100%; height: 6px; border-radius: 3px; background: #6cad46; content: "";}
article header .dl i{ display: inline-block; margin: 0 0 0 .5rem; width: 30px;}
article header .dl i img{ vertical-align: bottom;}

@media screen and (max-width: 768px){
    article header{ padding: 40px 0 40px;}
    .report header{ padding: 120px 0 40px;}
    article header h1{ padding: 0 0 0 3rem; font-size: 2rem;}
    article header h1:before{ top: 1px; width: 2rem; height: 2rem;}
    article header .dl{ position: relative; top: auto; right: auto; margin: 20px 0 0;}
    article header .dl a{ display: block; padding: 20px; border-radius: 10px; background: #6cad46; color: #fff; text-align: center; font-size: 1.4rem;}
    article header .dl a:after{ content: none;}
    article header .dl i{ width: 20px;}
}

/* コンテンツエリア・レイアウト */
.content{ line-height: 1.75;}
.content > section:first-child{ margin: 0;}

@media screen and (max-width: 768px){
}

/* 施設案内 */
.list-row2{ display: flex; justify-content: space-between; flex-wrap: wrap;}
.list-row2 > li{ padding: 45px 0 0; width: calc(50% - 30px);}
.about h3{ padding: 12px 0; background: #6bbae4; color: #fff; text-align: center; font-weight: 700; line-height: 1;}

@media screen and (max-width: 768px){
    .list-row2{ flex-direction: column;}
    .list-row2 > li{ padding: 40px 0 0; width: 100%;}
    .about h3{ padding: 10px 0;}
}

.flex{ display: flex; padding: 45px 0 0; justify-content: space-between;}
.flex > div{ width: calc(50% - 30px);}
.flex > figure{ width: calc(50% - 30px);}
.thermal h3{ background: #eb7132;}
.thermal .type2 td{ border-left: 1px solid #eb7132;}
.materials h3{ background: #00ad82;}
.materials .type2 td{ border-left: 1px solid #00ad82;}

@media screen and (max-width: 768px){
    .flex{ flex-direction: column; padding: 40px 0 0;}
    .flex > div{ width: 100%;}
    .flex > figure{ width: 100%;}
    .thermal .type2{ margin: 0;}
    .thermal .type2 th{ padding: 10px 0; width: 30%; border-bottom: 1px dotted #e1e1e1;}
    .thermal .type2 td{ padding: 10px 0 10px 20px; width: 70%; border-bottom: 1px dotted #e1e1e1;}
    .materials .type2{ margin: 0;}
    .materials .type2 th{ padding: 10px 0; width: 30%; border-bottom: 1px dotted #e1e1e1;}
    .materials .type2 td{ padding: 10px 0 10px 20px; width: 70%; border-bottom: 1px dotted #e1e1e1;}
}

/* 見学申し込み */
.box{ padding: 60px; border: 6px solid #e1e1e1; text-align: center; font-weight: 700;}
.box .btn{ margin: 15px 0 0; text-align: center;}
.box .btn a{ display: inline-block; padding: 15px 30px; border-radius: 30px; background: #6cad46; color: #fff; text-decoration: none; line-height: 1;}
.box .btn i{ display: inline-block; margin: 0 0 0 .5rem; width: 16px;}
.box .btn a:hover{ background: #e95383;}

@media screen and (max-width: 768px){
    .box{ padding: 0; border: none; text-align: left;}
    .box .btn{ margin: 20px 0 0;}
    .box .btn a{ display: block; padding: 20px; border-radius: 10px; line-height: 1.75;}
    .box .btn i{ width: 14px;}
    .box .btn i img{ vertical-align: middle;}
}

/* アクセス */
.access dl{ display: flex; align-items: center;}
.access dt{ display: flex; padding: 0 10px; height: 24px; border-radius: 0 12px 12px 0; background: #6bbae4; color: #fff; font-weight: 700; font-size: 1.2rem; line-height: 1; align-items: center;}
.access dd{ padding: 0 0 0 .9rem;}
.access dl + figure{ margin: 15px 0 0;}
.access figure{ border: 6px solid #e1e1e1;}
.access .map iframe{ width: 100%; height: 450px; vertical-align: bottom;}

@media screen and (max-width: 768px){
    .access dl{ flex-direction: column; padding: 10px 0 0; align-items: flex-start;}
    .access dt{ position: relative; padding: 5px; height: auto; border-radius: 0 15px 15px 0; white-space: nowrap;}
    .access dt:after{ position: absolute; top: 50%; left: 0; z-index: -1; width: calc(100vw - 40px); height: 1px; background: #6bbae4; content: ""; transform: translate(0,-50%);}
    .access dd{ padding: 5px 0 0; font-size: 1.2rem;}
    .access dl + figure{ margin: 20px -20px 0;}
    .access figure{ margin: 20px -20px 0; border: none;}
    .access .map iframe{ height: 225px;}
}

/* --------------------------------------------------
 フッターエリア
--------------------------------------------------- */
.footer{ background: #6bbae4; color: #fff; font-size: 1.4rem; line-height: 1.5;}
.footer > div{ display: flex; margin: 0 auto; padding: 30px 0; width: 1100px; justify-content: space-between;}
.footer dt{ position: relative; padding: 0 0 0 20px; font-weight: 500; font-size: 1.6rem;}
.footer dt:before{ position: absolute; top: 6px; left: 0; width: 14px; height: 14px; background: url("/img/ico_ttl2_w.svg") no-repeat 0 0 / contain; content: "";}
.footer dd{ padding: 9px 0 0;}

@media screen and (max-width: 768px){
    .footer{ font-size: 1.2rem;}
    .footer > div{ flex-direction: column; padding: 20px; width: 100%;}
    .footer dt{ padding: 0 0 0 20px; font-size: 1.2rem;}
    .footer dt:before{ top: 4px; width: 1.4rem; height: 1.4rem;}
    .footer dd{ padding: 10px 0 0;}
    .footer small{ padding: 20px 0 0; text-align: center; font-size: 1rem;}
}