/*レスポンシブ02 グリーン 1カラム*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');/*-- google マテリアルアイコン --*/
@import url('https://fonts.googleapis.com/icon?family=Material+Icons+Outlined');

.pc{display:inline;}
.sp{display:none;}

.ta_c{text-align:center !important;}
.ta_r{text-align:right !important;}
.ta_l{text-align:left !important;}

.mb0{margin-bottom: 0px !important;}
.pb0{padding-bottom: 0px !important;}
.m_auto{margin-left: auto; margin-right: auto;}

.mt20{margin-top: 20px;}
.mb20{margin-bottom: 20px;}
.mt20{margin-top: 20px;}
.mb20{margin-bottom: 20px;}
.mt30{margin-top: 30px;}
.mb30{margin-bottom: 30px;}
.mt40{margin-top: 40px;}
.mb40{margin-bottom: 40px;}

.pt20{padding-top: 20px;}
.pb20{padding-bottom: 20px;}
.pt20{padding-top: 20px;}
.pb20{padding-bottom: 20px;}
.pt30{padding-top: 30px;}
.pb30{padding-bottom: 30px;}
.pt40{padding-top: 40px;}
.pb40{padding-bottom: 40px;}



.external_link{word-break: break-all;}
.external_link::before{font-family: 'Material Icons'; content: '\e89e'; vertical-align: middle; margin-right:0.2em; font-size: 1.1em; color: var(--tri-color);}

/*編集画面*/
.ams-build .freeHtml_body {
    min-height: 40px;
}
/*-------------
バッジ非表示
---------------*/
.recaptcha_policy {
padding: 0;
margin: 0;
text-align: center;
font-size: 11px !important;
color: #444 !important;
}
.recaptcha_policy a {
font-size: 11px !important;
color: #111 !important;
}
.grecaptcha-badge { visibility: hidden; }

body {
color: #1b1b1b;
font-weight: normal;
letter-spacing: unset;
/*--font-family: 'Noto Serif JP', serif;--*/
font-feature-settings: "palt";
}



.article.zero_margin, .gallery.zero_margin {
margin-bottom: 0!important;
padding-bottom: 0!important;
}
#topMenu_outer .topMenu li a {
font-weight: normal;
}

#mainTopics h2:after, .article h3:after, .gallery h3:after, .freeHtml h3:after {
border-radius: 4px;
margin: 24px auto;
}
.article.bg_img {
background: url(/materials/177674209627201.jpg) no-repeat center;
background-size: cover;
background-attachment: fixed;
position: relative;
overflow: hidden;
z-index: 0;
padding: 5vh 0;
/*--background-color:rgba(28,79,160,0.7);--*/
background-color:rgba(7,132,24,0.7);
background-blend-mode: darken;
}
.article h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
}
.article h3:before, .gallery h3:before, .freeHtml h3:before {
    content: '';
    position: absolute;
    bottom: 0px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #304285;
    border-radius: 2px;
}
#mainArticles .article h3, .gallery h3, .freeHtml h3 {
    margin: 1em 0;
}
.article h3:after, .gallery h3:after, .freeHtml h3:after {
    margin: 0 auto;
}
.article h4 {
    color: #000;
    background: none;
    border: solid 3px #304285;
    padding: 16px 0px 5px 20px;
}
.article.voice {
background: linear-gradient(rgba(245, 254, 255, 0.2), rgba(255, 255, 255, 0.6)), url(/materials/165510201553601.jpg) no-repeat bottom right;
background-size: cover;
background-attachment: fixed;
text-shadow: 0px 1px 2px white;
}

.article.mission p {
margin: 0;
font-size: 2em;
color: #fff;
line-height: 1.5;
}

.article.bg_img h3,
.article.bg_img p{
    color: #fff;
    text-shadow: 2px 2px 3px #292c46;
    /*--text-shadow: 2px 2px 3px #1c4fa0;--*/
    text-align: center;
}

.article.bg_img p{margin: 0; font-size: 1.2em; padding-left: 10px; padding-right: 10px;}
.article.bg_img p span{font-size: 1.5em;}

.article.voice:before {
content: '';
background: inherit;
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
z-index: -1;
}

.article_center_mini .article_center .image{max-width: 44%; margin-left: auto; margin-right: auto;}

.article table#flowTbl td,
.rounded .image img,
.rounded .gallery_grid li.galleryGrid .image img{border-radius: 30px;}


.article table#flowTbl td{
    /*--
    border: solid 5px var(--tri-color);
    background: #fff;--*/
    background: linear-gradient(90deg, rgba(48, 66, 133, 1) 0%, rgba(5, 17, 60, 1) 100%);
    border: 0px none;
    color: #fff;
}

