/* 初期設定 */
html {overflow-y: scroll;}

body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, hgroup, header, address,
figure, figcaption {margin: 0;padding: 0;}

address, caption, cite, code, dfn, em, strong, th, var {font-style: normal;font-weight: normal;}
table {border-collapse: collapse;border-spacing: 0;}
caption, th {text-align: left;}
q:before ,q:after {content: '';}
object, embed {vertical-align: top;}
hr, legend {display: none;}
h1, h2, h3, h4, h5, h6 {font-size: 100%;font-weight: normal;}
img, abbr, acronym, fieldset {border: 0;}
img {vertical-align: bottom;-ms-interpolation-mode: bicubic;}
ul li {list-style-type: none;}
.textwidget{margin: 0;padding: 0;}
 * {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}

/* BODY */
body {font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo,'ＭＳ Ｐゴシック', sans-serif;
	color: #444; font-size: 87.5%; line-height: 1.6em; text-align: left; -webkit-text-size-adjust: 100%;-webkit-font-smoothing: antialiased; background-color: #ffffff;}

#wrapper {width: 100%; min-width: 980px; border-width: 5px 0 0 0; border-style: solid;}

/* リンクの属性（未指定の時）*/
a {text-decoration: none;}
a:hover {text-decoration: underline;}

/* 画像属性等 */
img {max-width: 100%; height: auto; -webkit-transition:all 0.25s ease-in-out; transition:all 0.25s ease-in-out; vertical-align: bottom;}
.alignleft {float: left;  margin: 5px 10px 5px 0;}
.alignright{float: right; margin: 5px 0 5px 10px;}
.aligncenter{margin: 5px auto;display:block;}
a.link img,a img.link {margin: 0; overflow: hidden;}
a:hover.link img,a:hover img.link{transform: scale(1.15,1.15); -webkit-transform:scale(1.15,1.15); -moz-transform:scale(1.15,1.15); -ms-transform:scale(1.15,1.15); -o-transform:scale(1.15,1.15);}

/* ヘッダー */
header {height: auto; background-color: #FFF;}
#header-inner {width: 980px; margin: 0 auto;}
#ptitle {max-width: 900px; margin: 0 auto; padding: 30px 0 10px; font-size: 3.0em; font-weight: bold; line-height: 1.1em; color: #444; text-align: center; display: block;}
#ptitle a {color: #444; text-decoration: none;}
#ptitle a:hover {color: #444;}

 /* アイテム画像 */
.eyepicture {position: relative; width: 100%; margin-bottom: 15px; padding-top: 300px; overflow: hidden; z-index: 10;}
.eyepicture {background: url('img/header.jpg') center center no-repeat;  -webkit-background-size: cover; background-size: cover;}

/* ソーシャルボタン等 */
#header-social-button {position: absolute; top: 15px; right: 20px; display: block;}
#header-social-button a {font-size: 28px; text-decoration: none; opacity: 0.4;}
#header-social-button a:hover {text-decoration: none; opacity: 1.0;}
#gnav-social-button {display: none;}

/* ヘッダーナビゲーション */
#gnav-btn {display :none;}
#gnav {width: 100%;}
#gnav nav {margin: 0 auto; padding: 0; position: relative; z-index: 1000;}
#gnav nav > ul { list-style-type: none; height: 50px; padding: 0;}
#gnav nav > ul > li {position: relative; float: left; width: 20%; height: 50px;  line-height: 50px; margin: 0; text-align: center;}
#gnav nav > ul > li .target{padding: 0 10px; display:inline-block; vertical-align: middle; line-height:1.2em;}
#gnav nav > ul > li a {display: block; color: #333; font-weight: 600; text-decoration: none; -webkit-transition: all 1s ease;  -moz-transition: all 1s ease;}
#gnav nav > ul > li > ul {position: absolute; top: 100%; left:  0; list-style: none; margin: 0;}
#gnav nav ul li ul li{margin: 0; overflow: hidden; height: 0; width: 160%; border-right: none; -webkit-transition: .15s; transition: .15s;}
#gnav nav ul li:last-child ul {width: 100%; left: -60%;}
#gnav nav ul li ul li a{padding: 0 1em; height: 30px; line-height: 30px; color: #444; text-align: left; background-color: #FFF; border-bottom: 1px solid #CCC; overflow: hidden;}
#gnav nav ul li ul li:first-child a {border-top: 1px solid #CCC;}
#gnav nav .sub-menu .current-menu-item {border-bottom: none;}
#gnav nav ul li:hover ul li {overflow: hidden; height: 30px;}

/* ソーシャルボタン等 */
#header-social-button {position: absolute; top: 15px; right: 20px; display: block;}
#header-social-button a {font-size: 28px; text-decoration: none; opacity: 0.4;}
#header-social-button a:hover {text-decoration: none; opacity: 1.0;}
#gnav-social-button {display: none;}

/* ヘッダー画像 */
#mainvisual {position: relative; width: 100%; background-color: #FFF ; overflow: hidden; z-index: 10;}
#mainvisual #mainvisual-inner {width: 100%;}
#mainvisual #mainvisual-inner img {width: 100%;}
.over-color {display: block; position: absolute; left: 0; bottom: 0 ; width: 100%; height: calc( 150 / 2400 * 100vw ); line-height: calc( 150 / 2400 * 100vw ); z-index: 100;}
.visual-link { display:inline-block; vertical-align: middle; margin-left: calc((100vw - 960px)/2); font-size:  1.6em; font-weight: 600; line-height:1.2em; color: #FFF; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;z-index: 200;}

/* パンくずリスト */
#plist {width: 100%; padding: 10px 0; font-size: 79%;}
#plist .plist-inner {max-width: 1000px;margin: 0 auto;overflow: hidden;}

/* コンテンツ */
#containar {max-width: 980px;margin: 0 auto; padding-top: 15px;}
#contents {float: left;width: 920px; padding-bottom: 20px;}
h1 {margin: 0; padding: 0 0 0.5em; font-size: 1.6em; font-weight: 500; line-height: 1.3em; color: #e32929;}
h2 {margin: 0; padding: 0 0 0.5em; font-size: 1.5em; font-weight: 500; line-height: 1.3em; color: #e32929;}
h3 {margin: 0; padding: 0 0 0.5em; font-size: 1.3em; font-weight: 500; line-height: 1.3em; color: #e32929;}
h4 {margin: 0; padding: 0 0 0.5em; font-size: 1.2em; font-weight: 500; line-height: 1.3em; color: #222;}
h5 {margin: 0; padding: 0 0 0.5em; font-size: 1.1em; font-weight: 500; line-height: 1.3em; color: #222;}
h6 {margin: 0; padding: 0 0 0.5em; font-size: 1.0em; font-weight: 500; line-height: 1.3em; color: #222;}
.main-title, .cat-title, .post-title {position: relative; background: #e32929; margin-bottom: 10px; padding: 0.3em 5px 0.3em 2.3em; font-size: 1.6em; font-weight: 600; color: #FFF; border-radius: 1.2em .4em .4em 1.2em;}
.main-title::before, .cat-title:before, .post-title:before {font-family: 'FontAwesome'; content: "\f00c"; position: absolute; left: 0; top: 50%; padding: 0em; color: #FFF; font-weight: normal;	width: 1.8em;  height:1.8em; line-height: 1.8em; text-align: center;border-radius: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); border: 3px solid #CCC;}
.cat-title:before {font-family: 'FontAwesome'; content:'\f07c';}
.post-title:before {font-family: 'FontAwesome'; content:'\f15c';}
.sub-title {position: relative; font-size: 1.0em; line-height: 1.4em; font-weight: 600; color: #333; background: #EEE; margin-bottom: 6px; padding: 0.2em 0.5em;}
.sub-title:before{font-family: "FontAwesome"; content: "\f024"; position: absolute; padding: 0em; color: #FFF; left: -1.35em; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.parts-title {margin: 0; padding: 0; font-size: .92em; font-weight: 600; line-height: 1.6em; color: #333; text-align: center; display: block;}
.fmenu-title {margin: 0; padding: 0; font-size: 92%; font-weight: 600; line-height: 1.6em; color: #FFF; text-align: center; display: block;}
.comment-reply-title{ font-size: 1.429em; font-weight: normal;}
.comment-reply-title:before {font-family: 'FontAwesome'; content: '\f27a'; padding-right: 0.2em; vertical-align: text-top;}


/*カスタム*/

.flex{
    display: flex;
    justify-content: space-between;
}
.flex>p{
    width: 80%;
}

.scroll_table {overflow: auto; width: 99%;}

.daen-box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    color: #6091d3;/*文字色*/
    background: #FFF;
    border: solid 3px #6091d3;/*線*/
    border-radius: 10px;/*角の丸み*/
}
.daen-box2 p {
    margin: 0; 
    padding: 0;
}


.fukidashi-box24 {
    position: relative;
    padding: 0.5em 0.7em;
    margin: 2em 0;
    background: #e6f4ff;
    color: #5c98d4;
    font-weight: bold;
}
.fukidashi-box24:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #e6f4ff;
    width: 0;
    height: 0;
}
.fukidashi-box24 p {
    margin: 0; 
    padding: 0;
}


.point-box27 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #62c1ce;
}
.point-box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #62c1ce;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.point-box27 p {
    margin: 0; 
    padding: 0;
}


.point-box28 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #4169e1;
}
.point-box28 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #4169e1;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.point-box28 p {
    margin: 0; 
    padding: 0;
}


.point-box29 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #ff4500;
}
.point-box29 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #ff4500;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.point-box29 p {
    margin: 0; 
    padding: 0;
}


.waku-box29 {
    margin: 2em 0;
    background: #f1f1f1;
}
.waku-box29 .box-title {
    font-size: 1.2em;
    background: #5fb3f5;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.waku-box29 p {
    padding: 15px 20px;
    margin: 0;
}


/* Form */
.c-form-text {
    height: 2.4em;
    width: 50%;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.c-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.c-form-submit-button {
    display: inline-block;
    width: 15%;
    padding: 8px;
    border: none;
    border-radius: 4px;
    background-color: #dc143c;
    color: #fff;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
}

.c-form-submit-button:hover {
    background-color: #ff4500;
}

.c-form-submit-button:focus {
    outline: 0;
    background-color: #ff4500;
    border: 2px solid rgb(33, 150, 243);
}

/* ページ送り */
.pagination {
  display: inline-block;
}

.pagination a {
  color: black;
  float: left;
  padding: 4px 8px;
  text-decoration: none;
  border: 1px solid #ddd;
}

.pagination a.active {
  background-color: #4CAF50;
  color: white;
  border: 1px solid #4CAF50;
}

.pagination a:hover:not(.active) {background-color: #ddd;}

.pagination a:first-child {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.pagination a:last-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}

/* 装飾ボタン */
a.btn-green{
  padding: 0.5em;
  margin: 10px 0;
  display: block;
  color: #fff !important;
  background: #1e90ff;
  text-decoration: none;
  font-weight: bold;
  font-size:16px;
  border-radius: 3px;
  text-align:center;
  text-decoration:none !important;
}
a.btn-green:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: -3px 5px 0 0;
  background: url("画像URL") no-repeat;
  background-size: contain;
  vertical-align: middle;
}
a.btn-green:hover {
  background: #0000ff;
}
@media screen and (min-width: 768px){
  a.btn-green{
    padding: 0.5em 2em;
    margin: 10px auto;
    font-size:20px;
    display:inline-block;
  }
  a.btn-green:before {
    margin: -3px 10px 0 0;
  }
}
/* 装飾ボタン */
a.btn-pink{
  padding: 0em;
  margin: 0 0;
  display: block;
  color: #fff !important;
  background: #ff69b4;
  text-decoration: none;
  font-weight: bold;
  font-size:16px;
  border-radius: 3px;
  text-align:center;
  text-decoration:none !important;
}
a.btn-pink:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin: 0 0 0 0;
  background: url("画像URL") no-repeat;
  background-size: contain;
  vertical-align: middle;
}
a.btn-pink:hover {
  background: #ff0000;
}
@media screen and (min-width: 768px){
  a.btn-pink{
    padding: 0.5em 2em;
    margin: 10px auto;
    font-size:20px;
    display:inline-block;
  }
  a.btn-pink:before {
    margin: -3px 10px 0 0;
  }
}

/* ボタン */
.btn_1{
    width:320px;
    height:60px;
    line-height:60px;
}
.btn_1 a{
    display:block;
    width:100%;
    height:100%;
    text-decoration: none;
    background:#0000FF;
    text-align:center;
    border:5px solid #0000FF;
    color:#FFFFFF;
    font-size:20px;
    font-weight:bold;
    border-radius:35px;
    -webkit-border-radius:35px;
    -moz-border-radius:35px;
    transition: all 0.5s ease;
}
.btn_1 a:hover{
    background:#FFFFFF;
    color:#0000FF;
    margin-left:0px;
    margin-top:0px;
    border:5px solid #0AAFFF;
    box-shadow:none;
}


/* ボタンNEW(Click) */
a.buttonclick {
  position: relative;
  display: inline-block;
  font-family: "Noto Sans Japanese";
  font-weight: bold; 
  line-height: 1.5;
  padding: 20px 30px 20px 70px;
  transition: 0.3s;
  text-decoration: none;
  color: #fff; 
  border-radius: 0.5rem;
  background: #32b16c; 
  box-shadow: 0 5px 0 #2c9d60;
  margin-left: 10px;
}

a.buttonclick p {
  margin: 0;
}

a.buttonclick .btn_balloon {
  position: absolute;
  display: inline-block;
  bottom: 0.8em;
  left: -10px;
  width: 5em;
  height: 5em;
  font-family: "Noto Sans Japanese";
  line-height: 5em;
  text-align: center;
  color: #32b16c;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #32b16c;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-10deg);
}

a.buttonclick .btn_balloon::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}

a.buttonclick:hover {
  transform: translate(0, 3px);
  background: #6bc594; 
  box-shadow: 0 2px 0 #2c9d60;
}


/* ボタンNEW(Click) 赤*/
a.buttonclick_red {
  position: relative;
  display: inline-block;
  font-family: "Noto Sans Japanese";
  font-weight: bold; 
  line-height: 1.5;
  padding: 20px 30px 20px 70px;
  transition: 0.3s;
  text-decoration: none;
  color: #fff; 
  border-radius: 0.5rem;
  background: #fa1807; 
  box-shadow: 0 5px 0 #fc5f38;
  margin-left: 10px;
}

a.buttonclick_red p {
  margin: 0;
}

a.buttonclick_red .btn_balloon_red {
  position: absolute;
  display: inline-block;
  bottom: 0.8em;
  left: -10px;
  width: 5em;
  height: 5em;
  font-family: "Noto Sans Japanese";
  line-height: 5em;
  text-align: center;
  color: #fc0824;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #d62439;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-10deg);
}

a.buttonclick_red .btn_balloon_red::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}

a.buttonclick_red:hover {
  transform: translate(0, 3px);
  background: #c56b7d; 
  box-shadow: 0 2px 0 #ed0c39;
}

/* ボタン 青 */
.buttonblue a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    color: #fff;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    background: linear-gradient(to top, rgb(5, 130, 174), #27acd9);
    color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, .2);
    border-radius: 9999px;
}
.buttonblue a:hover {
    color: #fff;
    opacity: 0.5;
}
.buttonblue a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.buttonblue a:hover:after {
    border-color: #fff;
}


/*---------------------------ボタン1---------------------------*/
#fv .button1{
    padding: 2% 0 1.5%;
    width: 90%;
    margin: 8% auto 0;
    background-size: auto auto;
    background-color: rgba(255, 110, 125, 1);
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 135, 140, 1) 5px, rgba(255, 135, 140, 1) 7px );
    text-align: center;
    box-shadow: 0px 0px 0px 5px rgba(255, 110, 125, 1);
    border: dashed 1px #FFF;
    transition: .9s;
    border-radius: 10px;
    position:relative;
}

