@charset "utf-8";
/* CSS Document */



/* GoogleFonts読み込み 下記のライセンス記述は削除禁止 */

/*

* "Noto Sans JP" licensed under the SIL Open Font License 1.1

* by https://fonts.google.com/specimen/Noto+Sans+JP

*/


@font-face {
font-family: "Noto Sans JP";
font-style: normal;
font-weight: 400;
src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
font-display: swap;
}

@font-face {
font-family: "Noto Sans JP";
font-style: normal;
font-weight: 700;
src: url("fonts/NS-700.woff2") format("woff2"), url("fonts/NS-700.woff") format("woff");
font-display: swap;
}

@font-face {
font-family: 'Cormorant Garamond', serif;
font-style: normal;
font-weight: 400;
src: url("fonts/CG-Regular.woff2") format("woff2"), url("fonts/CG-Regular.woff") format("woff");
font-display: swap;
}

@font-face {
font-family: 'Cormorant Garamond', serif;
font-style: normal;
font-weight: 700;
src: url("fonts/CG-Bold.woff2") format("woff2"), url("fonts/CG-Bold.woff") format("woff");
font-display: swap;
}






/*--------------------------------------------------------------------------
 reset
---------------------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
margin: 0;
font-size: 100%;
}

ul {
margin: 0;
padding: 0;
vertical-align: baseline;
}

img {
vertical-align: top;
-webkit-backface-visibility: hidden;
}
li {
list-style-type: none;
vertical-align: baseline;
}

input, button, textarea, select {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

html{
font-size:62.5%;
}

body {
color: #000;
font-family: 'Noto Sans JP', 'YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体', 'Open Sans', Arial, Verdana, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
/*font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;*/
/*font-family: 'Hiragino Sans', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;*/
/*font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;*/
/*font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Noto Sans JP', 'YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体', 'Open Sans', Arial, Verdana, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
/*font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;*/
}
h2, h3, h4, h5, h6 {
letter-spacing: 0.1rem;
font-weight: 600;
/*font-family: 'Noto Sans JP', 'YuGothic', 'Yu Gothic', '游ゴシック', '游ゴシック体', 'Open Sans', Arial, Verdana, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;*/
/*font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;*/
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

.sp {
display: none;
}
.pc_br {
    display: block;
}
.sp_br {
    display: none;
}

/*--------------------------------------
　Base
---------------------------------------*/

body {
font-size: 16px;
font-size: 1.6rem;
line-height: 2em;
/*line-height: 1.8em;*/
min-width: 1000px;
height: 100%;
overflow-x: hidden;
position: relative;
padding: 95px 0 0 0;
}

img { 
max-width: 100%; 
height:auto;
}

a {
color: #000;
text-decoration: none;
}

a:hover {
}

.fl {
float: left;
}

.fr {
float: right;
}

.strong {
font-weight: bold;
}

.f110 {
font-size: 110%;
}

.f120 {
font-size: 120%;
}

.f130 {
font-size: 130%;
}

.f150 {
font-size: 150%;
}

.f200 {
font-size: 200%;
}

.f300 {
font-size: 300%;
}
.wi1000 {
width: 1000px;
margin: 0 auto;
}
.wi1100 {
width: 1100px;
margin: 0 auto;
}
.wi1200 {
width: 1200px;
margin: 0 auto;
}
.ab {
position: absolute;
}
.min {
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.garamond {
font-family: 'Cormorant Garamond', serif;
}

.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.relative {
position: relative;
}
.center {
text-align: center;
}
.fc_blue {
color: #2d50a6;
}
.bb_orange {
    background: linear-gradient(transparent 70%, #fedec5 60%);
}

/*
・マーカーライン…<span class=”marker”>マーカーラインの強調テキスト</span>
・太字…<span class=”txt_bold”>太字の強調テキスト</span>
*/

p span,
.marker {
font-weight: 600;
background: linear-gradient(transparent 70%, #fedec5 60%);
font-size: 1.6rem;
}
.txt_bold {
background: none;
font-weight: bold;
color: #2d50a6;
}
.bg_gradation_green {
background: linear-gradient(to right, #d4eeef, #e1f2f5, #dcf1ff);
}
.bg_gradation_blue {
background: linear-gradient(to right, #d4dbf5, #dfe4f7, #e9edf8);
}




/* ================== */
/*header　*/
/* ================== */

header {
position: fixed;
top: 0;
width: 100%;
box-shadow: 0 1px 10px rgba(40,40,40,0.1);
background: #FFF;
z-index: 2;
}
header .areaInner {
padding: 5px 20px 20px 20px;
}
header .inner {
padding: 15px 20px;
}
header .logo {
float: left;
width: 230px;
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
font-weight: 600;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}
header .inner .logo a {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}
header .inner .logo .icon {
width: 32px;
}
header .inner .logo .rightArea {
padding: 0 0 0 5px;
width: calc(100% - 32px);
}
header .logo .sitename {
font-size:17px;
font-size:1.7rem;
text-align: left;
line-height: 2.2rem;
font-weight: 600;
}
header .logo .sitename .fs_s {
font-size:12px;
font-size:1.2rem;
}
header .logo .sponsored {
font-size:11px;
font-size:1.1rem;
width: 100%;
display: block;
text-align: center;
line-height: 2rem;
}
header .logo a:hover {
text-decoration: none;
opacity: 0.7;
}

header .inner .bn_nav {
float: right;
margin: 14px -20px 0 0;
}
header .inner .bn_nav li {
display: inline-block;
vertical-align: middle;
}
header .inner .bn_nav li:first-child {
margin: 0;
}
header .inner .bn_nav li a {
padding: 10px 40px;
line-height: 2rem;
display: block;
font-size: 1.4rem;
height: 100%;
text-align: center;
position: relative;
width: 100%;
}
header .inner .bn_nav li a:before {
content: "";
position: absolute;
background: #000;
width: 1px;
height: 30px;
top: calc(50% - 15px);
right: 0;
}
header .inner .bn_nav li:last-child a:before {
display: none;
}
header .inner .bn_nav li a:hover {
opacity: 0.8;
}


@media screen and (max-width: 839px) {
header .inner .bn_nav {
display: none;
}
}




/* ================== */
/*barger　*/
/* ================== */

.overlay {
content: "";
display: block;
width: 0;
height: 0;
background-color: rgba(0, 0, 0, 0.5);
position: fixed;
top: 0;
left: 0;
z-index: 5;
opacity: 0;
transition: opacity .5s;
}
body.fix {
position: fixed;
left: 0;
right: 0;
}
.overlay.open {
width: 100%;
height: 100%;
opacity: 1;
}
.out-frame {
height: 100%;
min-height: 100vh;
transition: all .5s;
display: flex;
flex-direction: column;
justify-content: center;
}
.bargBg {
background: rgba(78, 178, 178, 0.8);
position: fixed;
top: 15px;
right: 20px;
z-index: 100;
transform: translateX(0);
transition: transform .5s;
width: 60px;
height: 60px;
}
.bargBg:hover {
opacity: 0.7;
}
/*.bargBg p {
color: #FFF;
font-size: 12px;
font-size: 1.2rem;
margin: 0;
position: absolute;
left: calc(50% - 19px);
bottom: 4px;
}*/
.menu-trigger {
display: inline-block;
width: 36px;
height: 28px;
vertical-align: middle;
cursor: pointer;
}
/* .menu-trigger.active {
transform: translateX(-250px);
}*/
.bargBg.active {
transform: translateX(-300px);
}
.bargBg span {
display: inline-block;
box-sizing: border-box;
position: absolute;
left: 17px;
width: 26px;
height: 2px;
background-color: #FFF;
}
.bargBg.active span {
background-color: #FFF;
}
.bargBg span:nth-of-type(1) {
top: 17px;
}
.bargBg.active span:nth-of-type(1) {
transform: translateY(12px) rotate(-45deg);
}
.bargBg span:nth-of-type(2) {
top: 29px;
}
.bargBg.active span:nth-of-type(2) {
opacity: 0;
}
.bargBg span:nth-of-type(3) {
top: 41px;
}
.bargBg.active span:nth-of-type(3) {
transform: translateY(-12px) rotate(45deg);
}
nav {
overflow-y: scroll;
width: 300px;
height: 100%;
background-color: rgba(0, 0, 0, 0.8);
position: fixed;
top: 0;
right: 0;
z-index: 10;
transform: translate(300px);
transition: all .5s;
}
nav.open {
transform: translateZ(0);
}
nav li {
color: #fff;
text-align: center;
}

* {
box-sizing: border-box;
}
ul {
list-style: none;
}
.header-menu ul.accordion ul {
display: none;
}
#g-nav .accordion li {
border-bottom: 1px solid #ccc;
}
#g-nav .accordion li a {
display: block;
text-align: left;
padding: 15px;
font-size: 14px;
font-size: 1.4rem;
color: #FFF;
background: #33afa0 url("img/arr_white.png") 96% 50% no-repeat;
background-size: 8px auto;
}
#g-nav .accordion li .tglMenu {
text-align: left;
color: #FFF;
padding: 15px 32px 15px 15px;
background: #33afa0 url("img/arr_white_down.png") 96% 50% no-repeat;
background-size: 12px auto;
image-rendering: -webkit-optimize-contrast;
}
#g-nav .accordion li .tglMenu:hover {
opacity: 0.7;
}
#g-nav .accordion li .tglMenu.open {
background: #33afa0 url("img/arr_white_up.png") 96% 50% no-repeat;
background-size: 12px auto;
}
#g-nav .accordion li a,
#g-nav .accordion li .tglMenu {
line-height: 2rem;
}
#g-nav .accordion li ul li a {
padding:15px 25px 15px 15px;
color: #000;
background: #FFF url("img/arr_black.png") 96% 50% no-repeat;
background-size: 8px auto;
}
#g-nav .accordion li ul li a:hover {
opacity: 0.8;
}
#g-nav .accordion li ul li {
border-bottom: none;
border-top: 1px solid #eee;
image-rendering: -webkit-optimize-contrast;
}


