@charset "utf-8";

html {
letter-spacing:0.1em;
line-height: 1.7 !important;
color: #000;
}

a:link, a:visited, a:hover { text-decoration:none; }
a:link, a:visited { color: rgba(20,72,236,1); }
a:hover { color: rgba(252,102,6,1); }

/*フォント*/
body, .family-serif { font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.kosugi { font-family: 'Kosugi Maru', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; color: rgba(0,0,0,0.45); }
.family-sans-serif { font-family: "游ゴシック", 'Yu Gothic', 'YuGothic', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; }
.family-sans-serif-hiragino { font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif; }

.family-cinzel { font-family: 'Cinzel', serif; }
.family-nixie { font-family: 'Nixie One', cursive; }
.family-tangerine { font-family: 'Tangerine', cursive; }
.family-cormorant { font-family: 'Cormorant Garamond', serif; }
.family-julius { font-family: 'Julius Sans One', sans-serif; }
.family-wire { font-family: 'Wire One', sans-serif; }
.family-quicksand { font-family: 'Quicksand', sans-serif; }
.family-montserrat { font-family: 'Montserrat', sans-serif; }


/* Extra small devices: Phones (<576px) */
@media (max-width: 575px) {
html { font-size:14px; }
}
 
/* Small devices: Phablet (≥576px) */
@media (min-width: 576px) and (max-width: 767px) {
html { font-size:14px; }
}
 
/* Medium devices: Tablets (≥768px) */
@media (min-width: 768px) and (max-width: 991px) {
html { font-size:15px; }
}
 
/* Large devices: laptop (≥992px) */
@media (min-width: 992px) and (max-width: 1199px) {
html { font-size:17px; }
}
 
/* Extra Large devices: Desktops (≥1200px) */
@media (min-width: 1200px) {
html { font-size:17px; }
}

/*フォント*/

h1, h2, h3, h4, h5, h6, p, li, table, th, td, dl, dt, dd {
margin: 0;
padding: 0;
font-weight: normal;
line-height:inherit;
}

ul, ol {
margin: 0;
padding: 0;
font-weight: normal;
line-height:inherit;
}

h1{ display:block; }
h2 { font-size: 1.6rem; }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.2rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }
p, li, th, td, dt, dd { font-size: 1rem; }

h1 small, .h1 small { font-size: 50%; color:inherit !important; }
h2 small, .h2 small { font-size: 55%; color:inherit !important; }
h3 small, .h3 small { font-size: 55%; color:inherit !important; }

/*ul ol*/

article ul, article ol {
padding: 0 2.25rem;
}
ol.carousel-indicators { padding: 0 !important; }

/*title-type*/

.sunderline-type {
padding-bottom:  5px;
position:  relative;
}
    
.sunderline-type:before {
content:  '';
width: 50px;
height: 4px;
background-color: rgba(0,15,153,1);
display:  block;
position:  absolute;
left:  0;
bottom: -6px;
}

.stopline-type {
padding-top:  5px;
position:  relative;
}
    
.stopline-type:before {
content:  '';
width: 50px;
height: 4px;
background-color: rgba(0,15,153,1);
display:  block;
position:  absolute;
left:  0;
top: -6px;
}

.double-type {
padding: 0.5rem 1rem;
border-left: 6px double rgba(0,0,0,0.3);
}

.single-type {
padding: 0rem 1rem;
border-left: 4px solid rgba(0,0,0,0.3);
}

.single-bg-type {
padding: 0.3rem 1rem;
border-left: 4px solid rgba(0,15,153,1);
background: rgba(0,0,0,0.05); 
}

.dotted-type {
padding: 0.1rem 1rem;
border-left: 4px dotted rgba(0,15,153,1);
}

.square-type {
padding: 0 0 0 .5em;
border-left: 0.75em solid rgba(0,15,153,0.6);
}