#story .button1{
    padding: 2% 0 1.5%;
    width: 90%;
    margin: 5% auto 0;
    background-size: auto auto;
    background-color: rgba(255, 110, 125, 1);
    background-image: repeating-linear-gradient(45deg, transparent, transparent 5px, rgba(255, 135, 140, 1) 5px, rgba(255, 135, 140, 1) 7px );
    text-align: center;
    box-shadow: 0px 0px 0px 5px rgba(255, 110, 125, 1);
    border: dashed 1px #FFF;
    transition: .9s;
    border-radius: 10px;
    position:relative;
}

.button1 a{
    color: #fff;
    font-size: 1.6em;
    letter-spacing: 0.13em;
}

.bound span{
  display: inline-block;
  animation: bound .9s linear infinite;
    color:#ff0;
}

.bound span:nth-child(2) {
  animation-delay: 0.2s;
}

.bound {
  animation: bound .7s linear infinite;
}
@keyframes bound {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-30%);
  }
  100% {
    transform: translateY(0px) scaleY(0.7);
  }
}

/*---------------------------ボタン1---------------------------*/

/* 吹き出し */
.balloon5 {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon5 .faceicon {
  float: left;
  margin-right: -90px;
  width: 80px;
}

.balloon5 .faceicon img{
  width: 100%;
  height: auto;
  border: solid 3px #d7ebfe;
  border-radius: 50%;
}

.balloon5 .chatting {
  width: 100%;
}

.says {
  display: inline-block;
  position: relative; 
  margin: 5px 0 0 105px;
  padding: 17px 13px;
  border-radius: 12px;
  background: #d7ebfe;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  left: -24px;
  border: 12px solid transparent;
  border-right: 12px solid #d7ebfe;
}

.says p {
  margin: 0;
  padding: 0;
}


.balloon6 {
  width: 100%;
  margin: 1.5em 0;
  overflow: hidden;
}

.balloon6 .faceicon {
  float: right;
  margin-left: -90px;
  width: 80px;
}

.balloon6 .faceicon img{
  width: 100%;
  height: auto;
  border: solid 3px #d7ebfe;
  border-radius: 50%;
}

.balloon6 .chatting {
  width: 100%;
}

.says2 {
  display: inline-block;
  position: relative;
  margin: 5px 105px 0 0;
  padding: 17px 13px;
  border-radius: 12px;
  background: #d7ebfe;
}

.says2:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 18px; 
  right: -24px;
  border: 12px solid transparent;
  border-left: 12px solid #d7ebfe;
}