/*--------------------------------------
　Main Contents
---------------------------------------*/


#contents {
/*margin: 0 auto 80px;*/
padding: 0;
}

#index,
#category,
#page {
margin: 0;
padding: 0;
}
#category, #page {
width: 700px;
float: left;
position: relative;
margin: 0 auto;
padding: 0 0 0 0;
}

/*--------------------------------------
　side
---------------------------------------*/

#side {
float: right;
width: 260px;
}
#side a {
font-size: 1.4rem;
}
#side a:hover {
opacity: 0.7;
}
#contents #side .sideBox01,
#contents #side .sideBox {
background: #FFF;
box-shadow: 0 0 15px rgba(0,0,0,0.1);
margin: 0 0 30px 0;
}

/*重複カテゴリ削除*/
#contents #side .sideBox.difficult-case {
display: none;
}

#contents #side .sttl {
background: #f6f6f6;
}
#contents #side .sttl a {
border-top: 3px solid #4eb2b2;
background: url("img/arr_black01.png") right 10px top 50% no-repeat;
background-size: 15px;
padding: 20px 30px 20px 15px;
display: block;
line-height: 2.4rem;
font-size: 1.7rem;
font-weight: 600;
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
#contents #side ul {
margin: 0;
padding: 0;
}
#contents #side ul li {
padding: 0;
background: none;
}
#contents #side ul li a {
background: #FFF url("img/arr_black.png") 96% 50% no-repeat;
background-size: 6px auto;
display: block;
padding: 14px 20px 14px 10px;
text-decoration: none;
border-bottom: 1px solid #e1e1e1;
line-height: 2.4rem;
}
#contents #side ul li:last-child a {
border: none;
}
#contents #side ul li .subList {
display: none;
}

#contents #side .sideBox01 ul li a {
position: relative;
padding: 22px 20px 22px 70px;
}
#contents #side .sideBox01 ul li a:before {
content: "";
width: 50px;
height: 50px;
position: absolute;
left: 10px;
top: calc(50% - 25px);
}
#contents #side .sideBox01 ul li:nth-child(1) a:before {
background: url("img/icon_side_case01.png") 0 50% no-repeat;
background-size: 50px auto;
}
#contents #side .sideBox01 ul li:nth-child(2) a:before {
background: url("img/icon_side_case02.png") 0 50% no-repeat;
background-size: 50px auto;
}
#contents #side .sideBox01 ul li:nth-child(3) a:before {
background: url("img/icon_side_case03.png") 0 50% no-repeat;
background-size: 50px auto;
}
#contents #side .sideBox01 ul li:nth-child(4) a:before {
background: url("img/icon_side_case04.png") 0 50% no-repeat;
background-size: 50px auto;
}



/*--------------------------------------
　PageTop
---------------------------------------*/

#page-top {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 9;
width: 60px;
}
#page-top:hover {
opacity: 0.7;
}


/*--------------------------------------
　botFix_pc
---------------------------------------*/

#botFix_pc {
position: fixed;
top: 120px;
/*bottom: 100px;*/
right: 20px;
z-index: 9;
width: 220px;
}
#botFix_pc:hover {
opacity: 0.7;
}



/*--------------------------------------
Footer
---------------------------------------*/
footer {
margin: 100px 0 0 0;
padding: 0;
position: relative;
}


/*--------------------------------------
　Pankuzu
---------------------------------------*/
#pankuzuWrap {
width: 1100px;
margin: 10px auto 50px;
padding: 0;
}
#pankuzu {
font-size: 12px;
font-size: 1.2rem;
margin: 0 auto;
color: #999;
}
#pankuzu span {
font-size: 12px;
font-size: 1.2rem;
color: #999;
}
#pankuzu a {
color: #999;
}
#pankuzu * {
/*color: #FFF;*/
}
#pankuzu a:hover {
text-decoration: underline;
}


footer {
padding: 60px 0 0 0;
background: #e7f5f7;
position: relative;
z-index: 1;
}
footer .foot_logo {
width: 290px;
margin: 0 auto 40px;
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
font-weight: 600;
}
footer .foot_logo a:hover {
opacity: 0.7;
}
footer .foot_logo a {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}
footer .foot_logo a:hover {
text-decoration: none;
}
footer .foot_logo .icon {
width: 40px;
}
footer .foot_logo .rightArea {
padding: 0 0 0 5px;
width: calc(100% - 40px);
}
footer .foot_logo .sitename {
font-size:21px;
font-size:2.1rem;
text-align: left;
line-height: 2.4rem;
font-weight: 600;
}
footer .foot_logo .sitename .fs_s {
font-size:15px;
font-size:1.5rem;
}
footer .foot_logo .sponsored {
font-size:13px;
font-size:1.3rem;
width: 100%;
display: block;
text-align: center;
line-height: 2.2rem;
}
footer .areaInner {
width: 1000px;
margin: 0 auto;
padding: 0;
}
footer a {
text-decoration: none;
color: #000;
}
footer a:hover {
text-decoration: underline;
}
footer .areaInner .footBox {
margin: 0 0 30px 0;
}
footer .areaInner .footBox .sttl {
border-bottom: 1px solid #000;
padding: 0 0 6px 0;
margin: 0 0 14px 0;
}
footer .areaInner .footBox .sttl a {
background: url("img/arr_green.png") 6px 50% no-repeat;
background-size: 18px auto;
display: inline-block;
font-size: 16px;
font-size: 1.6rem;
font-weight: bold;
padding: 3px 0 3px 32px;
}

footer .areaInner .smap {
margin: 0 0 50px 0;
}
footer .areaInner .smap .sttl a{
font-size:16px;
font-size:1.6rem;
font-weight: 600;
}

footer .foot_link {
font-size: 14px;
font-size: 1.4rem;
text-align: right;
margin-bottom: 50px;
}
footer .foot_link a {
font-size: 14px;
font-size: 1.4rem;
text-decoration: underline;
}
footer .foot_link a:nth-child(1) {
display: inline-block;
margin-right: 15px;
}
footer .foot_link a:nth-child(2) {
display: inline-block;
margin-left: 15px;
}
footer .foot_link a:hover {
text-decoration: none;
}