.box-type {
color: rgba(255,255,255,1);
display: inline-block;
/*border: 1px solid rgba(0,15,153,0.8);*/
background: rgba(0,15,153,0.8);
padding: 3px 10px;
}

.underbar-type {
position: relative;
text-align: center !important;
/*display: inline-block;*/
}

.underbar-type:before {
content: '';
position: absolute;
bottom: -20px;
/*display: inline-block;*/
width: 60px;
height: 5px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: rgba(0,15,153,1);
border-radius: 2px;
}

.bothbar-type {
position: relative;
display: inline-block;
padding: 0 55px;
}

.bothbar-type:before, .bothbar-type:after {
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 45px;
height: 1px;
background: rgba(0,0,0,0.5);
}

.bothbar-type:before {
left:0;
}
.bothbar-type:after {
right: 0;
}

.kakko-type {
position: relative;
line-height: 1.4;
padding:0.25em 1em;
display: inline-block;
top:0;
}

.kakko-type:before, .kakko-type:after { 
position: absolute;
top: 0;
content:'';
width: 8px;
height: 100%;
display: inline-block;
}

.kakko-type:before {
border-left: solid 1px rgba(0,0,0,0.5);
border-top: solid 1px rgba(0,0,0,0.5);
border-bottom: solid 1px rgba(0,0,0,0.5);
left: 0;
}

.kakko-type:after {
content: '';
border-top: solid 1px rgba(0,0,0,0.5);
border-right: solid 1px rgba(0,0,0,0.5);
border-bottom: solid 1px rgba(0,0,0,0.5);
right: 0;
}

.fukidashi-type {
position: relative;
display: inline-block;
padding: 0.6em;
background: rgba(0,15,153,0.2);
border-radius: 7px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
}

.fukidashi-type:after {
position: absolute;
content: '';
display: inline-block;
top: 100%;
left: 30px;
border: 15px solid transparent;
border-top: 15px solid rgba(0,15,153,0.2);
width: 0;
height: 0;
}

.check-type {
position: relative;
padding-left: 1.2em;/*アイコン分のスペース*/
line-height: 1.4;
}

.check-type:before {
font-family: "Font Awesome 5 Free";
content: "\f00c";/*アイコンのユニコード*/
font-weight: 900;
position: absolute;/*絶対位置*/
font-size: 1em;/*サイズ*/
left: 0;/*アイコンの位置*/
top: 0;/*アイコンの位置*/
color: rgba(0,15,153,0.5); /*アイコン色*/
font-weight: 900;
}

.check-box-type {
position: relative;
color: rgba(255,255,255,1);
background: rgba(0,15,153,0.5);
line-height: 1.4;
padding: 0.5em 0.5em 0.5em 1.8em;
}

.check-box-type:before {
font-family: "Font Awesome 5 Free";
content: "\f14a";
font-weight: 900;
position: absolute;
left : 0.5em; /*左端からのアイコンまでの距離*/
}

.tab-type {
position: relative;
color: black;
background: rgba(0,15,153,0.2);
line-height: 1.4;
padding: 0.25em 0.5em;
margin: 2em 0 0.5em;
border-radius: 0 5px 5px 5px;
}

.tab-type:after {
/*タブ*/
position: absolute;
font-family: "Font Awesome 5 Free",'Quicksand','Avenir','Arial',sans-serif;
font-weight: 700;
content: '\f00c Check';
background: rgba(0,15,153,0.6);
color: rgba(255,255,255,1);
left: 0px;
bottom: 100%;
border-radius: 5px 5px 0 0;
padding: 3px 7px 1px;
font-size: 0.7em;
line-height: 1;
letter-spacing: 0.05em
}

.bg-circle-type {
position: relative;
color: #333;
display: inline-block;
margin: 47px 0;
text-shadow: 0 0 2px white;
}

.bg-circle-type:before {
content: "";
position: absolute;
background: rgba(0,15,153,0.2);
width: 100px;
height: 100px;
border-radius: 50%;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
z-index: -1;
}

