@charset "utf-8";

html {
letter-spacing: 0.05em;
line-height: 1.4 !important;
}

body {
color: rgba(255,255,255,1) !important;
}

.text-white { color: rgba(255,255,255,1); }

a:link, a:visited, a:hover { text-decoration:none; }
a:link, a:visited { color: rgba(255,255,255,1); }
a:hover { color: rgba(255,255,255,0.6); }

/*フォント*/
.family-serif { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.family-sans-serif, figcaption, body { 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-opensans { font-family: "Open Sans", sans-serif; }
.family-notosans { font-family: "Noto Sans JP", sans-serif; }
.family-notoserif { font-family: "Noto Serif JP", serif; }
.family-roboto { font-family: "Roboto", sans-serif; }


/* Extra small devices: Phones (<576px) */
@media (max-width: 575px) {
html { font-size:12px; }
}
 
/* Small devices: Phablet (≥576px) */
@media (min-width: 576px) and (max-width: 767px) {
html { font-size:12px; }
}
 
/* Medium devices: Tablets (≥768px) */
@media (min-width: 768px) and (max-width: 991px) {
html { font-size:14px; }
}
 
/* Large devices: laptop (≥992px) */
@media (min-width: 992px) and (max-width: 1199px) {
html { font-size:16px; }
}
 
/* Extra Large devices: Desktops (≥1200px) */
@media (min-width: 1200px) {
html { font-size:16px; }
}

/*フォント*/

h1, h2, h3, h4, h5, h6, p, li, table, th, td, dl, dt, dd, div, span, small {
margin: 0;
padding: 0;
font-weight: 500;
line-height:inherit;
}

ul, ol {
margin: 0;
padding: 0;
font-weight: 200;
line-height:inherit;
}

h1{ display:inline; font-size: 1rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.5rem; }
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(248,51,90,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(248,51,90,1);
display:  block;
position:  absolute;
left:  0;
top: -6px;
}

.single-bg-type {
padding: 0.3rem 1rem;
border-left: 4px solid rgba(248,51,90,1);
background: rgba(0,0,0,0.05); 
}

.single-bg-in-type, .catalog h6 {
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, .catalog h6::after {
position: absolute;
top: .5em;
left: .5em;
content: '';
width: 6px;
height: -webkit-calc(100% - 1em);
height: calc(100% - 1em);
background-color: rgba(248,51,90,1);
border-radius: 4px;
}

.dotted-type {
padding: 0.1rem 1rem;
border-left: 4px dotted rgba(0,0,0,0.3);
}

.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(248,51,90,0.8);
}

.s-rectangle-type {
position: relative;
padding: 0 0 0 1em;
}

.s-rectangle-type::before {
position: absolute;
content: '';
border-radius: 20%
}

.s-rectangle-type::before {
top: 0.3em;
left: 0.2em;
z-index: 2;
width: .2em;
height: .9em;
background: rgba(248,51,90,0.8);
}

.box-type {
color: rgba(255,255,255,1);
display: inline-block;
border: 1px solid rgba(248,51,90,0.8);
background: rgba(248,51,90,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(248,51,90,1);
border-radius: 2px;
}

.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(248,51,90,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(248,51,90,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(248,51,90,0.5); /*アイコン色*/
font-weight: 900;
}

.underline-type, .catalog h5 {
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, .catalog h5::after {
position: absolute;
bottom: -4px;
left: 0;
z-index: 2;
content: '';
width: 5%;
height: 4px;
background-color: rgba(248,51,90,1);
}

.topline-type {
position: relative;
padding-top: 0.3em;
border-top: 4px solid rgba(0,0,0,0.1);
color: rgba(0,0,0,1);
}

.topline-type::after {
position: absolute;
top: -4px;
left: 0;
z-index: 2;
content: '';
width: 5%;
height: 4px;
background-color: rgba(43,90,130,1);
}


/*font-page*/

.page h2, .page h3, .page h4, .page h5, .page h6 {
margin: 30px 0 20px;
}

.page ul, .page ol, .page table {
margin: 0 0 10px;
}

.page p {
margin: 0 0 15px;
}

/*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;
}