footer .footBox ul {
padding: 0 20px;
}
footer .areaInner .footBox .accChild {
padding: 0 0 0 10px;
box-sizing: border-box;
}
footer .areaInner .footBox .accChild li {
background: none;
}
footer .areaInner .footBox .accChild li.subCat {
margin: 0 30px 0 0;
padding: 0;
}
footer .areaInner .footBox .accChild li.subCat::after{
content: "　/　";
letter-spacing: 0;
color: #000;
}
footer .areaInner .footBox .accChild .sp + li::before{
/* content: "　|　"; */
letter-spacing: 0;
}
footer .areaInner .footBox .accChild .sp + li::before{
/* content: "|　"; */
letter-spacing: 0;
}
footer .areaInner .footBox .accChild .sp + li.subCat::before {
content: "";
}
footer .areaInner .footBox .accChild .subList li::after{
content: "　/　";
letter-spacing: 0;
color: #000;
}
footer .areaInner .footBox .accChild li {
display: inline-block;
margin: 0 20px 0 0;
}
footer .areaInner .footBox .accChild li.sp {
display: none;
}
footer .areaInner .footBox .accChild li a {
/*background: url("img/arrow_white.png") 0 50% no-repeat;
background-size: 5.5px;*/
font-size: 14px;
font-size: 1.4rem;
font-weight: normal;
padding: 0 0 0 16px;
}
footer .areaInner .footBox .accChild .subList li:first-child:before {
content: "　/　";
letter-spacing: 0;
color: #000;
}
footer .areaInner .footBox .accChild .subList {
display: inline-block;
padding: 0 0 0 0;
margin: 0 0 0 0;
}
footer .areaInner .footBox .accChild .subList li {
padding: 0 0 0 0;
display: inline-block;
margin: 0;
}
footer .areaInner .footBox .accChild .subList li a {
/*background: url(img/arrow_white.png) left center no-repeat;
background-image: none;
background-size: 4px auto;*/
padding: 0 10px;
font-size:13px;
font-size:1.3rem;
}
footer .smLink {
display: inherit;
text-align: right;
margin: 0 0 40px 0;
}
footer .smLink a {
/*background: url("img/arrow_square_black.png") 6px 50% no-repeat;
background-size: 17px;*/
padding: 2px 0 2px 30px;
}
footer .areaInner .noticeArea {
box-sizing: border-box;
width: 71%;
background-color: #FFF;
padding: 20px 30px;
margin: 0 auto;
border-radius: 5px;
}
footer .areaInner .noticeArea p {
color: #000;
font-size:12px;
font-size:1.2rem;
margin: 0;
line-height: 2.6rem;
}
footer .botPrg{
padding: 15px 0 0;
margin: 0 0 50px 0;
text-align: center;
font-size: 12px;
font-size: 1.2rem;
color: #000;
}
footer .botArea {
padding: 13px 0;
background: #33afa0;
}
footer .botArea .botInner {
width: 1000px;
margin: 0 auto;
position: relative;
}
footer .botArea .botInner .smap {
float: right;
}
footer .botArea .botInner .smap a {
background: url("img/arr_white01.png") 2px 50% no-repeat;
background-size: 18px;
padding: 2px 0 2px 30px;
text-decoration: none;
color: #FFF;
}
footer .botArea .botInner .smap a:hover {
text-decoration: underline;
}
footer p.copy {
padding: 0;
margin: 0;
font-size: 12px;
text-align: left;
color: #FFF;
}
footer p.copy a {
color: #FFF;
text-decoration: none;
}


/* ================== */
/*メインコンテンツ　*/
/* ================== */


#contents .caption {
display: block;
text-align: center;
white-space: nowrap;
overflow-x: auto;
overflow-y: hidden;
}
.caption::-webkit-scrollbar {
height:5px;
}
.caption::-webkit-scrollbar-thumb {
border-radius: 2px;
background: #ddd;
}
.caption::-webkit-scrollbar-track {
border-radius: 5px; background:#eee;
}




/*--------------------------------------
　content
---------------------------------------*/


#index h2, #category h1, #page h1{
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
color: #000;
font-weight: 600;
font-size: 3.6rem;
line-height: 1.4;
margin: 30px 0 50px;
padding: 0 0 30px 0;
text-align: center;
position: relative;
}
#index h2:before, #category h1:before, #page h1:before {
content: "";
position: absolute;
background: #d8d8d8;
width: 170px;
height: 2px;
position: absolute;
bottom: 0;
left: calc(50% - 85px)
}
#index h2:after, #category h1:after, #page h1:after {
content: "";
position: absolute;
background: #33aea0;
width: 70px;
height: 2px;
position: absolute;
bottom: 0;
left: calc(50% - 35px)
}

/*
#index h2 a, #category h1 a, #page h1 a{
padding: 0 30px 0 0;
display: inline-block;
text-align: center;
position: relative;
}
#index h2 a:after,
#category h1 a:after,
#page h1 a:after {
content: "";
background: url("img/arr_black.png") no-repeat;
background-size: 8px auto;
width: 8px;
height: 12px;
position: absolute;
right: 0;
top: calc(50% - 6px);
}
*/

/*
#index h2 a:hover, #category h1 a:hover, #page h1 a:hover {
opacity: 0.8;
}
*/

#index h3, #category h2, #page h2 {
background: #4eb2b2;
margin: 60px 0 30px;
padding: 20px 20px 20px 30px;
font-size: 28px;
font-size: 3rem;
line-height: 4rem;
text-align: left;
position: relative;
color: #FFF;
}
#index h3:after, #category h2:after, #page h2:after {
content: "";
position: absolute;
background: #FFF;
width: 20px;
height: 2px;
left: 0;
top: calc(50% - 1px);
}
#index h3 a, #category h2 a, #page h2 a {
text-align: left;
display: block;
background: url("img/arr_white01.png") right 0 top 50% no-repeat;
background-size: 18px auto;
padding: 0 20px 0 0;
color: #FFF;
}
#index h3 a, #category h2 a, #page h2 a{
text-decoration: none;
}
#index h3 a:hover, #category h2 a:hover, #page h2 a:hover{
opacity:0.7;
}

#index h4,
#category h3,
#page h3 {
padding: 8px 0 17px 0;
border-bottom: 2px solid #d8d8d8;
margin: 45px 0 30px;
font-size:24px;
font-size:2.8rem;
line-height: 3.2rem;
text-align: left;
color:#000;
position: relative;
}
#index h4:before,
#category h3:before,
#page h3:before {
content: "";
background: #4eb2b2;
display: inline-block;
width: 80px;
height: 2px;
position: absolute;
bottom: -2px;
left: 0;
}
#index h4 a, #category h3 a, #page h3 a {
text-align: left;
display: block;
background: url("img/arr_black01.png") right 15px top 50% no-repeat;
background-size: 18px auto;
padding: 0 20px 0 0;
}
#index h3 a, #category h2 a, #page h2 a{
text-decoration: none;
}
#index h4 a:hover, #category h3 a:hover, #page h3 a:hover {
opacity: 0.8;
}



#index h5, #category h6,
#category h4, #category h5, #category h6,
#page h4, #page h5, #page h6{
position: relative;
margin: 35px 0 20px;
padding: 0 0 15px 0;
color: #2d50a6;
/*background: linear-gradient(to right,
#ccc 0%,色の部分
#ccc 55%,色の部分
rgba(0,0,0,0) 40%,空白の部分
rgba(0,0,0,0) 100%)空白の部分
repeat-x left bottom/10px 2px;*/
border-bottom: 2px dashed #ccc;
/*background: url(img/line01.gif) 0 100% repeat-x;
background-size: auto 3px;*/
font-size:22px;
font-size:2.2rem;
}
/*#index h5:before, #category h6:before,
#category h4:before, #category h5:before, #category h6:before,
#page h4:before, #page h5:before, #page h6:before{
content: "";
width: 30px;
height: 1px;
background: #000;
position: absolute;
top: 50%;
left: 0;
}*/
#index h5 a, #category h6 a,
#category h4 a, #category h5 a, #category h6 a,
#page h4 a, #page h5 a, #page h6 a {
position: relative;
display: block;
color: #2d50a6;
background: url("img/arr_black01.png") right 15px top 50% no-repeat;
background-size: 18px auto;
padding: 0 35px 0 0;
font-size:22px;
font-size:2.2rem;
}
#index h5 a:hover, #category h6 a:hover,
#category h4 a:hover, #category h5 a:hover, #category h6 a:hover,
#page h4 a:hover, #page h5 a:hover, #page h6 a:hover {
opacity: 0.8;
}

#contents ul{
margin: 20px 0 20px;
padding:10px 10px 0 0;
}
#contents ul li{
padding:0 0 6px 22px;
background:url(./img/listicon.png) 2px 10px no-repeat;
background-size: auto 14px;
}
#contents ul li a {
text-decoration: underline;
}
#contents ul li a:hover {
text-decoration: none;
}


#contents ol {
margin: 20px 0 20px;
padding: 10px 14px 0 0;
counter-reset: number;
}
#contents ol li {
padding: 0 0 6px 22px;
list-style: none;
position: relative;
counter-increment: number;
}
#contents ol li::before {
display: block;
background-color: #0b4caf;
width: 18px;
height: 18px;
position: absolute;
top: 6px;
left: 0;
color: #fff;
text-align: center;
line-height: 1.5;
font-size: 12px;
font-size: 1.2rem;
}
#contents ol li:nth-child(-n + 9):before {
content: counter(number, decimal-leading-zero);
}