.says2 p {
  margin: 0;
  padding: 0;
}

/* Table */
.tbl-r02 th {
  background: #ffffff;
  border: solid 1px #ffffff;
  color: #ffffff;
  padding: 0px 0px 0px 0px;
}
.tbl-r02 td {
　border: solid 1px #ffffff;
  padding: 1px;
}
 
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 80%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}

/* table */
table.responsive {
   display: block;
   border: none;
}
table.responsive tr {
   display: inline;
}
table.responsive td {
   display: inline-block;
   max-width: 290px;
   margin-top: 1px;
   margin-bottom: 1px;
   margin-right: 1px;
   margin-left: 1px;
}

/* radio */
$color1: #f4f4f4;
$color2: #3197EE;

.radio {
  margin: 0.5rem;
  input[type="radio"] {
    position: absolute;
    opacity: 0;
    + .radio-label {
      &:before {
        content: '';
        background: $color1;
        border-radius: 100%;
        border: 1px solid darken($color1, 25%);
        display: inline-block;
        width: 1.4em;
        height: 1.4em;
        position: relative;
        top: -0.2em;
        margin-right: 1em; 
        vertical-align: top;
        cursor: pointer;
        text-align: center;
        transition: all 250ms ease;
      }
    }
    &:checked {
      + .radio-label {
        &:before {
          background-color: $color2;
          box-shadow: inset 0 0 0 4px $color1;
        }
      }
    }
    &:focus {
      + .radio-label {
        &:before {
          outline: none;
          border-color: $color2;
        }
      }
    }
    &:disabled {
      + .radio-label {
        &:before {
          box-shadow: inset 0 0 0 4px $color1;
          border-color: darken($color1, 25%);
          background: darken($color1, 25%);
        }
      }
    }
    + .radio-label {
      &:empty {
        &:before {
          margin-right: 0;
        }
      }
    }
  }
}