.article table#flowTbl td a{color: #fff;}

.article table#flowTbl strong{
    background: transparent;
    padding-left: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
}

.article table#flowTbl td::after{color: var(--main-color);}

.article.contact {
padding: 0!important;
}
.article.contact .image {
margin-bottom: 0!important;
}
#mainTopics h2, #mainArticles .article h2, .article h3, .freeHtml h3 {
margin: 0;
font-weight: 900;
font-size: 1.8em;
}

#mainArticles table.contactTable tr th {
font-weight: normal;
}
.article table.normalTbl th {
    background-color: #e2e8ff;
    text-align: center;
}
#mainArticles table.contactTable input.button, #mainArticles table.contactTable input[type="button"] {
border-radius: 4px;
}
div#footer li a {
font-weight: normal;
}
#mainArticles .envelope {
/*--background: #e7f5ff;
border: solid 3px #d5eaf9;--*/
background: #fff;
border: solid 3px var(--main-color);
}


/*----------header----------*/
#title h1 {
background: url(/materials/177735486038301.png) left center no-repeat;
background-size: contain;
height: 70px;
width: 420px;
}
h1 a {
overflow: hidden;
text-indent: 110%;
white-space: nowrap;
display: block;
height: inherit;
}
#title #title_outer {
background: url(/materials/177734594154801.png) right center no-repeat;
background-size: 370px;
}


@media only screen and (max-width: 800px) {
#title h1 {
width: 240px;
height: 40px;
}
#title #title_outer {
background-size: 256px;
}
}


@media only screen and (max-width: 600px) {
#title h1 {
padding-left: 0;
margin-left: 4%;

}
#title #title_outer {
background: none;
}

.article table.normalTbl th,
.article table.normalTbl td {
text-align: center;
}
.article table.normalTbl th {
font-weight: bold;
}
}



/*----------freeHTML----------*/
.side_address {
display: flex;
margin-bottom: 15px;
padding: 0;
box-sizing: border-box;
justify-content: center;
align-items: center;
}
.side_address .logo {
margin:0 auto 15px;
text-align: center;
width: 256px;
}
.side_address .txtblock {
width: 500px;
}
.side_address .sitename {
font-size: 20px;
font-weight: bold;
}
.side_address .txt {
/*--font-size: 15px;--*/
margin: 0 auto 15px;
color: #1b1b1b;
line-height: 1.8;
display: block;
letter-spacing: 0;
}
@media only screen and (max-width: 600px) {
.side_address {
display: flex;
margin-bottom: 15px;
padding: 0;
border-radius: 4px;
box-sizing: border-box;
justify-content: center;
flex-direction: column;
}
.side_address .logo {
width: 256px;
margin:  0 auto 5%;
display: flex;
align-items: center;
justify-content: center;
}
.side_address .txtblock {
display: flex;
align-items: center;
flex-direction: column;
}
.side_address .sitename {
/*--font-size: 18px;--*/
font-size: 16px;
font-weight: normal;
line-height: 1.3;
display: block;
margin: 0 auto 5px;
}
.side_address .txt {
font-size: 14px;
margin: 0 auto 5px;
color: #1b1b1b;
line-height: 1.6;
display: block;
text-align: center;
letter-spacing: 0;
white-space: nowrap;
}
}

#bottomLink{
display: none;
}
@media only screen and (max-width: 600px) {
#bottomLink {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
text-align: center;
z-index: 1000;
height: 48px;
overflow: hidden;
display: block;
}
#bottomLink a {
display: block;
color: #fff;
/*--background: var(--tri-color);--*/
background: #010001;
text-decoration: none;
font-size: 100%;
/*--line-height: 48px;--*/
line-height: 1.4;
height:100%;
}
#bottomLink a span {
display:block;
padding-top: 5px;
}
#wrap {
margin-bottom: 48px;
}
/* スマホで画像を文章下に配置 */
.image_bottom .article_body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
}
.image_bottom .article_body .image {
	order: 1;
}
}

#mainArticles div[id^="blog"] h2 {
width: auto;
}

.sideContents #sideServices h2, .sideContents #sideBlogCategories h2, .sideContents #sideBlogDates h2, .sideContents #sideMobile h2,.sideContents ul,.sideContents dl,
.sideContents .sideMobile p,.gallery ul.galleryGrids .comment,
.article table.normalTbl th,
.article table.normalTbl td,
#footer,
ul.maru,
ol.pp,
ul.notes,
ul.ps {
font-size: 18px;
}

.sideContents dl ul li a{font-size: 1.0em;}