.sitemap ul a {
text-decoration: underline;
}
.sitemap ul a:hover {
text-decoration: none;
}



/*--------------------------------------
　table
---------------------------------------*/

#contents table {
width: 100%;
table-layout: fixed;
margin:30px auto 30px;
}
#contents table th,
#contents table td {
word-break: break-all;
}
#contents table th {
width: 24%;
padding: 14px 16px;
background: #e7f5f7;
border: 2px solid #FFF;
line-height: 1.5;
text-align:center;
font-size:16px;
font-size:1.6rem;
font-weight: bold;
}
#contents table td {
line-height: 1.5;
padding: 13px;
border: 2px solid #FFF;
background: #f6f6f6;
font-size:16px;
font-size:1.6rem;
text-align:left;
word-wrap: break-word;
}


/*--------------------------------------
　float img
---------------------------------------*/

.float-wrap{
margin: 30px auto;
padding: 0 0;
}
.float-wrap img{
width: 100%;
}
.float-wrap .catch {
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
font-size: 2rem;
color: #2d50a6;
font-weight: 600;
margin: 0 0 20px 0;
line-height: 3.2rem;
padding: 0;
}
.float-wrap p{
margin: 0px 0px 2rem 0px;
padding: 0;
width: auto;
}
#contents .float-wrap ul{
display: inline-block;
margin: 15px 0;
padding: 0;
}
.float-wrap .fl{
width: 320px;
padding: 0 40px 10px 0;
text-align: center;
}
.float-wrap .fr{
width: 320px;
padding: 0 0 10px 40px;
text-align: center;
}

.float-wrap .center{
width: 440px;
margin: 0 auto;
padding: 0 0 20px;
text-align: center;
}
#contents .float-wrap table {
width: 55%;
margin: 2rem 0 3rem;
}
#contents .float-wrap table th {
width: 42%;
}
/*#contents .float-wrap table td {
text-align: center;
}*/

.caption{
margin: 8px 0 0;
font-size:10px;
font-size:1.0rem;
line-height: 1.8rem;
word-break: break-all;
color: #999;
}
.caption a {
color: #999;
text-decoration: underline;
}
.caption a:hover {
color: #999;
text-decoration: none;
}
/*--------------------------------------
　btn
---------------------------------------*/
.btn-link a,
.btn-internal a,
.btn-web a {
box-sizing: border-box;
border-radius: 10px;
text-decoration: none;
}
.btn-link {
margin: 20px 0;
text-align: right;
}
.btn-link a {
font-size: 1.6rem;
color: #000;
display: inline-block;
background: url("img/arr_black01.png") 0 50% no-repeat;
background-size: 18px;
padding: 4px 0 4px 25px;
line-height: 1.3;
text-decoration: underline;
}
.btn-link a:hover {
text-decoration: none;
}
.btn-internal {
width: 480px;
margin: 40px auto 70px;
}
.btn-web {
width: 480px;
margin: 40px auto 70px;
}
.btn-internal a {background: url("img/arr_white01.png") right 20px top 50% no-repeat, linear-gradient(to right, #7b6b4a, #92815d, #a7956f);background-size: 20px auto,100% auto;color: #FFF;font-size: 15px;font-size: 1.8rem;display: block;text-align: center;padding: 18px 40px 18px 30px;box-shadow: 0 5px 8px rgba(40,40,40,0.2);position: relative;line-height: 2.4rem;}
/*
.btn-internal a:before {
content: "";
position: absolute;
width: 40px;
height: 1px;
background: #FFF;
top: 50%;
left: 0;
}
*/
.btn-internal a:hover {
opacity: 0.8;
}
.btn-tel {
display: none;
}
.btn-web a {
background: url("img/arr_white01.png") right 20px top 50% no-repeat, linear-gradient(to right, #ed7127, #f6853b, #ff994e);
background-size: 20px auto,100% auto;
color: #FFF;
font-size: 15px;
font-size: 1.5rem;
display: block;
text-align: center;
padding: 18px 50px 18px 30px;
box-shadow: 0 5px 8px rgba(40,40,40,0.2);
position: relative;
line-height: 2.4rem;
}
/*
.btn-web a:before {
content: "";
position: absolute;
width: 40px;
height: 1px;
background: #FFF;
top: 50%;
left: 0;
}
*/
.btn-web a:hover {
opacity: 0.8;
}


.wi1100 {
width: 1100px;
}
.auto {
margin: 0 auto;
}
.webLink {
font-size: 10px;
color: #808080;
text-align: center;
line-height: 1.6rem;
}
p {
margin: 0px 0px 2rem 0px;
}
p a {
text-decoration: underline;
}
p a:hover{
text-decoration: none;
opacity: 0.8;
}
#page.sitemap {
width: 1000px;
margin: 0 auto;
}
#page.sitemap h2 a {
color: #444;
}
#page.sitemap li a:hover {
text-decoration: underline;
}


/*共通パーツ*/





/*目次*/
#contents #pageList {
border: 1px solid #ececec;
width: 100%;
margin: 80px auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#contents #pageList .sTit {
background: #ececec;
font-size: 2.4rem;
font-weight: 600;
padding: 25px 10px 10px 10px;
width: 52px;
letter-spacing: 0.2rem;
}
#contents #pageList #toc {
width: calc(100% - 52px);
padding: 30px 30px 30px 20px;
background: #FFF;
}
#contents #index #pageList #toc .chapter .chapter {
/*display: none;*/
}
#contents #pageList ul {
margin: 0;
padding: 0;
/*counter-reset: ul;*/
}
#contents #pageList ul li {
    font-size: 1.6rem;
    position: relative;
    margin: 0 0 5px 0;
    padding: 0 0 10px 24px;
    background: none;
    background: url(img/listicon.png) left 0 top 40% no-repeat;
    background-size: 15px auto;
    border-bottom: 1px solid #ececec;
}
/*#contents #pageList ul li:before {
content: "";
content: counter(ul);
counter-increment: ul;
position: absolute;
background: #0b4caf;
border-radius: 50%;
left: 0;
top: 5px;
width: 20px;
height: 20px;
padding: 3px 0 0 0;
line-height: 1.1;
font-size: 1.3rem;
text-align: center;
color: #FFF;
font-weight: bold;
box-sizing: border-box;
}*/
#contents #pageList ul ul {
    margin: 0;
    padding: 0 0 7px 25px;
}
#contents #pageList .chapter .chapter li {
    background: url(img/arr_sub.png) left 0 top 46% no-repeat;
    background-size: 6px auto;
    padding: 0 0 5px 15px;
}
#contents #index #pageList ul li:before,
#contents #pageList .chapter .chapter li:before {
display: none;
}
#contents #pageList ul li a {
text-decoration: none;
}
#contents #pageList ul li a:hover {
text-decoration: underline;
}
#contents #pageList ul li a br {
display: none;
}



/*関連リンク*/

#contents #article {
border: 1px solid #ececec;
width: 100%;
margin: 80px auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#contents #article .tit {
background: #ececec;
font-size: 2.4rem;
font-weight: 600;
padding: 25px 10px 10px 10px;
width: 52px;
letter-spacing: 0.2rem;
}
#contents #article #detail {
width: calc(100% - 52px);
padding: 30px 30px 30px 20px;
background: #FFF;
}
#contents #article ul {
margin: 0;
padding: 0;
}
#contents #article ul li {
font-size: 1.6rem;
line-height: 2.6rem;
position: relative;
margin: 0 0 8px 0;
padding: 0 0 0 24px;
background: none;
background: url("img/arr_black01.png") left 0 top 50% no-repeat;
background-size: 18px auto;
}
#contents #article ul li:last-child {
margin: 0;
}
#contents #article ul li a {
text-decoration: none;
}
#contents #article ul li a:hover {
text-decoration: underline;
}



/*追加パーツ*/