/* 表のレスポンシブ */
.row_table,
.row_table td,
.row_table th {
  border: 1px solid #cbced2;
  border-collapse: collapse;
  text-align: center;
}

.row_table th {
  background: #01214d;
  color: #fff;
  padding: 4px 12px;
  display: block;
  width: 100%
}

.row_table td {
  background: #f5f6f8;
  padding: 4px 12px;
  display: block;
  width: 100%;
}

/* 投稿設定*/
.doc {padding: 1em 3em; text-align: justify; text-justify: inter-ideograph; background-color: #FFF;}
.info  {padding: 10px 2em; font-size: 1em; text-align: justify; text-justify: inter-ideograph; background-color: #FFF;}
.info-img {max-width: 250px;}
.doc h2:before, .doc h3:before, .doc h4:before, .doc h5:before, .doc h6:before {font-family: 'FontAwesome'; content:'\f14a'; margin-right: 0.2em; vertical-align: text-top;}
.info h2:before, .info h3:before, .info h4:before, .info h5:before, .info h6:before {font-family: 'FontAwesome'; content:'\f14a'; margin-right: 0.2em; vertical-align: text-top;}
.waku {border: 1px solid #CCC;}
.doc ul {margin-left: 0;}
.doc ol {margin-left: -1em;}
.doc ul li {list-style-type: disc;}
.line {padding-bottom: 0.1em; background-image: linear-gradient(to right, #FFF 1.1px, transparent 1px), linear-gradient(to bottom, #CCC 1.1px, transparent 1px); background-size: 2px 2.0em; line-height: 2.0em;}

/* カード型記事リスト表示(タイプ3) */
#card-list {margin: 0 0 15px;  letter-spacing: -.4em;}
#card-list article {display: inline-block; vertical-align:top; margin: 0; padding: 0 12.8px 20px; width: 33.33%; letter-spacing: 0; }
#card-list article .inner{margin: 0; padding: 0; background-color: #FFF;}
#card-list .img-set {width: 100%; border: 1px solid #CCC; overflow: hidden;}
#card-list h3 { margin: 0; padding: 5px 10px; font-size: 1.25em; font-weight: 600; line-height: 1.2em; color: #000;}
#card-list p {padding: 0 5px; font-size: 0.9em; line-height: 1.5em; text-align: justify; text-justify: inter-ideograph; overflow: hidden; }
#card-list h3 a {color: #333;}
/* 続きを読む */
#card-list .next {padding: 0; font-size: 0.9em; text-align: right;}
#card-list .next a {margin: 0; padding: 0.2em .5em; font-weight: 500; color: #333; text-decoration: none; -webkit-border-radius: 4px; border-radius: 4px;  background-color: #EEE;}
#card-list .next a:hover {color: #FFF;}

/* テキスト段落表示 */
.txt-column{margin: 10px 0 2em; letter-spacing: -.4em;}
.txt-column .d-text {display: inline-block; vertical-align: top; width: 33.33%; margin: 0; padding: 0 1%; letter-spacing: 0; text-align: justify; text-justify: inter-ideograph; overflow: hidden;}
.column-index{margin-bottom: 15px; text-align: center; font-size: 8em; display: block;}

/* 記事リスト表示(アーカイブ) */
#post-list-cat{margin: 0 auto; padding: 20px; background-color: #FFF;}
#post-list-cat article{padding: 15px 0 ; border-bottom: 1px dotted #CCC;}
#post-list-cat h3 {font-weight: 600; line-height: 1.2em; padding-bottom: 0.5em;}
#post-list-cat .img-set {float: left; border: 1px solid #CCC; margin-right: 10px; max-width: 150px; overflow: hidden; }
#post-list-cat p {font-size: 0.9em; line-height: 1.4em; padding: 0; text-align: justify; text-justify: inter-ideograph; overflow: hidden; }
#post-list-cat h3 a {color: #333;}
/* 続きを読む */
#post-list-cat .next {margin: .2em 1em ; font-size: 0.9em; text-align: right;}
#post-list-cat .next a {margin: 0; padding: 5px 10px; font-weight: 500; color: #444; text-decoration: none; -webkit-border-radius: 8px; border-radius: 8px;  background-color: #EEE;}
#post-list-cat .next a:hover {color: #FFF;}

/* 更新日等表示 */
.p-cate {margin: 0; padding: 0 10px 10px; font-size: 0.75em; line-height: 1.2em; color: #999; text-align: right; display: block;}
.p-cate:before{font-family: 'FontAwesome'; content:'\f07c'; margin-right: 2px; vertical-align: middle;}
.k-date {margin-left: 2em;}
.k-date:before {font-family: 'FontAwesome'; content:'\f073'; margin-right: 2px; vertical-align: middle;}
#top-post-list .p-cate, #sub-post-list .p-cate{padding-left: 0;}
.p-list .p-cate{font-size: .78em; line-height: 1.2em;}

/* 関連記事リスト属性 */
#related-posts{margin: 10px 0; letter-spacing: -.4em;}
#related-posts h3 {padding: 0 0 0.5em;}
#related-posts .k-post {display: inline-block; vertical-align: top; width: 50%; padding: 5px;  letter-spacing: 0; overflow: hidden;}
#related-posts .k-post h5 {padding-bottom: 0.2em; font-size: 1.0em; font-weight: 500; line-height: 1.2em;}
#related-posts .k-post h5 a {color: #000; text-decoration: none;}
#related-posts .k-post h5 a:hover {text-decoration: underline;}
#related-posts .k-post .img-set {float: left; max-width: 150px; margin-right: 10px; border: 1px solid #CCC; overflow: hidden;}
#related-posts .k-post p {margin: 0 5px; font-size: .85em ; line-height: 1.3em; text-align: justify; text-justify: inter-ideograph;}

/* アドセンス属性 */  
#ads-parallel {max-width: 640px; margin: 0 auto 15px auto;}
.ads-left {float: left; display: block;}
.ads-right {float: right; display: block;}
#ads-parallel img {max-width: 300px;}
.ads-res > .textwidget {margin: 0 0 15px; text-align: center;}
.ads-rec > .textwidget {text-align: center;}

/*  コメント */
#comments {margin: 0;}
.comments-open label {display: block;}
#comment-author, #comment-email, #comment-url, #comment-text { width: 80%;}
#comment-bake-cookie {margin-left: 0; vertical-align: middle;}
#top-comment-nav, #comment-nav {list-style: none; width: 100%; margin: 0 0 1em 0; padding: 0; text-align: center;}
#top-comment-nav li, #comment-nav li {display: inline; padding: 0;}
#top-prev-comments, #prev-comments {text-align: left; margin: 0 1em 0 0;}
#top-next-comments, #next-comments {text-align: right; margin: 0 0 0 1em;}
#top-num-comments, #num-comments {text-align: center;}
#comment-submit {font-weight: bold;}
.comment,.trackback {margin: 0 0 .5em 1em; border-bottom: 1px dotted #ccc; padding-bottom: .5em; font-size: 100%;}
.comment .asset-meta,.trackback .asset-meta { border: 0; margin-bottom: .5em; font-size: 92%;}
.comment-content {clear: none; line-height: 150%; margin-bottom: 1em; font-size: 100%;}
.comment-content p {margin-bottom: .5em;}
.comments-open-content{margin-left: 1em;}
.trackbacks-info{ margin-left: 1em; font-size: 12px;}

/* サイドバー */
#sidebar {float: right; width: 321px;}
.sidebar-wrapper {margin-bottom: 20px; padding: 10px; background-color: #FFF;}
.sidebar-wrapper h4 {position: relative; padding: 0.4em 5px 0.4em 0.5em; font-size: 1.1em; line-height: 1.5em; color: #444; font-weight: bold; border-bottom: 1px solid #CCC; z-index: 300;}
.sidebar-wrapper h4:before {font-family: 'FontAwesome'; content: "\f058"; padding-right: 0.2em; font-size: 1.2em; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.sidebar-wrapper form {padding: 10px; font-size: 85%;}
.sidebar-wrapper .tagcloud{padding: 10px; font-size: 85%;}
.sidebar-wrapper ul {padding: 0; border-bottom: 1px solid #CCC;}
.sidebar-wrapper ul li {border-top: solid 1px #D5D5D5;}
.sidebar-wrapper ul li:first-child {border-top: none;}
.sidebar-wrapper ul li a {display: block;padding: 10px 20px 10px 10px; font-size: 85%; line-height: 1.5em; color: #333;text-decoration: none;background: url(img/arrow_04.png) no-repeat right center;}
.sidebar-wrapper ul li a:hover{color: #C00;}
.sidebar-wrapper ul.children {padding: 0; border: none;}
.sidebar-wrapper ul.children li{border-top: solid 1px #D5D5D5; text-indent: 10px;}
.sidebar-wrapper ul.children li:first-child{border-top: solid 1px #D5D5D5;}
.sidebar-wrapper .post-date {padding-left: 15px; line-height: 1.0em; font-size: 77%;}

/* フッター */
footer {width: 100%; min-width: 980px; color: #FFF; background-color: #000;}
#footer-inner {width: 980px;margin: 0 auto;padding: 10px 0;}
#footer-inner nav{text-align: center;margin: 0; padding: 10px 0 20px;}
#footer-inner nav ul li {display: inline-block;*display: inline;*margin-bottom: 12px;padding: 0 10px 0 15px;line-height: 1.3em;font-size: 92%; color: #FFF;border-left: solid 1px #333;}
#footer-inner nav ul li:first-child {border-left: none;}
#footer-inner2{ margin: 0 auto; padding: 20px 0; width: 980px; letter-spacing: -.4em;}
#footer-inner2 .f-left, #footer-inner2 .f-center, #footer-inner2 .f-right {display: inline-block; vertical-align:top; margin: 0; padding: 0 10px; width: 33.33%; line-height: 1.3em; letter-spacing: 0;}
#footer-inner2 .f-01, #footer-inner2 .f-02, #footer-inner2 .f-03, #footer-inner2 .f-04 {display: inline-block; vertical-align:top; margin: 0; padding: 0 10px; width: 25%; line-height: 1.3em; letter-spacing: 0;}
.footer-wrapper h4 {position: relative;margin: 0 0 0.6em 0; padding: 0.2em 0 0.2em 1.3em; color: #FFF; font-size: 100%; font-weight: 600; line-height: 1.1em;}
.footer-wrapper h4::before {font-family: 'FontAwesome'; content: "\f138"; position: absolute; left: 0; top: 50%; padding: 0em; font-size: 1.2em; font-weight: normal; text-align: center; -webkit-transform: translateY(-50%); transform: translateY(-50%);}
.footer-wrapper ul {margin: 0 0 10px 5px; list-style: none;}
.footer-wrapper ul > li {line-height: 1.8em; font-size: 90%; display: block;}
.footer-wrapper ul > li:before {content: "└"; vertical-align: middle;}
.footer-wrapper ul > li > a {padding-left: 2px;}
.footer-wrapper ul.children {margin: 0;}
.footer-wrapper ul.children li { padding-left:  2em;}
.footer-wrapper form,
.footer-wrapper p,
.footer-wrapper .tagcloud {padding: 0 10px 10px;}
.footer-wrapper .tagcloud {line-height: 2.0em; font-size: 85%;}
.footer-wrapper .post-date{font-size: 85%;}
footer a {color: #FFF; text-decoration: none; font-weight: 600;}
footer a:hover{color: #FFF; text-decoration: underline;}
#copyright {width: 100%; padding: 10px 0; text-align:center; font-size: 85%; font-weight: 600; color: #FFF; border-style: solid; border-width: 0 0 5px 0; background-color: #000;}

/* 注目記事表示 */
#at-post-list{padding-bottom: 10px;letter-spacing: -.4em;}
#at-post-list article {display: inline-block; vertical-align: top; width: 50%; margin: 0; padding: 5px 10px; letter-spacing: 0; overflow: hidden; z-index: 100;}
#at-post-list article .carousel-set {position: relative; border: 1px solid #CCC; overflow: hidden;}
#at-post-list .idx {position: absolute; top: calc(100% - 1.3em) ; left: auto; width: 100%; height: 100%; overflow: hidden; z-index: 200; -webkit-transition: .2s;	transition: .2s;}
#at-post-list article:hover .idx {top: 0; padding-top: 10%;}
#at-post-list .idx h3{padding: 0 20px; font-size: 1.05em; line-height: 1.2em; color: #FFF; font-weight: 600; text-align: center;  z-index: 600; display: block;}
#at-post-list .idx p { padding: 20px 20px 0; font-size: 85%; line-height: 1.2em; font-weight: normal; text-align: justify; color: #FFF; text-justify: inter-ideograph;}
#at-post-list .idx a {color: #FFF; text-decoration: none;}
#at-post-list .idx a:hover{text-decoration: underline;}

/*ピックアップ記事 */
.rank-post {margin-top: 10px; padding: 0; overflow: hidden;}
.rank-post .p-post {position: relative; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px dotted #999;}
.rank-post  h5{display: block; padding: 0 0 5px ; font-size: 1em; line-height: 1.0em; font-weight: 500; text-align: left; text-align: justify; text-justify: inter-ideograph;}
.rank-post .p-post:last-child {margin-bottom: 0; border-bottom: none;}
.rank-post .p-post a {color: #444; text-decoration: none;}
.footer-wrapper .rank-post .p-post a {color: #FFF!important; font-weight: 600!important; text-decoration: none;}
.rank-post .p-post a:hover {text-decoration: underline;}
.rank-post .p-post p {font-size: 0.7em!important; line-height: 1.2em!important; color: 666; text-align: justify!important; text-justify: inter-ideograph!important;}
.rank-post .p-post .img-set{float: left; margin-right: 8px; max-width: 120px; border: 1px solid #CCC;display: block; overflow: hidden;}
.rank-post .p-post .num2 {position: absolute; top: 5px; left: 5px; font-size: 12px; line-height: 12px; font-weight: 600; color: #FFF; padding: 4px 6px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;}
.rank-post .eday {float: right; color: #999; font-size: 9px;}
#right-column .rank-post .p-post .img-set {float: none; margin-right: 0; margin-bottom: 5px; max-width: 100%; border: 1px solid #CCC;display: block; overflow: hidden;}

/*ページ分割*/
.e_page{text-align: center; font-size: 100%; padding: 15px 0;  letter-spacing: 0; }
.e_page .link_before,.e_page .link_page,.e_page .current_page,.e_page .link_next {color: #444;padding: 2px 6px; background: #FFF; display: inline-block; border: solid 1px #CCC;text-decoration: none; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;}
.e_page .current_page {color: #444; font-weight: bold; display: inline-block; padding: 2px 6px; background: #F5F5F5; border: solid 1px #CCC; -webkit-border-radius: 4px; border-radius: 4px;}
.e_page a {color: #444;padding: 2px 6px; background: #FFF; display: inline-block; border: solid 1px #CCC;text-decoration: none; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;}
.e_page a:hover{background: #F5F5F5; color: #444; font-weight: normal;}

/* ------ スクロールトップ------ */
.pagetop {display: none; position: fixed; bottom: 30px; right: 0;}

/* 検索フォーム */
#h-search {position: absolute; top: 10px; right: 0; width: 250px; text-align: right;}
#searchform #search {width: 7,0%; height: 30px; padding-left: 5px; font-size: 92%; border-radius: 0; border: 1px solid #CCC;}
#searchsubmit {width: 60px; height: 30px; margin: 0 0 0 -5px; font-size: 92%; border: none; border-radius: 0; background: transparent; cursor: pointer; background-color: #CCC; color: #FFF; font-weight: 600;}
#n-search {display: none;}
input[type="button"],input[type="submit"] {-webkit-appearance: none;}

/* ------タグクラウド */
.tagcloud, .widget-tag-cloud {margin: 0; padding: 5px 10px;}
.tagcloud  a, widget-tag-cloud a {display: inline-block; line-height: 100%; font-size: 1.0em!important; background: none; border: 1px solid #CCC; text-decoration: none; padding: 4px 6px 4px; margin: 0 5px 5px 0;
	 -webkit-transition: .3s ease; -moz-transition: .3s ease; -o-transition: .3s ease; transition: .3s ease; -webkit-border-radius: 5px; -moz-border-radius: 5px;  -ms-border-radius: 5px; border-radius: 5px;}
.footer-wrapper .tagcloud  a { font-weight: 600; background: none; color: #FFF;}
.tagcloud a:hover, widget-tag-cloud a:hover {background: #999; color: #FFF; font-weight: 600; text-decoration: none;}

/* ソーシャルボタン等 */
#header-social-button {position: absolute; top: 15px; right: 15px;}
#header-social-button a {font-size: 2.0em; text-decoration: none; color: #666; opacity: 0.2;}
.icon-feed:before {font-family: 'FontAwesome'; content: '\f143'; margin: 0 1px;}
.icon-facebook:before {font-family: 'FontAwesome'; content:'\f082'; margin: 0 1px;}
.icon-gplus:before {font-family: 'FontAwesome'; content:'\f0d4'; margin: 0 1px;}
.icon-twitter:before {font-family: 'FontAwesome'; content:'\f081'; margin: 0 1px;}
#header-social-button a.icon-feed:hover {color: #FB9F3B; opacity: 1.0;}
#header-social-button a.icon-facebook:hover{color: #3379E4; opacity: 1.0;}
#header-social-button a.icon-gplus:hover {color: #D00; opacity: 1.0;}
#header-social-button a.icon-twitter:hover {color: #00B1EA; opacity: 1.0;}
#mob-social-button{display: none; padding: 20px 0; text-align: center;}
#mob-social-button a {font-size: 3.0em; text-decoration: none; text-decoration: none;}
#mob-social-button .icon-feed:before {font-family: 'FontAwesome'; content: '\f143'; margin: 0 .2em; color: #FB9F3B;}
#mob-social-button .icon-facebook:before {font-family: 'FontAwesome'; content:'\f082'; margin: 0 .2em; color: #3379E4;}
#mob-social-button .icon-gplus:before {font-family: 'FontAwesome'; content:'\f0d4'; margin: 0 .2em; color: #D00;}
#mob-social-button .icon-twitter:before {font-family: 'FontAwesome'; content:'\f081'; margin: 0 .2em; color: #00B1EA;}

/*  SNSシェアボタン  */
.sns_btn{width: 100%; margin: 10px auto 20px; letter-spacing: -.4em;}
.sns_btn .parts{display: inline-block; vertical-align: top; width: 20%; margin: 0; padding: 0; letter-spacing: 0; text-align: center; list-style-type: none; border: 2px solid #FFF;}
.parts a{width: 100%; padding: 0.8em 0; color: #FFF; font-size: 92%; font-weight: 600; ; text-decoration: none;}
.parts a:hover{color: #FFF; text-decoration: none;}
.parts.twitter {padding: 10px 0; background-color: #00acee;}
.parts.twitter a:before {font-family: 'FontAwesome'; content:'\f081'; font-size: 1.8em; vertical-align: bottom; margin: 0 5px;}
.parts.facebook {padding: 10px 0;background-color: #3b5998;}
.parts.facebook a:before {font-family: 'FontAwesome'; content:'\f082'; font-size: 1.8em; vertical-align: bottom; margin: 0 5px;}
.parts.google_plus {padding: 10px 0;background-color: #dd4b39;}
.parts.google_plus a:before {font-family: 'FontAwesome'; content:'\f0d4'; font-size: 1.8em; vertical-align: bottom; margin: 0 5px;}
.parts.pocket {padding: 10px 0;background-color: #EB4257;}
.parts.pocket a:before {font-family: 'FontAwesome'; content:'\f265'; font-size: 1.8em; vertical-align: bottom; margin: 0 5px;}
.parts.hatena {padding: 10px 0;background-color: #2D4C86;}
.parts.hatena a:before {font-family: Arial 600; content: "B!"; font-weight: 600; font-size: 120%; font-weight: 600; vertical-align: bottom; margin: 0 5px;}

/*  テーブル  */
table {width: 96%; margin: 0 auto; border-collapse: collapse; border-spacing:0; border: 1px solid #CCC;}
th {padding: 5px; font-weight: 600; border: 1px solid #CCC; text-align: center; background-color: #EFEFEF;}
td {padding: 5px; border: 1px solid #CCC;}

/* 引用 */
blockquote {color: #666; font-size: 100%; font-style: italic; font-weight: 600; background-color:#F5F5F5; padding:1em 1em 1em 3em; position:relative;}
blockquote:before{content: '“'; font-size: 4em; line-height:1em; color:#CCC; position:absolute; left:0; top: 10px;;}

/* 出典 */
.source{font-size: 11px; font-weight: normal; color: #888;}
.source a {font-weight: normal; color: #999; text-decoration: none;}
.source a:hover {color: #C00; text-decoration: underline;}

/* Youtube */
.youtube {position: relative; width: 100%; padding-top: 56.25%;}
.youtube iframe {position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}

/* その他属性 */
.clr{clear: both;}
strong{font-weight: 600;}
.txtcenter{text-align: center; display: block;}
.txtright{text-align: right;}
.red{color: #C00;}
.pink{color: #C09;}
.bg_yellow{background: #FF0;}
.gold{color: #F4CA54;}
.silver{color: #999;}
.copper{color: #BD4C54;}
.other{color: #71AAE0;}
.bld{font-weight: 600;}

_::-webkit-full-page-media, _:future, :root strong { font-weight: bold;}
_::-webkit-full-page-media, _:future, :root .bld { font-weight: bold;}
_::-webkit-full-page-media, _:future, :root .comments label { font-weight: bold;}

/* 線の属性 */
.dot{border-bottom:1px dotted #CCC;}
.solid{border-bottom:1px solid #CCC;}
.red_uline{border-bottom: 3px solid #F30;}
.uline{border-bottom: 1px solid #F63;}
.link_line{text-decoration: underline;} 

/* 追加 */


/* PC or スマホのみ */
.furiwake>div{
/*    border: 1px solid #FFFFFF;*/
    background: #FFFFFF;
/*    padding: 2px; */
/*    margin: 2px; */
}
@media(min-width:751px){
    .sp{
        display: none !important;
    }
}
@media(max-width:750px){
    .pc{
        display: none !important;
    }
}