@charset "utf-8";
/* CSS Document */

/* ===================================================================
 Reset
=================================================================== */

*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
 margin: 0; padding: 0; border: 0; font-weight: normal; font-size: 100%; vertical-align:baseline; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
article, header, footer, aside, figure, figcaption, nav, section { display:block; }
figure {padding: 0; margin: 0 0 1em 0;}
html { scroll-behavior:smooth; }
body { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
table { border-collapse: collapse; border-spacing: 0;}


/* Layout
=================================================================== */
html { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
*, :before, :after { -webkit-box-sizing:inherit; -moz-box-sizing:inherit; box-sizing:inherit;}

@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium");}
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Bold"); font-weight: bold;}

body { padding:0; margin:0 auto; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif; color: #222; font-size:16px; line-height:1.5; letter-spacing: 0.1em; background-image: linear-gradient(0deg, transparent calc(100% - 1px), #F5F5F5 calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #F5F5F5 calc(100% - 1px)); background-size: 16px 16px; background-repeat: repeat; background-position: center center; background-color: #FFF;}
#wrap {overflow: hidden;}
/* Chrome でのみフォントを太めに表示する */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  * { text-shadow: transparent 0 0 0, rgba(0, 0, 0, .7) 0 0 0 !important;}
}

@media only screen and (min-width: 960px) { 
    .tel { pointer-events:none}
}

p { margin:0 0 1em; padding:0; }
img { max-width:100%; height: auto; margin:0; padding:0; -ms-interpolation-mode: bicubic; border: 0; vertical-align: middle;}
.f-15 {font-size: 15px;}
.f-18 {font-size: 18px;}
.f-20 {font-size: 20px;}

@media screen and (max-width:959px){
    .f-15 {font-size: 14px;}
    .f-18 {font-size: 16px;}
    .f-20 {font-size: 17px;}
}

ul,ol { list-style-type:none;}

.alignleft { display:inline; float:left; margin-right:1.5em;}
.alignright { display:inline; float:right; margin-left:1.5em;}
.aligncenter { clear:both; display:block; margin-left:auto; margin-right:auto; text-align: center;}

.clear { clear: both;}
.clear:after { content:" "; display:block; clear:both;}

a.btn { position: relative; width: 330px; max-width: 90%; height: 60px; margin: 0 auto; padding: 20px 0 19px 0; font-size: 18px; font-weight: bold; background: ; color: #FFF; text-align: center; line-height: 1; display: block; text-decoration: none;
 background-image: linear-gradient(0deg, transparent calc(100% - 1px), #199ECE calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #199ECE calc(100% - 1px)); background-size: 16px 16px; background-repeat: repeat; background-position: center center; background-color: #0094CA; border-radius:10px;}
a.btn:after { position: absolute; right: 10px; top: 15px; font-family: "Font Awesome 6 Free"; content: "\f103"; font-size:19px; font-weight: 900; color: #333; width:36px; height:36px; line-height:38px; background-color: #fff; border-radius: 50%; text-align: center;}
a,
a:visited { text-decoration: none; -webkit-transition: 0.3s; transition: 0.3s;}
a:focus { }
a:hover,
a:active { opacity:0.7; filter: alpha(opacity=70);}

@media only screen and (min-width: 960px) {
    .flex {display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-pack:justify; justify-content:space-between; align-items:center;}
    .RtoL { -webkit-flex-direction: row-reverse; flex-direction: row-reverse;}
}

/* ===================================================================
 Header
=================================================================== */
#site-head { position:fixed; top: 15px; right: 0; width: 94%; max-width: 1670px; height: 94px; padding: 12px 12px 12px 20px; background: rgba(255,255,255,0.85); text-align: center; border-radius: 12px 0 0 12px; z-index:99999;}
#site-head #head-area { margin: 0 auto;}
#site-head #head-area .logo { width:300px; float:left; margin-top:-4px; padding:0;}
#site-head #head-area .logo img { width:100%;}
#site-head #head-area #head { float: right; width: calc(100% - 300px); margin: 0 auto;}

@media screen and (max-width:1560px){
    #site-head #head-area .logo { width:250px; padding-top: 7px;}
}

@media screen and (max-width:960px){
    #site-head { height:60px; padding:10px;}
    #site-head #head-area .logo { width: 175px; padding-top: 1px;}
}

@media screen and (max-width:360px){
    #site-head #head-area .logo { width: 140px; padding-top: 6px;}
}

/*--------------------------------------------------------------
 Navigation
--------------------------------------------------------------*/
#head-nav ul{ }
#head-nav ul li { list-style-type:none; }
#head-nav ul li a { font-size:16px; }

@media screen and (min-width:960px) {
    #head-nav { width:calc(100% - 720px); max-width:720px; position: absolute; right: 430px; top:12px; margin:0 auto; padding:0;}
    #head-nav:after { content:" "; display:block; clear:both;}
    #head-nav ul{ height: 70px; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-pack:justify; justify-content:space-between; align-items:center;}
    #head-nav ul li { display:table; line-height:1; cursor:pointer; flex-grow:1; position:relative; text-align:center;}
    #head-nav ul li a { display: block; color: #222; position: relative; display:table-cell; vertical-align:middle; text-align:center; text-decoration: none;}
    #head-nav ul li a:hover { color: #777; -webkit-transition: all .5s; transition: all .5s;}
    #head-nav ul li a::after { position: absolute; bottom: -10px; left: 0; content: ''; width: 100%; height: 5px; background:#F5ED2F; transform: scale(0, 1); transform-origin: center top; transition: transform .3s;}
    #head-nav ul li a:hover::after { transform: scale(1, 1);}
}

@media screen and (max-width:959px){
    #head-nav { width: 100%; margin:0 auto; padding:0;}
    #head-nav ul { width: 100%; margin:0 auto; list-style-type:none;}
    #head-nav ul li { color: #fff; }
    #head-nav ul li a{ display:block; margin:0 auto; padding:10px 2px; border-bottom: 1px solid #fff; color: #fff; text-decoration: none; text-align: center;}
    #head-nav ul li a:hover { color: #fff; opacity:1; filter: alpha(opacity=100); background-color:rgba(0,148,202,1);}
}

#head .head-bt { position: absolute; width:420px; right: 12px; top:12px; margin:0 auto; padding:0;}
#head .head-bt a { float: left; height: 70px; text-align: center; line-height: 1.2; display: block;}
#head .head-bt a:hover{ opacity:0.8; filter: alpha(opacity=80);}

#head .head-bt .nav-tel a{ width:260px; padding:13px 15px 0 0; font-size:25px; font-weight: bold; color:#0094CA; line-height: 0.8; text-align: right;}
#head .head-bt .nav-tel a i {padding-right: 3px; font-size: 21px;}
#head .head-bt .nav-tel span.number { font-size:25px; vertical-align: middle;}
#head .head-bt .nav-tel span.open { font-size:13px; color:#212121; letter-spacing: 0.07em;}
#head .head-bt .nav-mail a { width: 160px; height: 70px; padding:15px 0 0 0; font-size: 15px; background:#F5ED2F; color: #000; letter-spacing: 0.05em;}
#head .head-bt .nav-mail a i { padding-bottom: 3px; font-size: 22px;}

@media screen and (max-width:959px){
    #head .head-bt { width: 88px; right: 56px; top:10px;}
    #head .head-bt a { height: 40px;}
    #head .head-bt .nav-tel a{ margin: 0 2px 0 0; height: 42px; width: 42px; padding:0; border-radius: 50%; color:#FFF; background:#0094CA; text-align: center;}
    #head .head-bt .nav-tel a i { margin: 0 auto; padding:0; font-size: 21px; line-height:42px;}
    #head .head-bt .nav-tel span{display: none;}
    #head .head-bt .nav-tel br { display: none;}
    #head .head-bt .nav-mail br,
    #head .head-bt .nav-mail span{display: none;}
    #head .head-bt .nav-mail a{ margin:0 auto; height: 42px; width: 42px; padding: 0; border-radius: 50%; letter-spacing: 0; text-align: center;}
    #head .head-bt .nav-mail a i { margin: 0 auto; padding:0; font-size: 23px; line-height:42px;}
}

/*--------------------------------
 Header SP
----------------------------------*/
@media screen and (min-width:960px){
    #site-head .hidden_box input,
    #site-head .hidden_box label { display: none;}
}

@media screen and (max-width:959px){
    #site-head .hidden_box { width: 100%; position: absolute; top:40px; right: 0; margin: 0; padding: 0; z-index: 90000;}
    #site-head .hidden_box label { padding: 0; width:40px; height: 40px; position: absolute; top:-30px; right: 10px; font-weight: bold; cursor :pointer; transition: .8s; background: url("../images/menu_open.png") no-repeat 0 0; background-size: 40px 40px;}
    #site-head .hidden_box label span { width: 40px; height: 40px;}
    #site-head .hidden_box label:before {}
    #site-head .hidden_box label:hover { background: url("../images/menu_hover.png") no-repeat 0 0; background-size: 40px 40px;}
    #site-head .hidden_box input:checked ~ label { background: url("../images/menu_close.png") no-repeat 0 0; background-size: 40px 40px;}
    #site-head .hidden_box input { display: none;}
    #site-head .hidden_box .hidden_show { width: 100%; height: 0; padding:0; background-color:rgba(0,148,202,0.9); overflow: hidden; opacity: 0; transition: 0.8s; margin-top: 20px;}
    #site-head .hidden_box input:checked ~ .hidden_show { padding: 0; height: auto; opacity: 1;}
}

/* パンくずリスト
=================================================================== */
#pankuzu { width:100%; max-width:1260px; margin:8px auto 0 auto; padding:0 5px; font-size: 11px;}
#pankuzu a { color: #000; text-decoration: underline;}
#pankuzu:after { content:" "; display:block; clear:both;}

#mv { width: 100%; height: 900px; margin: 0; text-align: center; position: relative;}
#mv .mv-txt { position: absolute; width: 94%; top: 50%; left: 0; right: 0; margin-left:auto; margin-right: auto; letter-spacing: 0.12em;}
#mv .mv-txt h2 { font-size:52px; font-weight: bold; text-align: center; color: #212121; position: relative; }
#mv .mv-txt h2:before { content: ''; width: 180px; height: 175px; background: url("../images/mv_mark.png") no-repeat; background-size: contain; position: absolute; top: -50px; margin-left: -285px;}
#mv .mv-txt p { font-size: 21px;}
#mv img.mv-img { width: 100%; height: 900px; object-fit: cover; }

@media screen and (max-width:959px){
    #mv { height: 500px; }
    #mv .mv-txt { top: 55%;}
    #mv .mv-txt h2 { font-size:32px;}
    #mv .mv-txt h2:before { position: absolute; top:-180px; right: 0; left: 0; margin: 0 auto;}
    #mv .mv-txt p { font-size: 18px;}
    #mv img.mv-img { height: 500px;}
}

@media screen and (max-width:640px){
    #mv { height: 360px; }
    #mv .mv-txt h2 { font-size:21px;}
    #mv .mv-txt h2:before { width: 90px; height: 88px; top:-100px;}
    #mv .mv-txt p { font-size: 16px;}
    #mv img.mv-img { height: 360px;}
}

#title { width: 100%; height:320px; margin: 0; text-align: center; position: relative;}
#title .title-txt { position: absolute; width: 94%; top: 50%; left: 0; right: 0; margin-left:auto; margin-right: auto; letter-spacing: 0.12em;}
#title .title-txt h2 { font-size:52px; font-weight: bold; text-align: center; color: #212121; position: relative; }
#title .title-txt h2:before { content: ''; width:130px; height:126px; background: url("../images/mv_mark.png") no-repeat; background-size: contain; position: absolute; top: -36px; margin-left: -150px;}
#title .title-txt p { font-size: 21px;}
#title img.title-img { width: 100%; height: 320px; object-fit: cover; }

@media screen and (max-width:640px){
    #title { height: 220px; }
    #title .title-txt h2 { font-size:36px; margin-top:13px;}
    #title .title-txt h2:before { width: 90px; height: 88px; top: -30px; margin-left: -100px; }
    #title img.title-img { height: 220px;}
}


/* ===================================================================
 main
=================================================================== */
#main { clear: both; width: 100%; margin:0 auto; padding:60px 0 0 0; text-align: center;}
#main section {}
#main ul {}
#main ul li {}

#news-list { width:90%; max-width: 1200px; margin: 0 auto; padding:40px 0 80px 0;}
#news-list section.flex { padding: 0; align-items: flex-start;}
#news-list .txt { max-width:100%;}
#news-list h3 { width: 4.3em; font-size: 33px; font-weight: bold; color: #006699; position: relative; display: inline-block; margin: 0 0 1em 0; padding-bottom:0.6em; text-align:center;}
#news-list h3::after { content: ''; position: absolute; bottom: 0; left: 0; right:0; width: 42px; height: 14px; margin: 0 auto; background-image: repeating-linear-gradient(45deg, #7FB2CC 0px, #7FB2CC 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%), repeating-linear-gradient(135deg, #7FB2CC 0px, #7FB2CC 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%); background-size: 14px 14px; text-align:center;}
#news-list dl,
#news-list dt,
#news-list dd { box-sizing: border-box; text-align: left;}
#news-list dl { width:calc(100% - 330px); margin:0; background: #F0F6F9; text-align: center; border-bottom: 1px solid #99C2D6; }
#news-list dt,
#news-list dd { padding: 1em 0.5em 0 1em; border-top: 1px solid #99C2D6;}
#news-list dt { width:160px; float: left; color: #006699;}
#news-list dd { background: #FFF; margin-left:160px; padding-bottom:1em; }
#news-list dd:after { content: ''; display: block; clear: both;}
#news-list dl a{ color: #000;}
#news-list dl a:hover{ color: #000; text-decoration: underline;}

#news-list a.btn-news { position: relative; width: 260px; max-width: 90%; height: 60px; margin: 0 auto; padding: 20px 0 19px 10px; font-size: 18px; font-weight: bold; background: ; color: #FFF; text-align: center; line-height: 1; display: block; text-decoration: none;
 background-image: linear-gradient(0deg, transparent calc(100% - 1px), #199ECE calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #199ECE calc(100% - 1px)); background-size: 16px 16px; background-repeat: repeat; background-position: center center; background-color: #0094CA; border-radius:10px;}
#news-list a.btn-news:after { font-family: "Font Awesome 6 Free"; content: "\f303"; margin-left: 5px; font-size:19px; font-weight: 900; color: #fff; }

@media only screen and (max-width:959px) {
    #news-list a.btn-news { float: right; width:180px; height: 50px; margin:20px auto 0 auto; padding: 15px 0 12px 10px; font-size:16px; }
    #news-list dl { width:100%;}
}

@media only screen and (max-width:640px) {
    #news-list dl { width:100%;}
    #news-list dt,
    #news-list dd { width:100%; padding: 0.5em; }
    #news-list dt { float:none; }
    #news-list dd { margin-left:0; padding-bottom:1em; }
}

/* お知らせページ
=================================================================== */
#news a{ color: #0092CA;}
#news h3 { width: 4.3em; font-size: 33px; font-weight: bold; color: #006699; position: relative; display: inline-block; margin: 0 0 1em 0; padding-bottom:0.6em; text-align:center;}
#news h3::after { content: ''; position: absolute; bottom: 0; left: 0; right:0; width: 42px; height: 14px; margin: 0 auto; background-image: repeating-linear-gradient(45deg, #7FB2CC 0px, #7FB2CC 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%), repeating-linear-gradient(135deg, #7FB2CC 0px, #7FB2CC 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%); background-size: 14px 14px; text-align:center;}

#news .post { max-width: 94%; width: 1200px; margin: 0 auto 50px auto; padding: 50px 50px 30px 50px; text-align: left; background: #FFF; border-radius: 20px; border: 1px solid #99C2D6;}
#news .post:after { content:" "; display:block; clear:both;}
#news .post .day { width:8em; float: left; color: #006699; margin-top:5px; padding-top: 200px; margin-top: -200px;}
#news .post h4 { font-size: 21px; font-weight: bold; border-bottom: 2px solid #006699; margin-bottom:30px;}
#news .post .entry { }
#news .post .entry img { float: left; width: 45%; margin-right: 30px; margin-bottom: 30px;}
#news .post .link {clear: both; border-top: 1px dashed #99C2D6; padding: 20px 0 0 0; text-align: right;}
#news .post .link i { margin: 0 3px; font-size: 14px;}
#news .post .link .pdf a { padding: 5px 25px 0 8px; background: url("../images/ico_pdf.png") no-repeat right 50%;}

#news .nxt-prv-list { max-width: 94%; width: 1200px; text-align: right; margin: 0 auto; padding: 20px 0;}
#news .nxt-prv-list i { margin: 0 4px; font-size: 14px;}

@media only screen and (max-width:640px) {
    #news .post { padding: 30px 30px 20px 30px; }
    #news .post .entry img { float:none; width: 100%;}
}

/* ごあいさつ
=================================================================== */
#greeting { width: 90%; max-width: 1200px; margin:0 auto 60px auto; padding: 5% 0 20px 70px; border-radius: 20px; background:#FFF url("../images/greeting_bg.jpg") no-repeat top right; border: 1px solid #333;}
#greeting h3 { font-size: 19px; font-weight: bold; margin-bottom: 1.5em; text-align: left;}
#greeting h3 strong{ color:#0093CA;}
#greeting h3 span{ font-size: 19px; font-weight: bold; display: inline-block; background: linear-gradient(transparent 50%, #F0FF49 50%);}
#greeting p { font-size: 17px; font-weight: bold; text-align: left;}

@media only screen and (min-width: 960px) {
    #greeting { min-height: 370px; padding-right: 20%;}
}

@media only screen and (max-width: 959px) {
    #greeting { padding:40px 40px 20px 40px; }
    #greeting p { font-size: 16px;}
}

@media only screen and (max-width:640px) {
    #greeting { background-size: auto 100%; background-position: left;}
    #greeting h3 { font-size: 17px; }
    #greeting h3 span{ font-size: 18px;}
    #greeting p { font-size: 16px;}
}

#support { clear: both; text-align: center; padding-bottom: 50px; padding-top: 120px; margin-top: -120px;}
#support h3 { margin: 0 auto 1.5em auto; padding: 0 0.5em; font-size: 41px; font-weight: bold; color: #006699; display: inline-block; background: linear-gradient(transparent 50%, #F0FF49 50%); text-align: center;}
#support p { padding: 0 15px; font-size: 20px;}

@media only screen and (max-width: 959px) {
    #support h3 { font-size: 31px;}
    #support p { font-size: 17px;}
}

#type-a { width: 94%; margin-right: 6%; padding: 100px 12.5% 150px 0; background: #006699; border-radius: 0 50px 50px 0; }
#type-a section.flex { margin-left: 18.75%; max-width: 100%; width: 1200px; padding: 100px 50px 100px 0; align-items: flex-start;}
#type-a .box { max-width: 100%; width: 1560px; background: #FFF url("../images/type_a_bg.jpg") no-repeat left top; border-radius: 0 40px 40px 0;}
#type-a .box h4 { margin-bottom: 1.5em; font-size: 37px; font-weight: bold; color:#006699;}
#type-a .box h4 span { font-size:110.8%; font-weight: bold; position: relative; color: #FFF; display: inline-block; width: 51px; height: 51px; border-radius: 50%; background:#006699; text-align:center; line-height: 51px;} 
#type-a .box .txt { max-width:100%;}
#type-a .box .txt p { background: #99C2D6; padding:35px 20px; border-radius:15px; text-align: left; font-weight: bold;}
#type-a .box .hyou { max-width: 100%;}
#type-a dl,
#type-a dt,
#type-a dd { box-sizing: border-box; text-align: left;}
#type-a dl { width:100%; margin: 0 auto; background: #F0F6F9; text-align: center; border-bottom: 1px solid #99C2D6; }
#type-a dt,
#type-a dd { padding: 0.5em 1em 0 1em; border-top: 1px solid #99C2D6;}
#type-a dt { width:17.5%; float: left;}
#type-a dd { background: #FFF; margin-left:17.5%; padding-bottom: 0.5em; }
#type-a dd:after { content: ''; display: block; clear: both;}

@media only screen and (max-width: 1800px) { 
    #type-a { width: 98%; margin-right:0; padding-right: 6%; }
    #type-a section.flex { margin-left: auto;}
    #type-a .box { padding:0 0 0 20px; }
    #type-a .box h4 { font-size: 27px;}
}

@media only screen and (min-width: 960px) {
    #type-a .box .txt { max-width:22.61%; width: 260px;}
    #type-a .box .hyou { max-width: 69.57%; width: 800px;}
}

@media only screen and (max-width: 640px) { 
    #type-a { padding-top: 50px; padding-bottom:80px; }
    #type-a section.flex { padding: 50px 20px 50px 0; }
    #type-a dt { width: 100%; float: none; padding-bottom: 0.5em; }
    #type-a dd { margin-left: 0; border-left: none;}
}

#flow { clear: both; text-align: center; margin: 0 auto; padding-bottom: 40px; padding-top: 180px; margin-top: -100px;}
#flow h3 { margin: 0 auto 1.5em auto; padding: 0 0.5em; font-size: 41px; font-weight: bold; color:#006699; display: inline-block; background: linear-gradient(transparent 50%, #F0FF49 50%); text-align: center;}

#flow section { width: 94%; max-width: 1200px; margin: 0 auto; padding: 70px; background:#F0F6F9 url("../images/flow_bg.png") no-repeat center top 170px; border-radius:20px; background-size: auto 90%;}
#flow section h4 { font-size: 30px; font-weight: bold; color: #006699; position: relative; display: inline-block; margin: 0 auto 2em auto; padding-bottom:0.7em; text-align: center;}
#flow section h4 span { font-size:47px; font-weight: bold; position: relative; color: #FFF; display: inline-block; width: 51px; height: 51px; border-radius: 50%; background: #006699; text-align:center; line-height: 51px;}
#flow section h4::after { content: ''; position: absolute; bottom: 0; left: 0; right:0; width: 48px; height: 16px; margin: 0 auto; background-image: repeating-linear-gradient(45deg, #7FB2CC 0px, #7FB2CC 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%), repeating-linear-gradient(135deg, #7FB2CC 0px, #7FB2CC 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%); background-size: 16px 16px;}
#flow h5 { font-size: 18px; font-weight: bold;}
#flow section .box { width:100%; margin-bottom: 25px; padding: 20px; background: #FFF; border: 1px solid #D6D6D6; border-radius: 10px;}
#flow section .box img { width: 100px; }
#flow section .box h5 { width: 150px;}
#flow section .box p { width: calc(100% - 300px); text-align: left; margin-bottom: 0;}

@media only screen and (max-width: 959px) {
    #flow { padding-bottom: 0; padding-top: 130px; margin-top: -50px;}
    #flow h3 { font-size: 31px;}
    #flow h4　{ font-size: 20px;}
    #flow h4 span{ font-size: 37px; width: 41px; height: 41px; line-height: 41px;}
    #flow section { padding: 20px 10px; }
    #flow section p { font-size: 14px;}
    #flow section .box p { width:100%; }
}

#aboutus { padding-bottom: 80px; padding-top: 180px; margin-top: -100px;}
#aboutus h3 { margin: 0 auto 1.5em auto; padding: 0 0.5em; font-size: 41px; font-weight: bold; color: #006699; display: inline-block; background: linear-gradient(transparent 50%, #F0FF49 50%); text-align: center;}
#aboutus section{ width: 100%; max-width: 1200px; margin: 0 auto;}
#aboutus .box { width: calc(100% - 20px); margin-left: 20px; padding: 30px 0; background: #FFF; border: 1px solid #D6D6D6; border-radius: 10px;}
#aboutus h4 { width: 100%; margin-left: -20px; margin-bottom: 50px; padding:5px 1em; background:#333; color:#FFF; font-size:31px; font-weight: bold; text-align: left; }
#aboutus .flex { width: 94%; margin-left: auto; margin-right: auto;}

#aboutus #profile { margin-bottom: 50px;}
#aboutus #profile .photo { width: 35%;}
#aboutus #profile .txt { width:52%; margin: 0 auto; text-align: left;}
#aboutus #profile dl,
#aboutus #profile dt,
#aboutus #profile dd { box-sizing: border-box; text-align: left;}
#aboutus #profile dl { width:100%; max-width: 600px; margin: 0 auto; text-align: center; border-bottom: 1px solid #BBB; }
#aboutus #profile dt,
#aboutus #profile dd { padding: 0.8em 1em 0 1em; border-top: 1px solid #BBB;}
#aboutus #profile dt { width:7em; float: left; font-weight: bold;}
#aboutus #profile dd { background: #FFF; margin-left:7em; padding-bottom: 0.8em; }
#aboutus #profile dd:after { content: ''; display: block; clear: both;}

@media only screen and (max-width: 959px) {
    #aboutus { padding-bottom: 40px; padding-top: 130px; margin-top: -50px;}
    #aboutus h3 { font-size: 31px;}
    #aboutus h4 { font-size:25px;}
    #aboutus .box { width: 94%; margin:0 auto;}
    #aboutus #profile .photo { width: 100%; margin: 0 auto;}
    #aboutus #profile .txt { width: 100%; margin: 0 auto;}
}

@media only screen and (max-width: 480px) {
    #aboutus #profile dt { width: 100%; float: none; padding-bottom: 0.5em; }
    #aboutus #profile dd { margin-left: 0; border-left: none;}
}
#aboutus #access { padding-top: 120px; margin-top: -120px;}
#aboutus #access .txt { width: 35%; text-align: left; font-size: 15px; }
#aboutus #access .txt h5 { margin-bottom: 0.7em; font-size: 19px; font-weight: bold; border-bottom: 1px solid #333;}
#aboutus #access .txt h6 { margin:30px 0 0.7em 0; font-size: 15px; font-weight: bold; border-bottom: 1px solid #333;}
#aboutus #access .txt p.add { font-size: 18px;}
#aboutus #access .txt p.trn { font-size: 15px; letter-spacing:0.05em;}
#aboutus #access .map{ position:relative; width:52%; height:400px; margin: 0 auto;}
#aboutus #access .map iframe { position:absolute; top:0; left:0; width:100%; height: 100%;}

@media only screen and (max-width: 959px) {
    #aboutus #access .txt { width: 100%; margin: 0 auto;}
    #aboutus #access .map { width: 100%; margin: 0 auto 30px auto;}
    #aboutus #access.flex { margin-bottom: 0;}
}

@media only screen and (max-width: 640px) {
    #aboutus #access .txt p.add { font-size: 16px;}
    #aboutus #access .txt p.trn { font-size: 14px;}
}

#contact{ padding:60px 0 0 0; margin:0 auto; font-size:16px; line-height:1.5; letter-spacing: 0.1em; background-image: linear-gradient(0deg, transparent calc(100% - 1px), #0E6E9E calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), #0E6E9E calc(100% - 1px)); background-size: 16px 16px; background-repeat: repeat; background-position: center center; background-color: #006699; text-align: center;}
#contact h3 { color: #fff; font-size: 36px; font-weight: bold; position: relative; display: inline-block; margin: 0 auto 1em auto; padding-bottom:0.5em; text-align: center;}
#contact h3::after { content: ''; position: absolute; bottom: 0; left: 0; right:0; width: 48px; height: 16px; margin: 0 auto; background-image: repeating-linear-gradient(45deg, #F0FF49 0px, #F0FF49 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%), repeating-linear-gradient(135deg, #F0FF49 0px, #F0FF49 2px, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 50%); background-size: 16px 16px;}
#contact section { width: 90%; max-width: 1200px; margin: 0 auto 20px auto;}
#contact section.flex { justify-content: center; align-items: center;}
#contact section a { color: #222;}

.contact-tel { position: relative; width: 50%; height: 200px; padding: 0; background: #FFF; border-radius: 30px 0 0 30px; font-size: 17px; text-align: left; line-height: 1.2; display: table;}
.contact-tel p { display: table-cell; vertical-align: middle; padding-left:32%;}
.contact-tel span { font-size: 30px; font-weight: bold;}
.contact-tel:before { position: absolute; top: 35%; left:20%; font-family: "Font Awesome 6 Free"; content: "\f879"; font-size:43px; font-weight: 900; color:#333;}
.contact-mail { position: relative; width: 50%; height: 200px; padding: 0; background: #F0FF49; border-radius: 0 30px 30px 0; text-align: left; display: table; }
.contact-mail p { display: table-cell; vertical-align: middle; padding-left:32%; font-size: 25px; font-weight: bold;}
.contact-mail p i { vertical-align: top; font-size: 17px; color:#333;}
.contact-mail:before { position: absolute; top: 33%; left:20%; font-family: "Font Awesome 6 Free"; content: "\f0e0"; font-size:43px; font-weight: 900; color:#333; text-align: center;}

@media only screen and (max-width:959px) {
    #contact h3 { font-size: 31px;}
    .contact-tel { margin: 0 auto 20px auto; max-width: 100%; width: 600px; height: 200px; border-radius: 30px;}
    .contact-mail { margin: 0 auto; max-width: 100%; width: 600px; height: 200px; border-radius: 30px;}
}

@media only screen and (max-width:720px) {
    .contact-tel { width: 380px; height: 140px; font-size: 16px;}
    .contact-tel p { padding-left:22%;}
    .contact-tel span { font-size: 20px;}
    .contact-tel:before { left:10%; font-size:33px; }
    .contact-mail { width: 380px; height: 140px; font-size: 16px;}
    .contact-mail p { padding-left:22%; font-size: 20px; }
    .contact-mail:before { left:10%; font-size:33px; }
}

/* ===================================================================
 FOOTER
=================================================================== */
#site-foot { clear: both; text-align: center; background: #555;} 
#site-foot:after { content:" "; display:block; clear:both;}
.foot { width: 94%; max-width: 1400px; margin: 0 auto; padding: 30px 0 0 0;}
.foot-add { width: 360px; float: left; font-size: 17px; text-align: left;}
.foot-add img { max-width: 100%; }
.foot-add a.tel { font-size: 20px; font-weight: bold; color: #000; text-decoration: none;}
.foot-nav { width: 770px; float: right; text-align: left; line-height: 1.6;}
.foot-nav ul { margin-bottom: 1em;}
.foot-nav ul li{ display: inline-block;}
.foot-nav ul li a { font-size:16px; margin-right: 1em; color: #fff; background: url("../images/foot_nav.gif") no-repeat left 2px; padding-left: 1.6em;}
.foot-nav ul li.child a{ font-weight: normal; font-size:15px; margin-left: 0.4em; margin-right: 0.4em; position: relative; background: none;}
.foot-nav ul li.child a::before { position: absolute; top:-0.2em; left:0; content: "-";}
.foot-nav a i { font-size: 24px; font-weight: normal; vertical-align: middle;}

@media only screen and (max-width: 1400px) { 
    .foot-add { width: 26%; font-size: 16px;}
    .foot-nav { width: 70%;}
}

@media only screen and (max-width: 960px) { 
	.foot-add { width: 100%; float: none; text-align: center;}
    .foot-nav { width: 100%; float: none; margin: 0 auto;}
    .foot-nav ul li a { margin-right: 0; padding-left: 0.7em;}
    .foot-nav ul li{ width: 31%;}
    .foot-nav ul li.child a{ margin-left: 0;}
}

@media only screen and (max-width: 600px) { 
    .foot-nav ul li{ width: 49%;}
    .foot-nav ul li a { font-size:15px;}
    .foot-nav ul li.child a{ font-size:14px;}
}

/* copyright */
.copyright { clear: both; width:100%; text-align:center; font-size:12px; padding: 15px 0; color: #FFF;}
.copyright a { color:#FFF; text-decoration:none;}
.copyright a:hover { color:#FFF; text-decoration:underline;}

/* ページ先頭へ -----------------*/
#pagetop { position:fixed; bottom:6px; right:6px;}
#pagetop a { border:1px solid #212121; background-color:rgba(255,255,255,0.7); border-radius: 50%; width:50px; height:50px; line-height: 45px; text-align:center; display:block; font-size:25px; color:#212121; text-decoration:none;}
#pagetop a:hover { text-decoration:none; color:#212121; border:1px solid #212121;}