#contents #addParts01{
background: url("/wp/wp-content/uploads/bg_sec_add01.jpg") 50% 0 no-repeat;
background-size: cover;
padding: 60px 30px;
margin: 80px auto;
}
#contents #addParts01 .secTit {
font-size: 3.2rem;
background: none;
text-align: center;
margin: 0 0 60px 0;
padding: 0;
font-weight: 600;
}
#contents #addParts01 .detailBox {
position: relative;
margin: 0 auto 40px;
}
#contents #addParts01 .detailBox .ph {
position: absolute;
width: 260px;
top: -30px;
right: 30px;
}
#contents #addParts01 .detailBox .txtArea {
background: #FFF;
padding: 40px 30px;
box-shadow: 0 0 15px rgb(0 0 0 / 10%);
}
#contents #addParts01 .detailBox .txtArea .catch_out {
padding: 0 280px 0 0;
}
#contents #addParts01 .detailBox .txtArea .catch {
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
color: #2d50a6;
font-weight: 600;
font-size: 3rem;
line-height: 4.6rem;
padding: 0;
margin: 0 0 30px 0;
position: relative;
}
#contents #addParts01 .detailBox .txtArea .catch .fs_s {
font-size: 2.2rem;
background: none;
}
#contents #addParts01 .detailBox .txtArea .catch:before,
#contents #addParts01 .detailBox .txtArea .catch:after {
    font-size: 20rem;
    height: 20rem;
    color: #4d6ab1;
    opacity: 0.4;
    font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    position: absolute;
}
#contents #addParts01 .detailBox .txtArea .catch:before {
    content: "“";
    top: 0;
    left: -30px;
}
#contents #addParts01 .detailBox .txtArea .catch:after {
    content: "”";
    bottom: -250px;
    right: -40px;
}
#contents #addParts01 .detailBox .txtArea .detail p {
padding: 30px 0 30px 0;
margin: 0;
border-top: 1px solid #c5d0e9;
}
#contents #addParts01 .btn-web {
margin: 0 auto;
}
#contents #addParts01 .btn-web a {
font-size: 2rem;
line-height: 3rem;
padding: 18px 50px 18px 30px;
}



#contents #addParts02 {
margin: 80px auto;
position: relative;
}
#contents #addParts02:before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 160px 80px 0;
border-color: transparent #33afa1 transparent transparent;
}
#contents #addParts02:after {
content: "User's Voice";
position: absolute;
top: 2px;
right: 8px;
font-family: 'Cormorant Garamond', serif;
font-weight: 600;
position: absolute;
color: #FFF;
font-size: 1.8rem;
}
#contents #addParts02 .inner {
padding: 30px;
}
#contents #addParts02 .inner .sec_catch {
font-size: 2.4rem;
font-weight: 600;
position: relative;
border-bottom: 1px solid #c5d0e9;
padding: 0 80px 15px 80px;
margin: 0 0 20px 0;
line-height: 3.6rem;
}
#contents #addParts02 .inner .sec_catch:before {
content: "";
position: absolute;
background: url("img/icon_sec_add02.png") left 0 top 50% no-repeat;
background-size: 60px auto;
width: 60px;
height: 60px;
border-radius: 50%;
box-shadow: 0 0 10px rgb(0 0 0 / 10%);
top: calc(50% - 37px);
left: 0;
}
#contents #addParts02 .inner .detail .caption {
text-align: right;
}



#contents #addParts03 {
margin: 80px auto;
}
#contents #addParts03 .inner {
padding: 30px;
}
#contents #addParts03 .inner .sec_catch {
font-size: 2.4rem;
font-weight: 600;
position: relative;
background: #FFF;
padding: 15px 30px;
margin: 0 0 20px 0;
line-height: 3.6rem;
}
#contents #addParts03 .inner .sec_catch:before {
content: "";
background: #2d50a6;
width: 30px;
height: 1px;
position: absolute;
top: 50%;
left: -15px;
}
#contents #addParts03 .inner .btn-internal,
#contents #addParts03 .inner .btn-web {
margin: 30px auto;
}

#contents #addParts03 .inner .btn-link {
margin: 30px 0 0 0;
}





@media screen and (max-width: 599px) {

body {
line-height: 2em;
min-width: inherit;
width: 100%;
padding: 0 0 94px 0;
background: url(img/deco_triangleL.png) 0 0 no-repeat;
background-size: 48% auto;
}
#contents {
overflow: hidden;
}
.pc_br {
display: none;
}
.sp_br {
display: block;
}
.pc {
display: none !important;
}
.sp {
display: block;
}
img {
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
/*letter-spacing: 0rem;*/
}
p span, .marker {
font-weight: 600;
background: linear-gradient(transparent 70%, #fedec5 60%);
font-size: 1.5rem;
}
p {
font-size: 15px;
font-size: 1.5rem;
margin: 0 0 10px 0;
}
a {
color: #000;
text-decoration: none;
-webkit-tap-highlight-color: transparent; /* 強調をなくす */
}
.wi1000 {
width: 100%;
margin: 0 auto;
box-sizing: border-box;
}
#category, #page {
position: relative;
float: none;
width: 100%;
padding: 0 15px 0 15px;
box-sizing: border-box;
}
/*.sitename_wrap {
padding: 10px 15px;
}
.sitename {
padding: 3px 60px 3px 0;
line-height: 1.6rem;
}
.sitename,
.sitename a {
font-size:10px;
font-size:1rem;
font-weight: normal;
color: #000;
}*/
header .inner {
padding: 10px 15px;
}

header .logo {
float: left;
width: 200px;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}
header .inner .logo a {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}
header .inner .logo .icon {
width: 28px;
}
header .inner .logo .rightArea {
padding: 0 0 0 5px;
width: calc(100% - 28px);
}
header .logo .sitename {
font-size:15px;
font-size:1.5rem;
text-align: left;
line-height: 2.2rem;
font-weight: 600;
}
header .logo .sitename .fs_s {
font-size:10px;
font-size:1rem;
}
header .logo .sponsored {
font-size:9px;
font-size:0.9rem;
width: 100%;
display: block;
text-align: center;
line-height: 1.5rem;
}



/*--------------------------------------
　content
---------------------------------------*/

.temp_inner {
padding: 0;
box-sizing: border-box;
}

#index h2, #category h1, #page h1 {
    margin: 36px auto 30px;
    font-size: 22px;
    font-size: 2.4rem;
    line-height: 3rem;
    padding: 0 15px 20px 15px;
}
#index h2:before, #category h1:before, #page h1:before {
content: "";
position: absolute;
background: #d8d8d8;
width: 120px;
height: 2px;
position: absolute;
bottom: 0;
left: calc(50% - 60px);
}
#index h2:after, #category h1:after, #page h1:after {
content: "";
position: absolute;
background: #33aea0;
width: 50px;
height: 2px;
position: absolute;
bottom: 0;
left: calc(50% - 25px);
}
#index h2 a:after, #category h1 a:after, #page h1 a:after {
content: "";
background: url(img/arr_black.png) no-repeat;
background-size: 6px auto;
width: 6px;
height: 9px;
position: absolute;
right: 0;
top: calc(50% - 5px);
}
#index h3, #category h2, #page h2 {
background: #4eb2b2;
margin: 35px 0 20px;
padding:12px 10px 12px 30px;
font-size: 22px;
font-size: 2.2rem;
line-height: 2.8rem;
}
#index h3:after, #category h2:after, #page h2:after {
content: "";
position: absolute;
background: #FFF;
width: 20px;
height: 1px;
left: 0;
top: 50%;
}
/*#index h3:before, #category h2:before, #page h2:before {
content: "";
position: absolute;
background: url(img/icon_cate_p.png) no-repeat;
background-size: 44px auto;
width: 44px;
height: 59px;
bottom: 0;
left: 0;
z-index: -1;
}*/
#index h3 a, #category h2 a, #page h2 a {
text-align: left;
display: block;
background: url("img/arr_white01.png") right 0 top 50% no-repeat;
background-size: 12px auto;
padding: 0 20px 0 0;
}
#index h4, #category h3, #page h3 {
border-bottom: 2px solid #d8d8d8;
position: relative;
margin: 35px 0 20px;
padding: 5px 10px 15px 0;
font-size: 20px;
font-size: 2rem;
line-height: 2.4rem;
}
#index h4 a, #category h3 a, #page h3 a {
display: block;
background: url("img/arr_black01.png") right 0 top 50% no-repeat;
background-size: 12px auto;
padding: 0 20px 0 0;
}
#index h4:before, #category h3:before, #page h3:before {
content: "";
background: #4eb2b2;
display: inline-block;
width: 50px;
height: 2px;
position: absolute;
bottom: -2px;
left: 0;
}
/*#index h4:before, #category h3:before, #page h3:before {
content: "";
position: absolute;
width: 60px;
height: 3px;
bottom: -3px;
left: 0;
background: #0b4caf;
}*/


