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

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

/* --------------------------------------------------
 common
--------------------------------------------------- */
html{ width: 100%; font-size: 62.5%;}
body{
    min-width: 1000px;
    border-top: 5px solid #286894;
    background: #fff;
    color: #000;
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1;

    -webkit-font-smoothing: antialiased;
}
img{ vertical-align: bottom;}
a{ color: #000; text-decoration: none;}
a:hover{ color: #000; text-decoration: none;}
.sp{ display: none;}

@media screen and (max-width: 1024px){
    body{ min-width: 0;}
}
@media screen and (max-width: 896px){
    .pc{ display: none;}
    .sp{ display: block;}
}
@media screen and (max-width: 480px){
}

#wrap{ margin: 0 auto; width: 1000px;}

@media screen and (max-width: 1024px){
    #wrap{ padding: 0 40px; width: 100%;}
}
@media screen and (max-width: 896px){
    #wrap{ padding: 0 30px;}
}
@media screen and (max-width: 480px){
    #wrap{ padding: 0 20px;}
}

/* --------------------------------------------------
 header
--------------------------------------------------- */
.header{ position: relative; display: flex; height: 110px; align-items: center;}
.header h1{ display: inline-block;}
.header h1 a{ display: flex; height: 75px; align-items: flex-end;}
.header h1 img{ width: 80%; height: 100%;}
.header h1 span{ display: inline-block; padding: 0 0 13px 10px; font-weight: 700; font-size: 1.6rem;}
.header .search{ position: absolute; right: 0; bottom: 20px;}
.header .search input{ padding: 15px 20px; width: 576px; height: 40px; border: 1px solid #c9c9c9;}
.header .search input:placeholder{ color: #c9c9c9; font-size: 1.2rem;}
.header .search button{ margin: 0 0 0 10px; width: 60px; height: 40px; border: none; background: #286894; color: #fff; vertical-align: bottom; font-size: 1.2rem;}
.header aside{ position: absolute; top: 16px; right: 0;}
.header aside a{ position: relative; padding: 0 16px 0 0; color: #286894;}
.header aside a:before{ position: absolute; top: 50%; right: 6px; width: 6px; height: 6px; border-top: 1px solid #286894; border-right: 1px solid #286894; content: ""; transform: translate(0,-50%) rotate(45deg);}
.header aside a:after{ position: absolute; top: 50%; right: 0; width: 6px; height: 6px; border-top: 1px solid #286894; border-right: 1px solid #286894; content: ""; transform: translate(0,-50%) rotate(45deg);}

@media screen and (max-width: 1024px){
    .header{ display: block; padding: 15px 0; height: auto;}
    .header h1 a{ height: 40px;}
    .header h1 span{ padding: 0; font-size: 1.2rem;}
    .header .search{ position: relative; right: auto; bottom: auto; padding: 10px 0 0; width: 100%;}
    .header .search input{ padding: 5px 10px; width: calc(100% - 55px); height: 30px;}
    .header .search button{ width: 45px; height: 30px; font-size: 1rem;}
    .header aside{ top: 30px; right: 0;}
}

/* --------------------------------------------------
 main
--------------------------------------------------- */

/* 共通
--------------------------------------------------- */
main{ line-height: 1.8;}
main > section{ position: relative; padding: 50px 0;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    main{ padding: 0 0 20px;}
    main > section{ padding: 20px 0;}
}

/* トップページ
--------------------------------------------------- */
.notice{ margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); width: 100vw; background: #286894; text-align: center;}
.notice a{ position: relative; display: inline-block; padding: 20px 18px 20px 0; color: #fff; text-align: center;}
.notice a:before{ position: absolute; top: 50%; right: 6px; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; content: ""; transform: translate(0,-50%) rotate(45deg);}
.notice a:after{ position: absolute; top: 50%; right: 0; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; content: ""; transform: translate(0,-50%) rotate(45deg);}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
    .notice{ padding: 0 30px;}
    .notice a{ display: block; padding: 20px 0;}
    .notice a:before{ content: none;}
    .notice a:after{ content: none;}
}
@media screen and (max-width: 480px){
    .notice{ padding: 0 20px; text-align: left;}
    .notice a{ padding: 10px 0; text-align: left; font-size: 1.2rem;}
}

.ttl{ text-align: center; font-weight: 600; font-size: 3rem;}
.ttl span{ display: inline-block; padding: 0 0 10px; border-bottom: 3px solid #286894;}
.ttl span i{ display: block; color: #286894; font-weight: 500; font-style: normal; font-size: 1rem;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
    .ttl span{ padding: 0 0 5px;}
    .ttl span i{ display: none;}
}
@media screen and (max-width: 480px){
    .ttl{ font-size: 2rem;}
    .ttl span{ padding: 0 10px;}
}

.more{ position: absolute; top: 80px; right: 0;}
.more a{ position: relative; display: inline-block; padding: 0 18px 0 0; color: #286894;}
.more a:before{ position: absolute; top: 50%; right: 6px; width: 6px; height: 6px; border-top: 1px solid #286894; border-right: 1px solid #286894; content: ""; transform: translate(0,-50%) rotate(45deg);}
.more a:after{ position: absolute; top: 50%; right: 0; width: 6px; height: 6px; border-top: 1px solid #286894; border-right: 1px solid #286894; content: ""; transform: translate(0,-50%) rotate(45deg);}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
	.more{ position: relative; top: auto; right: auto; padding: 10px 0 0;text-align: center; }
    .more a{ font-size: 1.2rem;}
}
@media screen and (max-width: 480px){
}

.list-menu{ display: flex; margin: -20px -10px 0; padding: 50px 0 0; flex-wrap: wrap;}
.list-menu > li{ padding: 20px 10px 0; width: calc(100% / 3);}
.list-menu a{ display: flex; padding: 0 25px; height: 80px; border: 2px solid #f2f2f2; vertical-align: middle; font-weight: 500; font-size: 1.6rem; line-height: 1.4; align-items: center;}
.list-menu a i{ width: 75px; color: #286894; vertical-align: middle; font-size: 5rem;}
.list-menu a span{ width: calc(100% - 75px);}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
    .list-menu{ margin: -10px -5px 0; padding: 25px 0 0;}
    .list-menu > li{ padding: 10px 5px 0; width: 50%;}
    .list-menu a{ padding: 10px; height: 50px; font-size: 1.3rem;}
    .list-menu a i{ width: 50px; font-size: 3rem;}
    .list-menu a span{ width: calc(100% - 50px);}
}
@media screen and (max-width: 480px){
    .list-menu{ padding: 20px 0 0;}
    .list-menu a{ height: 100%; font-size: 1.2rem;}
    .list-menu a i{ width: 35px; font-size: 2rem;}
    .list-menu a span{ width: calc(100% - 35px);}
    }

.list-pickup{ padding: 40px 0 0; line-height: 1.5;}
.list-pickup > li{ border-top: 2px solid #f2f2f2;}
.list-pickup > li:first-child{ border: none;}
.list-pickup a{ position: relative; display: block; padding: 15px 30px 15px 20px;}
.list-pickup a:after{ position: absolute; top: 50%; right: 8px; width: 8px; height: 8px; border-top: 2px solid #286894; border-right: 2px solid #286894; content: ""; transform: translate(0,-50%) rotate(45deg);}

@media screen and (max-width: 1024px){
    .list-pickup a{ padding: 15px 30px 15px 0;}
}
@media screen and (max-width: 896px){
    .list-pickup{ padding: 25px 0 0;}
}
@media screen and (max-width: 480px){
    .list-pickup{ padding: 20px 0 0; font-size: 1.2rem;}
    .list-pickup a{ padding: 10px 30px 10px 0;}
}

/* 下層ページ
--------------------------------------------------- */
.bread{ margin: 0 calc(50% - 50vw); padding: 10px calc(50vw - 50%); width: 100vw; background: #286894; line-height: 1;}
.bread ul{ display: flex; color: #fff; font-size: 1.2rem;}
.bread ul > li{ position: relative; padding: 0 6px 0 12px;}
.bread ul > li:before{ position: absolute; top: 50%; left: 0; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; content: ""; transform: translate(0,-50%) rotate(45deg);}
.bread ul > li:first-child{ padding: 0 6px 0 0;}
.bread ul > li:first-child:before{ content: none;}
.bread a{ color: #fff; text-decoration: underline;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
    .bread{ padding: 10px 30px;}
}
@media screen and (max-width: 480px){
    .bread{ overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 10px 20px; white-space: nowrap;}
    .bread ul{ font-size: 1rem;}
}

article{ display: flex; padding: 40px 0; justify-content: space-between;}
article > .content{ width: 700px;}
article > .subnavi{ width: 270px;}

@media screen and (max-width: 1024px){
    article > .content{ width: 75%;}
    article > .subnavi{ padding: 0 0 0 40px; width: 25%;}
}
@media screen and (max-width: 896px){
    article > .content{ width: 70%;}
    article > .subnavi{ padding: 0 0 0 30px; width: 30%;}
}
@media screen and (max-width: 480px){
    article{ display: block; padding: 20px 0 0;}
    article > .content{ padding: 0 0 40px; width: 100%;}
    article > .subnavi{ margin: 0 calc(50% - 50vw); padding: 0; width: 100vw;}
}

.subnavi h2{ font-weight: 600; font-size: 2rem;}
.subnavi ul{ margin: -10px 0 0; padding: 20px 0 0; font-size: 1.2rem;}
.subnavi ul > li{ padding: 10px 0 0;}
.subnavi ul a{ text-decoration: underline;}
.subnavi ul i{ display: inline-block; width: 30px; color: #286894; vertical-align: middle; text-decoration: none; font-size: 2rem;}
.subnavi ul + h2{ margin: 40px 0 0;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .subnavi h2{ padding: 10px 20px; background: #f2f2f2;font-size: 1.8rem; }
    .subnavi ul{ margin: 0; padding: 0; font-size: 1.2rem;}
    .subnavi ul > li{ padding: 0;}
    .subnavi ul > li + li{ padding: 0; border-top: 1px solid #ccc;}
    .subnavi ul a{display: block;  padding: 10px 20px; text-decoration: none;}
    .subnavi ul + h2{ margin: 0;}
}


article h1{ border-bottom: 3px solid #286894; font-weight: 600; font-size: 3rem;}
article h1 span{ display: inline-block; padding: 0 0 0 15px; color: #286894; font-size: 1rem;}
article h1 i{ display: inline-block; margin: 0 1rem 0 0; color: #286894;}
.ttl-cat{ font-weight: 600;}
.ttl-cat i{ display: inline-block; margin: 0 1rem 0 0; color: #286894; font-size: 1.8rem;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    article h1{ font-size: 2rem;}
    article h1 span{ display: inline-block; padding: 0 0 0 15px; color: #286894; font-size: 1rem;}
    article h1 i{ display: inline-block; margin: 0 1rem 0 0; color: #286894;}
    .ttl-cat{ font-size: 1.2rem;}
}

.content > section{ padding: 40px 0;}
.content > section + section{ border-top: 1px solid #ccc;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
}

.list-cat > li{ display: flex; padding: 40px 0;}
.list-cat > li + li{ border-top: 1px solid #ccc;}
.list-cat > li > div{ padding: 0 40px 0 0; width: 300px;}
.list-cat > li > div a{ display: flex; font-weight: 500; font-size: 1.6rem; align-items: flex-start;}
.list-cat > li > div a i{display: inline-block;  padding: 0 10px 0 0; color: #286894; vertical-align: middle; font-size: 3rem;}

@media screen and (max-width: 1024px){
    .list-cat > li{ display: block; padding: 40px 0;}
    .list-cat > li > div{ padding: 0; width: 100%;}
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .list-cat > li{ margin: 40px 0 0; padding: 20px 0 0;}
    .list-cat > li:first-child{ margin: 0;}
    .list-cat > li > div a{ font-size: 1.4rem;}
    .list-cat > li > div a i{ font-size: 2.4rem;}
}

.child{ width: calc(100% - 260px);}
.child a{ text-decoration: underline;}
.grandchild{ margin: 0 0 0 2rem; padding: 10px 0; font-size: 1.2rem;}
.grandchild > li{ list-style: disc;}

@media screen and (max-width: 1024px){
    .child{ width: 100%;}
    .child > li{ padding: 10px 0 0;}
    .grandchild{ margin: 0 0 0 2rem; padding: 10px 0; font-size: 1.2rem;}
    .grandchild > li{ list-style: disc;}
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
}

.list-entry{ margin: 0 0 0 2rem;}
h1 + .list-entry{ margin: 40px 0 0 2rem;}
.ttl-child + .list-entry{ margin: 20px 0 0 2rem;}
.ttl-grandchild + .list-entry{ margin: 10px 0 0 2rem;}
.list-entry > li{ list-style: disc;}
.list-entry a{ text-decoration: underline;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .list-entry{ font-size: 1.2rem;}
    h1 + .list-entry{ margin: 20px 0 0 2rem;}
    .ttl-child + .list-entry{ margin: 10px 0 0 2rem;}
}

.ttl-child{ margin: 40px 0 0; padding: 40px 0 0; border-top: 1px solid #ccc; font-size: 1.6rem;}
h1 + .ttl-child{ padding: 0; border: none;}
.ttl-child a{ position: relative; padding: 0 0 0 20px; color: #286894;}
.ttl-child a:after{ position: absolute; top: 50%; left: 0; border-width: 8px 0 8px 8px; border-style: solid; border-color: transparent transparent transparent #286894; content: ""; transform: translate(0,-50%);}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .ttl-child{ margin: 40px 0 0; padding: 20px 0 0; font-size: 1.6rem;}
    .ttl-child a{ position: relative; padding: 0 0 0 20px; color: #286894;}
    .ttl-child a:after{ position: absolute; top: 50%; left: 0; border-width: 8px 0 8px 8px; border-style: solid; border-color: transparent transparent transparent #286894; content: ""; transform: translate(0,-50%);}
}

.ttl-grandchild{ margin: 20px 0 0;}
.ttl-grandchild a{ padding: 0 5px; background: linear-gradient(transparent 0%, #fff3f3 0%); color: #286894;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
}

.ttl-search{ padding: 15px 20px; background: #f2f2f2; font-weight: 500; font-size: 2rem;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .ttl-search{ padding: 10px; font-size: 1.6rem;}
}

.list-result{ font-size: 1.2rem;}
.list-result > li{ border-bottom: 1px solid #ccc;}
.list-result > li a{ display: block; padding: 40px 0;}
.list-result h3{ font-size: 1.8rem;}
.list-result p{ margin: 10px 0 0;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .list-result > li a{ padding: 20px 0;}
    .list-result h3{ font-size: 1.4rem;}
    .list-result p{ font-size: 1.2rem;}
}

.notfound{ margin: 40px 0 0;}

.pager{ margin: 80px 0 0; text-align: center;}
.pager span,
.pager a{ display: inline; margin: 0 10px; color: #4c4948; text-decoration: none;}
.pager span{ border-bottom: 1px solid;}
.pager .previouspostslink{ margin: 0 90px 0 0;}
.pager .nextpostslink{ margin: 0 0 0 90px;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .pager{ margin: 40px 0 0; font-size: 1.2rem;}
    .pager .previouspostslink{ display: none;}
    .pager .nextpostslink{ display: none;}
}

/* 詳細ページ
--------------------------------------------------- */
.list-tag{ display: flex; font-size: 1.2rem; line-height: 1; flex-wrap: wrap;}
.list-tag > li{ margin: 10px 10px 0 0; padding: 5px 10px; border: 1px solid #ccc;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .list-tag{ font-size: 1rem;}
}

.alart{ margin: 20px 0 0; padding: 20px; background: #f2f2f2; color: #286894; font-size: 1.2rem;}
.alart dt{ font-size: 1.4rem;}
.alart dt i{ display: inline-block; margin: 0 5px 0 0; vertical-align: baseline; font-size: 1.6rem;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .alart{ font-size: 1rem;}
    .alart dt{ font-size: 1.2rem;}
    .alart dt i{ font-size: 1.4rem;}
}

.outline{ margin: 40px 0 0;}
.outline dt{ font-size: 1.6rem;}
.outline ol{ margin: -5px 0 0 2rem; padding: 15px 0 0;}
.outline ol > li{ padding: 5px 0; list-style: decimal;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .outline{ margin: 20px 0 0;}
    .outline dt{ font-size: 1.4rem;}
    .outline ol{ padding: 10px 0 0; font-size: 1.2rem;}
}

.entry{ padding: 40px 0; line-height: 1.8;}
.entry{ font-size: 1.4rem; line-height: 1.8;}
.entry img{ max-width: 100%; max-height: 100%; width: auto; height: auto;}
.entry h2{ margin: 40px 0 0; font-weight: 700; font-size: 2.2rem;}
.entry > h2:first-child{ margin: 0;}
.entry h3{ margin: 40px 0 0; padding: 0 0 0 10px; border-left: 4px solid #286894; font-weight: 700; font-size: 1.8rem;}
.entry h4{ margin: 40px 0 0; padding: 0 0 10px; border-bottom: 1px solid; font-weight: 700; font-size: 1.8rem;}
.entry h5{ margin: 40px 0 0; font-weight: 700; font-size: 1.6rem;}
.entry h5:before{ content: "■";}
.entry h6{ margin: 40px 0 0; font-weight: 700; font-size: 1.6rem;}
.entry p{ margin: 20px 0 0; font-size: 1.4rem;}
.entry ul{ margin: 20px 0 20px 2rem; font-size: 1.4rem;}
.entry ul > li{ list-style: disc;}
.entry ol{ margin: 20px 0 0 1.6rem; font-size: 1.4rem;}
.entry ol > li{ list-style: decimal;}
.entry ol ul { margin: 0 0 0 3rem; font-size: 1.4rem;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .entry{ padding: 20px 0;}
    .entry{ font-size: 1.4rem; line-height: 1.8;}
    .entry h2{ font-size: 1.8rem;}
    .entry h3{ font-size: 1.6rem;}
    .entry h4{ font-size: 1.4rem;}
    .entry h5{ font-size: 1.4rem;}
    .entry h6{ font-size: 1.4rem;}
}

.entry .uagb-toc__wrap{ margin: 0 !important; padding: 20px !important; width: 100% !important; background: none !important; border: 1px solid #ccc !important; font-weight: 700; font-size: 1.4rem !important;}
.entry .uagb-toc__title{ padding: 0 !important; font-size: 1.6rem !important;}
.entry .uagb-toc__title:before{ content: "【";}
.entry .uagb-toc__title:after{ content: "】";}
.entry .wp-block-uagb-table-of-contents ul.uagb-toc__list{ margin: 0 0 0 2rem;}
.entry .wp-block-uagb-table-of-contents ul > li{ list-style: none;}
.entry .wp-block-uagb-table-of-contents ul.uagb-toc__list > li{ padding: 10px 0 0;}
.entry .wp-block-uagb-table-of-contents .uagb-toc__title-wrap { margin: 0 0 10px 0;}
.entry .uagb-toc__list-wrap ul.uagb-toc__list:first-child { margin-left: 9px !important; margin-right: 9px !important;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .entry .uagb-toc__title{ font-size: 1.4rem !important;}
}

.entry .wp-block-image{ margin: 40px 0 0;}
.entry .wp-block-quote{ margin: 40px 0 0; padding: 10px 40px; border-right: 2px solid #ccc; border-left: 2px solid #ccc; font-weight: 700;}
.entry .wp-block-quote.is-style-large{ border-right: 2px solid #286894; border-left: 2px solid #286894;}
.entry .wp-block-pullquote{ margin: 40px 0 0; padding: 40px; border: 5px solid #f2f2f2; border-radius: 15px; font-weight: 700;}
.entry .wp-block-pullquote.is-style-solid-color{ border: none; background: #fff3f3;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .entry .wp-block-quote{ padding: 10px 20px;}
    .entry .wp-block-pullquote{ padding: 20px;}
}

.entry .wp-block-quote p{ margin: 0; font-style: normal; font-size: 1.4rem;}
.entry .wp-block-pullquote blockquote{ margin: 0; padding: 0; max-width: none;text-align: left; }
.entry .wp-block-pullquote blockquote p{ margin: 0; font-style: normal; font-size: 1.4rem;}
.entry cite{ display: block; margin: 10px 0 0; text-transform: none;font-style: normal; font-size: 1.4rem; }
.entry .wp-block-quote cite{ text-align: left;}
.entry cite a{ color: #286894;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
}

.entry .wp-block-table{ margin: 40px 0 0;}
.entry .wp-block-table table{ width: 100%; border: 1px solid #ccc;}
.entry .wp-block-table th{ padding: 10px; border: 1px solid #ccc; text-align: center;}
.entry .wp-block-table td{ padding: 10px; border: 1px solid #ccc; text-align: center;}
.entry .wp-block-table thead{ border: none;}
.entry .wp-block-table thead th{ background: #b3b3b3; color: #fff;}
.entry .wp-block-table tbody th{ background: #f2f2f2;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .entry .wp-block-table{ overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap;}
    .entry .wp-block-table th{ white-space: nowrap;}
    .entry .wp-block-table td{ white-space: nowrap;}
}

.entry .wp-block-group{ margin: 40px 0 0; border: 1px solid #ccc;}
.entry .wp-block-group__inner-container{ padding: 20px;}
.entry .wp-block-group__inner-container > h2:first-child,
.entry .wp-block-group__inner-container > h3:first-child,
.entry .wp-block-group__inner-container > h4:first-child,
.entry .wp-block-group__inner-container > h5:first-child,
.entry .wp-block-group__inner-container > h6:first-child,
.entry .wp-block-group__inner-container > p:first-child,
.entry .wp-block-group__inner-container > figure:first-child,
.entry .wp-block-group__inner-container > span + h2{ margin: 0;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
}

.entry .wp-block-media-text{display: flex;  margin: 40px 0 0; align-items: center;}
.entry .has-media-on-the-right{ flex-direction: row-reverse;}
.entry .wp-block-media-text__media{ width: 50%;}
.entry .wp-block-media-text__content{ padding: 0 0 0 20px; width: 50%;}
.entry .has-media-on-the-right .wp-block-media-text__content{ padding: 0 20px 0 0;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
}

.entry .helpful{ margin: 40px 0 0; border: none; background: #f2f2f2; -webkit-box-shadow: none; box-shadow: none; text-align: center;}
.entry .helpful > .helpful-header > .helpful-headline{ margin: 0 0 20px; padding: 0; border: none; font-size: 2rem;}
.entry .helpful .helpful-content .helpful-button,
.entry .helpful > .helpful-controls > div > .helpful-button{ font-size: 2rem;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .entry .helpful > .helpful-header > .helpful-headline{ margin: 0 0 20px; font-size: 1.6rem;}
    .entry .helpful .helpful-content .helpful-button,
    .entry .helpful > .helpful-controls > div > .helpful-button{ font-size: 1.6rem;}
}

.flex{ display: flex; border-top: 1px solid #ccc; flex-wrap: wrap;}
.flex .block1{ margin: 40px 0 0; width: 100%;}
.flex .block2{ margin: 60px 0 0; padding: 30px 0; width: 100%; background: #f2f2f2; text-align: center;}
.flex .block3{ margin: 40px 0 0; padding: 0 15px 0 0; width: 50%;}
.flex .block4{ margin: 40px 0 0; padding: 0 0 0 15px; width: 50%;}
.flex h3{ display: inline-block; padding: 2px 30px; border-radius: 30px; background: #000; color: #fff;}
.flex h3 + ul{ margin: 10px 0 0 1.8rem; font-size: 1.2rem;}
.flex h3 + ul > li{ padding: 5px 0; list-style: disc;}
.flex .block2 .ttl{ font-weight: 400; font-size: 2rem;}
.flex .block2 ul{ display: flex; margin: 0 -15px; padding: 20px 0 0; font-size: 2rem; justify-content: center;}
.flex .block2 ul > li{ padding: 0 15px;}
.flex .block2 ul > li a{ display: inline-block; width: 137px; height: 47px; background: #fff; line-height: 47px;}

@media screen and (max-width: 1024px){
}
@media screen and (max-width: 896px){
}
@media screen and (max-width: 480px){
    .flex .block1{ margin: 40px 0 0;}
    .flex .block2{ margin: 20px 0 0; padding: 20px 0;}
    .flex .block3{ margin: 40px 0 0; padding: 0; width: 100%;}
    .flex .block4{ margin: 40px 0 0; padding: 0; width: 100%;}
    .flex h3{ padding: 2px 20px; border-radius: 20px;}
}

/* --------------------------------------------------
 footer
--------------------------------------------------- */
.footer{ display: flex; margin: 0 calc(50% - 50vw); padding: 25px calc(50vw - 50%) 50px; width: 100vw; background: #f2f2f2; font-size: 1rem; line-height: 1.5; justify-content: space-between;}
.footer aside{ width: 300px;}
.footer aside a{ display: flex; height: 60px; background: #286894; color: #fff; text-align: center; font-size: 1.6rem; align-items: center; justify-content: center;}
.footer aside p{ margin: 10px 0 0;}
.footer nav{ margin: 0 -15px;}
.footer nav ul{ display: flex; justify-content: flex-end;}
.footer nav ul > li{ padding: 0 15px; border-left: 1px solid;}
.footer nav ul > li:first-child{ border: none;}
.footer small{ display: block; margin: 10px 0 0; text-align: right;font-size: 1rem; }

@media screen and (max-width: 1024px){
    .footer{ padding: 25px 40px 50px;}
}
@media screen and (max-width: 896px){
    .footer{ padding: 25px 30px 50px;}
}
@media screen and (max-width: 480px){
    .footer{ display: block; padding: 40px 20px;}
    .footer aside{ margin: 0 auto; width: 100%;}
    .footer aside a{ height: 45px; font-size: 1.2rem;}
    .footer nav{ margin: 20px 0 0;}
    .footer nav ul{ justify-content: center;}
    .footer nav ul > li{ padding: 0 10px;}
    .footer small{ text-align: center;}
}

/* --------------------------------------------------
 CS
--------------------------------------------------- */
/* トップページ上部のNotice */
.notice a.cs-header-notice { 
    text-align: center;
}
.notice a.cs-header-notice:before { 
    border-top: none !important; 
    border-right: none !important; 
}
.notice a.cs-header-notice:after { 
    border-top: none !important; 
    border-right: none !important;
}
.notice a.cs-header-notice .cs-header-notice-title { 
    font-size: 20px;
    font-weight: bold;
}
@media screen and (max-width: 896px) {
    .notice a.cs-header-notice .cs-header-notice-title { 
        font-size: 17px;
    }
}
@media screen and (max-width: 480px) {
    .notice a.cs-header-notice .cs-header-notice-title { 
        font-size:13px;
    }
}
.notice a.cs-header-notice .cs-header-notice-title i { 
    margin-right: 10px;
}

/* トップページの登録の流れ */
.cs-top-registration-process-section-message {
    font-size: 2rem;
    font-weight: bold;
    margin: 15px 0 0 0;
    text-align: center;
}
.cs-top-registration-process-section-message .cs-icon-before {
    margin: 0 10px 0 0;
}
.cs-top-registration-process-section-message .cs-sp {
    display: none;
}
.cs-top-registration-process-section-message .cs-icon-after {
    margin: 0 0 0 10px;
}
.cs-top-registration-process-group {
    text-align: center;
}
.cs-top-registration-process {
    border: 2px solid #286894;
    display: inline-block;
    height: auto;
    margin: 15px 0 0 0;
    padding: 10px 25px;
    position: relative;
    text-align: center;
    vertical-align: middle;
    width: calc(100% / 2 - 10px);
}
.cs-top-registration-process:first-child {
    margin: 15px 10px 0 0;
}
.cs-top-registration-process-title {
    font-size: 2rem;
    font-weight: bold;
    height: 50%;
    width: 100%;
}
.cs-top-registration-process-title i {
    margin: 0 5px 0 0;
}
.cs-top-registration-process-message {
    font-size: 1.6rem;
    width: 100%;
}
@media screen and (max-width: 1024px){
    .cs-top-registration-process {
        display: block;
        width: 100%;
    }
}
@media screen and (max-width: 896px) {
    .cs-top-registration-process-section-message {
        font-size: 1.8rem;
    }
    .cs-top-registration-process-section-message .cs-sp {
        display: block;
    }
    .cs-top-registration-process-section-message .cs-icon-after{
        display: none;
    }
     .cs-top-registration-process-title {
        font-size: 1.8rem;
    }
    .cs-top-registration-process-message {
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 480px) {
    .cs-top-registration-process-section-message {
        font-size: 1.4rem;
    }
     .cs-top-registration-process-title {
        font-size: 1.4rem;
    }
    .cs-top-registration-process-message {
        font-size: 1.2rem;
    }
}
.cs-top-registration-process a {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    text-indent: -999px;
    z-index: 2;
}

/* リストを注意文のように表示 */
ul.cs-attention {
    list-style: none !important;
    white-space: nowrap;
}
ul.cs-attention > li {
    list-style: none !important;
    padding: 5px 0 0 5px;
    text-indent: -24px;
    white-space: normal;
}
ul.cs-attention li:before {
    font-family: FontAwesome;
    content: '\f06a';
    margin-right: 10px;
}

/* 操作の詳細手順でpタグでリスト表示 */
p.cs-list {
    text-indent: -1em;
    padding-left: 1em;
}
p.cs-list.cs-2-digit {
    text-indent: -1.6em;
}

/* 単票テーブル */
.cs-table {
    margin: 20px 0 0 0;
    width: 100%;
}
.cs-table th, .cs-table td {
    border: 1px solid #e7e7e7;
    padding: 8px;
    text-align: center;
}
.cs-table th {
    background-color: #F5F5F6; 
    font-weight: bold;
    width: 20%;
}
@media screen and (max-width: 896px) {
    .cs-table, .cs-table tr, .cs-table td, .cs-table th {
        display: block;
    }
    .cs-table th, .cs-table td {
        border-bottom: none;
    }
    .cs-table tr:last-child td:last-child {
        border-bottom: 1px solid #e7e7e7;
    }
    .cs-table th {
        width: auto;
    }
}

/* ボタン（テーブル内） */
.cs-btn-inline {
    background: #286894 !important;
    border-radius: 30px;
    color: #fff !important;
    font-size: 1.4rem;
    padding: 0.2em 1em;
}
td.cs-btn-detail {
    width: 100px;
}
@media screen and (max-width: 896px) {
    td.cs-btn-detail {
        width: 100%;
    }
}

/* --------------------------------------------------
 バグのオーバーライド
--------------------------------------------------- */
.has-text-align-left {
    text-align: left !important;
}
.has-text-align-right {
    text-align: right !important;
}