.circle-left-type {
position: relative;
padding-left: 30px;
text-shadow: 0 0 2px white;
}

.circle-left-type:before {
content: "";
position: absolute;
/*background: rgba(0,15,153,0.2);*/
border: 1px solid rgba(0,15,153,0.5);
width: 150px;
height: 150px;
border-radius: 50%;
top: 100%;
/* border: dashed 1px white; */
left: 0px;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
z-index: -1;
}

/*特殊タイトル*/

.numbers-type {
border-top: 1px solid rgba(0,15,153,0.7);
border-radius: 5px 0 0 0;
}

.numbers-type span.inner {
display: table;
}

.numbers-type span.num {
display: table-cell;
vertical-align: middle;
padding: 0.25em 0.5em;
color: rgba(255,255,255,1);
border-radius: 5px 0 5px 5px;
background: rgba(0,15,153,1);
}

.numbers-type span.txt {
display: table-cell;
vertical-align: middle;
padding: 0.25em 0.5em;
}


.back-image-type {
/*padding: 30px 0;
background-image:url("/wp-content/uploads/2020/11/logo-type.png");*/
background-repeat:no-repeat;
background-position:center center;
background-size:contain;
text-align:center;
}

.underline-type {
position: relative;
padding-bottom: 0.3em;
border-bottom: 4px solid rgba(0,0,0,0.1);
color: rgba(0,0,0,1);
}

.underline-type::after {
position: absolute;
bottom: -4px;
left: 0;
z-index: 2;
content: '';
width: 5%;
height: 4px;
background-color: rgba(0,15,153,1);
}

.s-square-type {
position: relative;
padding: 0 0 0 1em;
}

.s-square-type::before {
position: absolute;
content: '';
border-radius: 20%
}

.s-square-type::before {
top: 0.4em;
left: 0em;
z-index: 2;
width: .6em;
height: .7em;
background: rgba(0,15,153,0.8);
}

.single-bg-in-type {
position: relative;
padding: .4em 0.5em .4em 1.5em;
background: rgba(0,0,0,0.05);
color: rgba(0,0,0,1);
}

.single-bg-in-type::after {
position: absolute;
top: .5em;
left: .5em;
content: '';
width: 6px;
height: -webkit-calc(100% - 1em);
height: calc(100% - 1em);
background-color: rgba(0,15,153,1);
border-radius: 4px;
}

/*特殊タイトル*/

/*font-page*/

.page h2, .page h3, .page h4, .page h5, .page h6 {
margin: 30px 0 20px;
}

.page p, .page ul, .page ol, .page table {
margin: 0 0 10px;
}

/*font-blog*/

.blog h2, .blog h3, .blog h4, .blog h5, .blog h6 {
margin: 50px 0 40px;
/*font-weight: 700;*/
}

.blog p, .blog ul, .blog ol, .blog table {
margin: 0 0 15px;
}

.blog p {
line-height: 1.8;
}

.blog ul li, .blog ol li {
margin: 0 0 5px;
}

.blog h3 {
padding: 0.3rem 1rem;
border-left: 4px solid rgba(0,0,0,0.5);
background: rgba(0,0,0,0.05); 
}

.blog h4 {
padding: 0rem 0.7em;
border-left: 0.7em solid rgba(0,0,0,0.6);
}

.blog h5 {
padding: 0.1rem 1rem;
border-left: 4px dotted rgba(0,0,0,0.3);
}

.blog h6 {
position: relative;
padding-left: 1.2em;
line-height: 1.4;
}

.blog h6:before {
font-family: "Font Awesome 5 Free";
content: "\f00c";/*アイコンのユニコード*/
font-weight: 900;
position: absolute;
font-size: 1em;
left: 0;
top: 0;
color: rgba(0,0,0,0.5);
font-weight: 900;
}