#index h5, #category h6, #category h4, #category h5, #category h6, #page h4, #page h5, #page h6 {
position: relative;
margin: 35px 0 20px;
padding: 0 10px 10px 0;
font-size: 18px;
font-size: 1.8rem;
line-height: 2.4rem;
}
#index h5 a, #category h6 a, #category h4 a, #category h5 a, #category h6 a, #page h4 a, #page h5 a, #page h6 a {
position: relative;
background: url("img/arr_black01.png") right 0 top 50% no-repeat;
background-size: 12px auto;
display: block;
font-size: 18px;
font-size: 1.8rem;
padding: 0 20px 0 0;
}
/*#index h5:before,
#category h6:before,
#category h4:before,
#category h5:before,
#category h6:before,
#page h4:before,
#page h5:before,
#page h6:before {
content: "";
width: 20px;
height: 1px;
background: #000;
position: absolute;
top: 50%;
left: 0;
}*/
.sitemap h2 a {
color: #000;
}



#contents ul{
margin: 20px 0 20px;
padding:10px 10px 0;
}
#contents ul li{
min-height:12px;
padding:0 0 4px 22px;
background:url(./img/listicon.png) 2px 8px no-repeat;
background-size: auto 14px;
image-rendering: -webkit-optimize-contrast;
font-size:15px;
font-size:1.5rem;
}

/*p span {
font-weight: bold;
background: #fffab6;
color: #256b8b;
}*/
/*--------------------------------------
　table
---------------------------------------*/

#contents table {
width: 100%;
table-layout: fixed;
margin: 30px auto 30px;
}
#contents table {
border-collapse: collapse;
width: 100%;
border: none;
}
#contents table th {
background: #e7f5f7;
text-align: center;
font-size: 15px;
font-size: 1.5rem;
}
#contents table td {
background: #f6f6f6;
font-size: 14px;
font-size: 1.4rem;
}
#contents table th,
#contents table td {
border: 2px solid #FFF;
padding: 10px;
box-sizing: border-box;
}


/*--------------------------------------
　float img
---------------------------------------*/
#contents .float-wrap {
margin: 20px auto;
padding: 0;
width: 100%;
}
#contents .float-wrap .float-img {
margin: 0 0 12px 0;
}
#contents .float-wrap .fl {
width: 100%;
padding: 0 0 10px 0;
text-align: left;
}
#contents .float-wrap .fr {
width: 100%;
padding: 0 0 10px 0;
text-align: left;
}
#contents .float-wrap .center {
width: 100%;
padding: 0 0 10px 0;
text-align: left;
}
#contents .float-wrap img {
width: 100%;
}
#contents .float-wrap p {
line-height: 2.6rem;
margin: 0 auto;
width: 100%;
}
#contents .float-wrap .catch {
font-size: 1.6rem;
margin: 0 0 10px;
line-height: 1.5;
padding: 0;
}
#contents .float-wrap .fl.t_small{
width: 100%;
padding: 0;
text-align: center;
float: none;
}	
#contents .float-wrap .fr.t_small{
width: 100%;
padding: 0 0 0 20px;
margin: 0;
text-align: center;
float: none;
}
#contents .float-wrap table {
width: 100%;
margin: 2rem 0 2rem;
display: table;
}
#contents .float-wrap table th {
width: 100%;
display: block;
font-size: 1.6rem;
border-bottom: none;
}
#contents .float-wrap table tr:nth-child(2) th {
border-top: none;
}
#contents .float-wrap table td {
text-align: left;
display: block;
font-size: 1.4rem;
}
#contents .caption {
margin: 8px 0 0;
font-size: 10px;
font-size: 1.0rem;
line-height: 1.3;
word-break: break-all;
color: #999;
text-align: center;
}


/*--------------------------------------
　btn
---------------------------------------*/

.btn-link {
margin: 20px 0;
text-align: center;
}
.btn-link a {
background: url(img/arr_white01.png) right 12px top 50% no-repeat, linear-gradient(to right, #515151, #7a7a7a, #a4a4a4);
background-size: 12px auto,100% auto;
border-radius: 10px;
color: #FFF;
font-size: 15px;
font-size: 1.5rem;
display: block;
text-align: center;
padding: 16px 26px 16px 35px;
position: relative;
text-decoration: none;
line-height: 2.4rem;
}
/*.btn-link a:before {
content: "";
position: absolute;
width: 30px;
height: 1px;
background: #FFF;
top: 50%;
left: 0;
}*/
.btn-link a:hover {
text-decoration: none;
}
.btn-internal,
.btn-web,
.btn-tel,
.btn-link {
width: 90%;
margin: 20px auto;
}
.btn-internal a {
background: url(img/arr_white01.png) right 12px top 50% no-repeat, linear-gradient(to right, #7b6b4a, #92815d, #a7956f);
background-size: 12px auto,100% auto;
border-radius: 10px;
color: #FFF;
font-size: 15px;
font-size: 1.5rem;
display: block;
text-align: center;
padding: 16px 25px 16px 15px;
position: relative;
}
/*.btn-internal a:before {
content: "";
position: absolute;
width: 30px;
height: 1px;
background: #FFF;
top: 50%;
left: 0;
}*/
.btn-web a {
background: url(img/arr_white01.png) right 12px top 50% no-repeat, linear-gradient(to right, #ed7127, #f6853b, #ff994e);
background-size: 12px auto,100% auto;
color: #FFF;
font-size: 15px;
font-size: 1.5rem;
display: block;
text-align: center;
padding: 16px 26px 16px 35px;
box-shadow: 0 5px 8px rgba(40,40,40,0.1);
position: relative;
line-height: 2.4rem;
}
.btn-tel {
display: block;
background: linear-gradient(to right, #018685, #16a09f, #2cbab9);
border-radius: 10px;
}
.btn-tel a {
background: url("img/icon_tell.png") left 20px top 50% no-repeat;
background-size: 18px;
border-radius: 10px;
color: #FFF;
font-size: 15px;
font-size: 1.5rem;
display: block;
text-decoration: none;
text-align: center;
padding: 16px 25px 16px 45px;
position: relative;
box-shadow: 0 5px 8px rgba(40,40,40,0.1);
line-height: 2.4rem;
}





/*共通パーツ*/


/*目次*/
#contents #pageList {
width: 100%;
margin: 30px auto 50px;
display: block;
}
#contents #pageList .sTit {
width: 100%;
writing-mode: inherit;
padding: 5px 15px;
font-size: 1.6rem;
text-align: center;
}
#contents #pageList #toc {
width: 100%;
padding: 20px 15px;
}
#contents #index #pageList #toc .chapter .chapter {
/*display: none;*/
}
#contents #pageList ul {
margin: 0;
padding: 0;
/*counter-reset: ul;*/
}
#contents #pageList ul li {
position: relative;
margin: 0 0 5px 0;
padding: 0 0 0 24px;
background: none;
background: url("img/listicon.png") left 0 top 7px no-repeat;
background-size: 15px auto;
line-height: 2.6rem;
}
#contents #pageList ul ul {
margin: 0;
padding: 0 0 0 25px;
}
#contents #pageList .chapter .chapter li {
background: url("img/arr_sub.png") left 0 top 15% no-repeat;
background-size: 6px auto;
padding: 0 0 0 15px;
font-size: 1.5rem;
line-height: 2.4rem;
}
#contents #index #pageList ul li:before,
#contents #pageList .chapter .chapter li:before {
display: none;
}
#contents #pageList ul li a {
text-decoration: none;
}
#contents #pageList ul li a:hover {
text-decoration: underline;
}



/*関連リンク*/

#contents #article {
width: 100%;
margin: 50px auto;
}
#contents #article .tit {
width: 100%;
writing-mode: inherit;
padding: 5px 15px;
font-size: 1.6rem;
text-align: center;
}
#contents #article #detail {
width: 100%;
padding: 20px 15px;
}
#contents #article ul {
margin: 0;
padding: 0;
}
#contents #article ul li {
position: relative;
margin: 0 0 15px 0;
padding: 0 0 0 24px;
background: none;
background: url("img/arr_black01.png") left 0 top 25% no-repeat;
background-size: 12px auto;
line-height: 2.4rem;
}
#contents #article ul li:last-child {
margin: 0;
}
#contents #article ul li a {
text-decoration: none;
}
#contents #article ul li a:hover {
text-decoration: underline;
}



/*追加パーツ*/