ul.faq li.qus::before {
    background-color: var(--main-color);
}

ul.faq li.ans::before {
    background-color: var(--tri-color);
}

/*----------colors----------*/
:root{
--main-color:#304285;/*--013374--*/
--sub-color:#21428B;/*--0b1b30--*/
--tri-color:#193269;/*--5ebbd4--*/
}

a {
color: var(--tri-color);
}
a.btn {
background: var(--main-color);
font-weight: normal;
}
a.btn:hover {
background: var(--sub-color);
}
.sideContents #sideServices h2:before, .sideContents #sideBlogCategories h2:before, .sideContents #sideBlogDates h2:before, .sideContents #sideMobile h2:before {
background: var(--tri-color);
}
ul.topics li p.date {
background: var(--main-color);
}
ul.topics li p.more a, #mainTopics .listview a {
background: var(--main-color);
font-weight: normal;
}
ul.topics li p.more a:hover, #mainTopics .listview a:hover {
background: var(--sub-color);
}

#topMenu_outer .topMenu li a:hover {
/*--background: var(--main-color);--*/
background: linear-gradient(90deg, rgba(48, 66, 133, 1) 0%, rgba(5, 17, 60, 1) 100%);
}
/*Footer*/
#footer {
/*--background: var(--main-color);--*/
background: linear-gradient(90deg, rgba(48, 66, 133, 1) 0%, rgba(5, 17, 60, 1) 100%);

}
#footer_body .topMenu li a,
#footer_body .services li a {
/*--background: var(--main-color);--*/
background: transparent;
}
#footer_body .topMenu li a:hover,
#footer_body .services li a:hover {
background-color: var(--sub-color);
}
#footer_body .copyright {
/*--background: var(--main-color);--*/
background: transparent;
}

.sideContents ul li a:hover,
.sideContents dt a:hover {
background: var(--main-color);
}
.article.theme,
.gallery.theme {
background: var(--main-color);
}
#mainArticles h2,
#listTopics h2 {
/*--background: var(--main-color);--*/
background: linear-gradient(90deg, rgba(48, 66, 133, 1) 0%, rgba(5, 17, 60, 1) 100%);
}
#mainArticles .article h2:after {
background: var(--main-color);
}
#mainTopics h2:after,
.article h3:after,
.gallery h3:after,
.freeHtml h3:after {
/*--background: var(--tri-color);--*/
width: 0; height: 0; background: transparent;
}

.article h4{
    padding-top: 0;
    padding-left: 0;
    border-radius:0;
    border-top: 0px none;
    border-left: 0px none;
    border-right: 0px none;
    font-size: 1.4em;
}

.article h4:before {
content: none;
/*--background: var(--tri-color);
height: 2px;--*/
}
.article h5 {
border-left: solid 4px var(--tri-color);
}
.article h6:before {
color: var(--main-color);
}
ul.topics li h3 a {
color: var(--main-color);
}
ul.maru02 li:before {
color: var(--main-color);
}
#mainArticles table.contactTable tr td.th_headline {
background: var(--main-color);
}
#mainArticles table.contactTable input.button {
background: var(--main-color);
}


.btn_flex{display: flex; flex-wrap:wrap;}
.btn_flex li{width: 50%; padding: 10px; box-sizing: border-box;}

@media screen and (min-width: 601px) and (max-width: 800px) {
    #topMenu_outer .topMenu li a{padding: 0;}

}

@media only screen and (max-width: 600px) {

#mainContents{padding-bottom: 0;}

.article{margin-bottom: 0;}

#toggle {
background-color: var(--main-color);
}
.active #toggle {
background-color: var(--main-color);
}
#topMenu_outer .topMenu li a:hover {
background: var(--main-color);
}
}

@media only screen and (max-width: 480px) {
    .pc{display:none;}
    .sp{display:inline;}
    
    
    body {
    font-size: 14px;
    }
    .article.mission p {
    font-size: 1.5em;
    }
    
    .btn_flex li{width: 100%;}
    .article.bg_img p{font-size: 1em; text-align: left;}

    .sideContents #sideServices h2, .sideContents #sideBlogCategories h2, .sideContents #sideBlogDates h2, .sideContents #sideMobile h2,.sideContents ul,.sideContents dl,
    .sideContents .sideMobile p,.gallery ul.galleryGrids .comment,
    .article table.normalTbl th,
    .article table.normalTbl td,
    #footer,
    ul.maru,
    ol.pp,
    ul.notes,
    ul.ps {
    font-size: 14px;
    }

    #mainArticles h2{font-size: 1.5em;}
    /*--.article h3{font-size: 1.2em;}--*/
    }