#contents #addParts01{
padding: 40px 15px;
margin: 50px auto;
margin-left: -15px;
margin-right: -15px;
}
#contents #addParts01 .secTit {
font-size: 2rem;
line-height: 3rem;
background: none;
margin: 0 0 40px 0;
padding: 0;
}
#contents #addParts01 .detailBox {
position: relative;
margin: 0 auto 40px;
box-shadow: 0 0 15px rgb(0 0 0 / 10%);
}
#contents #addParts01 .detailBox .ph {
position: inherit;
width: 100%;
top: inherit;
right: inherit;
}
#contents #addParts01 .detailBox .txtArea {
background: #FFF;
padding: 25px 20px;
}
#contents #addParts01 .detailBox .txtArea .catch_out {
padding: 0;
}
#contents #addParts01 .detailBox .txtArea .catch {
    font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    color: #2d50a6;
    font-weight: 600;
    font-size: 2.4rem;
    line-height: 3.4rem;
    padding: 0;
    margin: 0 0 15px 0;
    position: relative;
}
#contents #addParts01 .detailBox .txtArea .catch .fs_s {
font-size: 2rem;
background: none;
}
#contents #addParts01 .detailBox .txtArea .catch:before,
#contents #addParts01 .detailBox .txtArea .catch:after {
font-size: 10rem;
height: 10rem;
color: #4d6ab1;
opacity: 0.4;
font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "Roboto Slab" , Garamond , "Times New Roman" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
position: absolute;
}
#contents #addParts01 .detailBox .txtArea .catch:before {
content: "“";
top: 0;
left: -10px;
}
#contents #addParts01 .detailBox .txtArea .catch:after {
content: "”";
bottom: -125px;
right: -10px;
}
#contents #addParts01 .detailBox .txtArea .detail p {
padding: 15px 0 15px 0;
margin: 0;
border-top: 1px solid #c5d0e9;
}
#contents #addParts01 .btn-web {
margin: 0 auto;
}
#contents #addParts01 .btn-web a {
font-size: 1.5rem;
line-height: 2.6rem;
padding: 14px 25px 14px 15px;
}



#contents #addParts02 {
margin: 50px auto;
margin-left: -15px;
margin-right: -15px;
position: relative;
}
#contents #addParts02:before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 140px 50px 0;
border-color: transparent #33afa1 transparent transparent;
}
#contents #addParts02:after {
content: "User's Voice";
position: absolute;
top: 0;
right: 5px;
font-family: 'Cormorant Garamond', serif;
font-weight: 600;
position: absolute;
color: #FFF;
font-size: 1.5rem;
}
#contents #addParts02 .inner {
padding: 20px 15px;
}
#contents #addParts02 .inner .sec_catch {
font-size: 1.6rem;
font-weight: 600;
position: relative;
border-bottom: 1px solid #c5d0e9;
padding: 0 30px 15px 70px;
margin: 10px 0 15px 0;
line-height: 2.6rem;
}
#contents #addParts02 .inner .sec_catch:before {
content: "";
position: absolute;
background: url("img/icon_sec_add02.png") left 0 top 50% no-repeat;
background-size: 60px auto;
width: 60px;
height: 60px;
border-radius: 50%;
box-shadow: 0 0 10px rgb(0 0 0 / 10%);
top: calc(50% - 37px);
left: 0;
}
#contents #addParts02 .inner .detail .caption {
text-align: right;
}



#contents #addParts03 {
margin: 50px auto;
margin-left: -15px;
margin-right: -15px;
}
#contents #addParts03 .inner {
padding: 20px 15px;
}
#contents #addParts03 .inner .sec_catch {
font-size: 1.6rem;
font-weight: 600;
position: relative;
background: #FFF;
padding: 10px 20px;
margin: 0 0 15px 0;
line-height: 2.6rem;
}
#contents #addParts03 .inner .sec_catch:before {
content: "";
background: #2d50a6;
width: 20px;
height: 1px;
position: absolute;
top: 50%;
left: -10px;
}
#contents #addParts03 .inner .btn-internal,
#contents #addParts03 .inner .btn-web {
margin: 20px auto;
}

#contents #addParts03 .inner .btn-link {
margin: 30px 0 0 0;
width: 100%;
text-align: right;
}
#contents #addParts03 .inner .btn-link a {
background: url("img/arr_black01.png") 0 50% no-repeat;
background-size: 12px auto;
color: #000;
display: inline-block;
padding: 4px 0 4px 20px;
text-decoration: underline;
}





/*固定ナビ*/

#botFix_btn {
}
#botFix_btn * {
text-align: center;
}
#botFix_btn .inner {
width: 95%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#botFix_btn .inner .fixBtn_tit {
text-align: center;
font-size: 1.4rem;
color: #008584;
display: block;
width: 100%;
border: 1px solid #008584;
border-bottom: none;
border-radius: 10px 10px 0 0;
background: #FFF;
line-height: 2rem;
padding: 5px 10px;
}
#botFix_btn .inner .sBtn {
width: 50%;
}
#botFix_btn .inner .sBtn a {
padding: 15px 10px 15px 10px;
display: block;
}
#botFix_btn .inner .sBtnL a {
background: url(img/arr_white01.png) right 10px top 50% no-repeat, linear-gradient(to right, #ed7127, #f6853b, #ff994e);
background-size: 12px auto,100% auto;
}
#botFix_btn .inner .sBtnR a {
background: url(img/icon_tell.png) right 10px top 50% no-repeat, linear-gradient(to right, #018685, #16a09f, #2cbab9);
background-size: 14px auto,100% auto;
}
#botFix_btn .inner .sBtn a p {
line-height: 2.2rem;
margin: 0;
font-size: 1.6rem;
color: #FFF;
}
#botFix_btn {
position: fixed;
bottom: 0;
left: 0;
z-index: 2;
width: 100%;
}


/*ヘッダー*/

#sp_titArea {
/*padding: 10px;*/
box-sizing: border-box;
border-bottom: 1px solid #eee;
position: fixed;
top: 0;
right: 0;
z-index: 999;
}
#sp_titArea .mainTit {
/*background: url("img/logo_sp.png") 0 50% no-repeat;
background-size: 50px;*/
width: 80%;
margin: 0;
min-height: 40px;
}
#sp_titArea .mainTit a {
padding: 0 0 0 60px;
display: block;
}
#sp_titArea .mainTit,
#sp_titArea .mainTit a {
font-size: 15px;
font-size: 1.5rem;
font-weight: bold;
color: #444;
line-height: 2rem;
}



/*--------------------------------------
btn
---------------------------------------*/



#contents .sitemap {
padding: 0 10px;
box-sizing: border-box;
}

#contents .sitemap h1 {
width: 100%;
}


/* ================== */
/*header　*/
/* ================== */

header {
position: inherit;
z-index: inherit;
min-width: inherit;
}
header.headerSec {
position: inherit;
padding: 0 0 15px 0;
}

#contents .sitename {
font-size: 14px;
font-size: 1.4rem;
color: #FFF;
margin: 0 0 10px 0;
position: relative;
z-index: 2;
padding: 0 40px 0 0;
}


/* ハンバーガーメニュー */
nav {
width: 280px;
transform: translate(280px);
}

/* ハンバーガーメニュー */
.bargBg {
background: rgba(78,178,178,0.9);
position: fixed;
top: 10px;
right: 10px;
z-index: 100;
transform: translateX(0);
transition: transform .5s;
width: 46px;
height: 46px;
}
.bargBg p {
width: 46px;
text-align: center;
color: #FFF;
font-size: 7px;
font-size: 0.7rem;
margin: 19px auto 0;
position: inherit;
bottom: inherit;
left: inherit;
}
/*.bargBg p {
width: 32px;
color: #FFF;
font-size: 7px;
font-size: 0.7rem;
margin: 0;
position: absolute;
left: calc(50% - 16px);
bottom: -2px;
}*/
.bargBg.active {
transform: translateX(-280px);
}
.bargBg span {
display: inline-block;
box-sizing: border-box;
position: absolute;
left: calc(50% - 10px);
width: 20px;
height: 2px;
background-color: #FFF;
}
.bargBg.active span {
background-color: #FFF;
}
.bargBg span:nth-of-type(1) {
top: 13px;
}
.bargBg.active span:nth-of-type(1) {
transform: translateY(9px) rotate(-45deg);
}
.bargBg span:nth-of-type(2) {
top: 22px;
}
.bargBg.active span:nth-of-type(2) {
opacity: 0;
}
.bargBg span:nth-of-type(3) {
top: 31px;
}
.bargBg.active span:nth-of-type(3) {
transform: translateY(-9px) rotate(45deg);
}
.out-frame {
position: relative;
width: 100%;
}
.out-frame.black:after {
background: #FFF;
opacity: 0.8;
content: '';
height: 10000px;
right: 0;
top: 0;
padding: 0;
position: fixed;
width: 100%;
z-index: 1;
transition: all .5s ease;
-webkit-transition: all .5s ease;
-moz-transform: all .5s ease;
}
.out-frame:after {
background: #FFF;
opacity: 0;
content: '';
right: 0;
top: 0;
position: fixed;
width: 100%;
z-index: 1;
transition: all .5s ease;
-webkit-transition: all .5s ease;
-moz-transform: all .5s ease;
}
.header-frame {
position: relative;
width: 100%;
height: 64px;
}
.menu-btn {
/*background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 44px;*/
position: absolute;
top:10px;
right: 10px;
height: 44px;
width: 44px;
z-index: 10;
}
.navOpenOut {
background: rgba(255,255,255,0.5);
padding: 13px 10px;
box-sizing: border-box;
}
.navOpen {
/*background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 44px;*/
position: inherit;
top:inherit;
right: 10px;
height: 44px;
width: 44px;
z-index: 10;
float: right;
}

.header-menu ul li a{
display: block;
padding: 15px 30px 15px 10px;
/*background: #c3eced url("./img/arr02.png") 97% 50% no-repeat;
background-size: auto 15px;*/
/*border-bottom: 1px solid #FFF;*/
text-decoration: none;
line-height: 1.3;
color: #000;
font-size: 13px;
font-size: 1.3rem;
}
.header-menu ul.accordion li ul li:first-child a {
padding: 12px 30px 12px 10px;
}

.header-menu ul li.delete{
/*background: #444 url("img/batu.png") 61% 50% no-repeat;
background-size: 14px;*/
padding: 10px;
text-align: center;
color:#fff;
font-size: 13px;
font-size: 1.3rem;
}

.header-menu ul.accordion {
border-top: 1px solid #eee;
}
.header-menu ul.accordion ul{
display: none;
}
.header-menu ul.accordion .subCat ul.subList {
display: block;
}
.header-menu ul.accordion .tglMenu{
display: block;
padding: 15px 30px 15px 10px;
/*background: #c3eced url("img/arr02_dw.png") 97% 50% no-repeat;
background-size: auto 15px;*/
/*border-bottom: 1px solid #FFF;*/
text-decoration: none;
line-height: 1.3;
color: #000;
font-size: 13px;
font-size: 1.3rem;
}
.header-menu ul.accordion .open{
/*background: #c3eced url("img/arr02_up.png") 97% 50% no-repeat;
background-size: auto 15px;*/
}
.header-menu ul.accordion ul li a{
padding: 12px 30px 12px 20px;
/*background: #FFF url("img/arr_black_right.png") 97% 50% no-repeat;
background-size: auto 11px;*/
color: #000;
/*border-bottom: 1px dotted #ccc;*/
}
.header-menu ul.accordion ul li.subCat a,
.header-menu ul.accordion ul li.subCat ul.subList li a{
padding: 12px 30px 12px 20px;
}





/*--------------------------------------
pankuzu
---------------------------------------*/
#pankuzuWrap {
width: 100%;
overflow: auto;
white-space: nowrap;
margin: 0;
padding: 0 15px;
}
#pankuzu {
box-sizing: border-box;
width: 100%;
padding: 6px 0 8px;
font-size: 11px;
font-size: 1.1rem;
color: #000;
}
#pankuzu a {
color: #000;
}
footer {
box-sizing: border-box;
width: 100%;
padding: 40px 0 0 0;
margin: 60px 0 0 0;
position: relative;
}
footer .foot_logo {
width: 225px;
margin: 0 auto 30px;
}
footer .foot_logo a {
}
footer .foot_logo a:hover {
text-decoration: none;
}
footer .foot_logo .icon {
width: 30px;
}
footer .foot_logo .rightArea {
padding: 0 0 0 5px;
width: calc(100% - 30px);
}
footer .foot_logo .sitename {
font-size:16px;
font-size:1.6rem;
text-align: left;
line-height: 2rem;
}
footer .foot_logo .sitename .fs_s {
font-size:11px;
font-size:1.1rem;
}
footer .foot_logo .sponsored {
font-size:9px;
font-size:0.9rem;
width: 100%;
display: block;
text-align: center;
line-height: 2.2rem;
}




/*footer .sitename {
padding: 30px;
box-sizing: border-box;
color: #000;
}
footer .sitename a {
display: block;
text-align: center;
font-size: 18px;
font-size: 1.8rem;
font-weight: bold;
color: #000;
}*/
footer .areaInner {
box-sizing: border-box;
position: relative;
width: 100%;
margin: 0 auto;
padding: 0;
border-top: 1px solid #FFF;
}
/*footer .areaInner .footBox {
border-top: 1px solid #444;
}*/
footer .areaInner .footBox {
margin: 0;
}
footer .areaInner .footBox .sttl a {
display: block;
box-sizing: border-box;
font-size: 14px;
font-size: 1.4rem;
color: #FFF;
background: #33afa0 url("img/arr_white_down.png") right 10px center no-repeat;
background-size: 12px auto;
padding: 10px 40px 10px 4%;
text-decoration: none;
}
footer .areaInner .footBox .sttl.open a{
background: #33afa0 url(img/arr_white_up.png) right 10px center no-repeat;
background-size: 12px auto;
}
footer .areaInner .footBox .sttl {
border-bottom: 1px solid #f3f3f3;
padding: 0;
margin: 0;
image-rendering: -webkit-optimize-contrast;
}
footer .areaInner .footBox .sttl.sitemap a {
background: #33afa0 url("img/arr_white.png") right 12px center no-repeat;
background-size: 8px auto;
}
footer .areaInner .footBox .accChild {
display: none;
padding: 0;
margin: 0;
box-sizing: border-box;
background: #FFF;
}
footer .areaInner .footBox .accChild li {
display: block;
float: none;
padding: 0;
background: none;
margin: 0;
image-rendering: -webkit-optimize-contrast;
}
footer .areaInner .footBox .accChild li.sp {
display: block;
}
footer .areaInner .footBox .accChild li.sp a {
/*background-color: #FFF;*/
}
footer .areaInner .footBox .accChild li a {
display: block;
box-sizing: border-box;
background: url("img/arr_black.png") right 12px center no-repeat;
background-size: 8px auto;
color: #000;
border-bottom: 1px dotted #eee;
padding: 10px 40px 10px 4%;
font-size: 13px;
font-size: 1.3rem;
}
footer .areaInner .footBox .accChild li.subCat {
margin: 0;
}
footer .areaInner .footBox .accChild li.subCat a {
display: block;
box-sizing: border-box;
background: url("img/arr_black.png") right 12px center no-repeat;
background-size: 8px auto;
color: #000;
border-bottom: 1px dotted #eee;
padding: 10px 40px 10px 6%;
}
footer .areaInner .footBox .accChild li.subCat:last-child li:last-child a {
border: none;
}
footer .areaInner .footBox .accChild .subList {
padding: 0;
margin: 0;
display: block;
}
footer .areaInner .footBox .accChild .subList li {
display: block;
}
footer .areaInner .footBox .accChild .subList li:first-child:before {
content: "";
}
footer .areaInner .footBox .accChild .subList li a {
padding: 10px 40px 10px 10%;
background: url("img/arr_black.png") right 12px center no-repeat;
background-size: 8px auto;
}
footer .areaInner .footBox .accChild .subList li:after {
content: "";
}
footer .areaInner .footBox .accChild li:after {
content: "";
}
footer .areaInner .footBox .accChild li.subCat:after {
content: "";
}
footer .areaInner .footBox .accChild li:last-child:after {
content: "";
}
footer .areaInner .noticeArea {
box-sizing: border-box;
width: 90%;
margin: 30px auto 10px;
padding: 20px;
box-sizing: border-box;
font-size: 12px;
font-size: 1.2rem;
line-height: 1.8em;
}
footer .areaInner .noticeArea p {
font-size: 12px;
font-size: 1.2rem;
}
footer .botPrg {
padding: 0;
margin: 0 0 30px 0;
text-align: center;
font-size: 12px;
font-size: 1.2rem;
}
footer .botArea {
padding: 0;
}
footer .botArea .botInner {
width: 100%;
}
footer .noticeArea p.botPrg{
padding: 6px 0 2px;
text-align: center;
}
footer p.copy {
margin: 0;
padding: 10px;
font-size: 10px;
font-size: 1.0rem;
line-height: 1.8rem;
text-align: center;
}
footer a {
text-decoration: none;
}


/*--------------------------------------
　PageTop
---------------------------------------*/

#page-top {
position: fixed;
bottom: 90px;
right: 15px;
z-index: 2;
width: 50px;
}
#page-top img {
}





}






