/*
Theme Name: Type01
Theme URI: 
Author: Nankikumano Web Service
Author URI: 
*/
/*---------------------------------------------------------------*/
/*=|||　共通　|||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.clearfix{
     zoom: 1;/*for IE 5.5-7*/
}

.clearfix:after{/*for modern browser*/
     content:".";
     display: block;
     height: 0;
     clear: both;
     line-height: 0;
     visibility: hidden;
}
* html .clearfix{
     display: inline-table;
     /*\*/display: block;/**/
     height: 1%;
}

/* ベースカラー設定（必要に応じて変更してください） */
:root {
    --main-bg-color: #ffffff;
    --main-text-color: #2c2c2c;
    --accent-color-navy: #1a2a40; /* 濃いネイビー */
    --accent-color-red: #a34a4a; /* 少し落ち着いた赤 */
    --border-color: #e0e0e0;
}


/*---------------------------------------------------------------*/
/*=|||　基本　|||||||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
a:link { color: #0033cc; }
a:visited { color: #663399; }
a:hover { color: #ff0000; }
a:hover img , a img:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.70;
    opacity: 0.70;
}

.point:after {
  padding-left: 5px;
  content: url(/img/common/arrow_t01.png?20180308);
  position: relative;
  top: 2px;
}

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6, address, p, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form {
  margin:0;
}

h2, h3, h4, h5, h6, address, p, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form {
  padding:0;
  border:none;
  font-style:normal;
  font-weight:normal;
  font-size:100%;
  text-align:left;
}
ul, ol {
  list-style-type:none;
}

form, fieldset {
  margin: 0;
  padding: 0;
}

a img {
  border: 0;
}
img {
  border: 0;
}

strong {
  font-weight: normal;
}

.pcnone {
    display: none;
}

/*縦スクロールバーの領域を確保*/
html {
    overflow: scroll;
}

body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    line-height: 1.625;
    letter-spacing: 1px;
    word-break: break-all;
    font-size: 100%;
    font-family: 'Georgia', 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, '游ゴシック体', YuGothic, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    background: #ffffff;
    color: var(--text-color);
}

li {
    line-height: 1.5;
    margin-bottom: 5px;
}
li:last-child {
    margin-bottom: 0;
}

.center,
.center p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
.center li {
    text-align: center;
}

.p_center {
    margin: 0 auto;
    text-align: center;
}
.p_center p {
    display: inline-block;
    text-align: left;
}

.txt_left {
  text-align: left;
}
.right {
  text-align: right;
}

a.link_t1 {
    line-height: 1.2;
    padding: 15px 50px;
    display: inline-block;
    color: #fff;
    font-weight: bold;
    font-size: 1.25rem;
    text-align: center;
    text-decoration: none;
    border: 1px solid #1a2a40;
    background: #1a2a40;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    position: relative;
}
a.link_t1:hover {
    color: #1a2a40;
    background: #ffffff;
}
a.link_t1::after {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -7px;
}

a.link_t1.line {
    border: 1px solid #13bf00;
    background: #13bf00;
}
a.link_t1.line:hover {
    color: #13bf00;
    background: #ffffff;
}

.links_t1 {
    text-align: center;
}
.links_t1 ul {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    text-align: center;
}
.links_t1 li {
    display: inline;
    margin: 0 10px;
}
.links_t1 li a {
    line-height: 1.2;
    padding: 15px 40px 15px 30px;
    display: inline-block;
    color: #AA266F;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border: 1px solid #AA266F;
    background: #ffffff;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    position: relative;
    margin-bottom: 10px;
}
.links_t1 li a:hover {
    color: #ffffff;
    background: #AA266F;
}
.links_t1 li a::after {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 3px #AA266F;
    border-right: solid 3px #AA266F;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    rightt: 15px;
    margin-top: -7px;
}
.links_t1 li a:hover::after {
    border-top: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
}

.inpage_links {
    text-align: center;
}
.inpage_links ul {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    text-align: center;
}

.inpage_links li {
    display: inline;
    margin: 0 5px;
}
.inpage_links li a {
    line-height: 1.2;
    padding: 15px 25px 15px 35px;
    display: inline-block;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    border: 1px solid #1a2a40;
    background: #1a2a40;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    position: relative;
    margin-bottom: 10px;
}
.inpage_links li a:hover {
    color: #1a2a40;
    background: #ffffff;
}
.inpage_links li a::after {
    content: '';
    width: 12px;
    height: 12px;
    border: 0px;
    border-top: solid 4px #ffffff;
    border-right: solid 4px #ffffff;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    left: 15px;
    margin-top: -13px;
}
.inpage_links li a:hover::after {
    border-top: solid 4px #1a2a40;
    border-right: solid 4px #1a2a40;
}

.sns_list {
    text-align: center;
}
.sns_list ul {
    display: inline;
}
.sns_list li {
    display: inline-block;
    padding: 10px;
    font-size: 3.0rem;
}
.sns_list a {
    color: #1c1c1c;
}
.sns_list a:hover {
    color: #e07070;
}

.box_t1 {
    border: 1px #c0c0c0 solid;
    padding: 30px;
}

.colLeft {
  float:left;
}
.colRight {
  float: right;
  margin-left: 40px;
}

.colSize200 { width: 200px; }
.colSize300 { width: 300px; }
.colSize460 { width: 460px; }
.colSize560 { width: 560px; }

.width100p { width: 100%; }
.width90p { width: 90%; }
.width75p { width: 75%; }
.width70p { width: 70%; }
.width50p { width: 50%; }
.width25p { width: 25%; }
.width10p { width: 10%; }

.section_t1 {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.section_t1 .item_img {
    flex-grow: 1;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    width: 100%;
    position: relative;
    text-align: right;
}
.section_t1 .item_img img {
    width: 100%;
    height: auto;
}
.section_t1 .item_txt {
    margin-right: calc((100% - 1000px) / 2);
    margin-left: 80px;
    flex-shrink: 0;
    width: 500px;
}

.section_t1.r_img {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.section_t1.r_img .item_txt {
    margin-left: calc((100% - 1000px) / 2);
    margin-right: 80px;
}

.bold,
.bold li {
  font-weight: bold;
}
.italic { font-style: italic; }
.red { color: #ff0000; }
.pink { color: #e95390; }
.blue { color: #0000cd; }
.green { color: #28af78; }
.orange { color: #f55907; }

/* マージン(top) */
.mgn10 { margin: 10px; }
.mgn20 { margin: 20px; }

/* マージン(top) */
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 {	margin-top: 20px; }
.mt30 {	margin-top: 30px; }
.mt40 {	margin-top: 40px; }
.mt50 {	margin-top: 50px; }
.mt70 {	margin-top: 70px; }

/* マージン(bottom) */
.mb5 { margin-bottom: 5px; }
.mb10 {	margin-bottom: 10px; }
.mb15 {	margin-bottom: 15px; }
.mb20 {	margin-bottom: 20px; }
.mb30 {	margin-bottom: 30px; }
.mb1em { margin-bottom: 1em; }

/* マージン(left) */
.ml5 { margin-left: 5px; }
.ml10 {	margin-left: 10px; }
.ml20 {	margin-left: 20px; }

/* マージン(right) */
.mr5 { margin-right: 5px; }
.mr10 {	margin-right: 10px; }
.mr20 {	margin-right: 20px; }
.mr30 {	margin-right: 30px; }

/* パディング */
.pt10 { padding-top: 10px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt50 { padding-top: 50px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pd10 { padding: 10px; }
.pd19 { padding: 19px; }
.pd20 { padding: 20px; }
.pd30 { padding: 30px; }

/* フォントサイズ */
.font200 { font-size: 200%; }
.font150 { font-size: 150%; }
.font130 { font-size: 130%; }
.font125 { font-size: 125%; }
.font115 { font-size: 115%; }
.font100 { font-size: 100%; }
.font95 { font-size: 95%; }
.font85 { font-size: 85%; }
.font75 { font-size: 75%; }
.font65 { font-size: 65%; }

/* page-top */
#page-top {
    position: fixed;
    bottom: 80px;
    right: 20px;
}

.ul_center {
    text-align: center;
}
.ul_center ul {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
}

ul.normal {
    margin-left: 1em;
    margin-bottom :5px;
    list-style-type: disc;
}
ul.normal li {
    margin-left: 1em;
}

ul.refmark > li {
    list-style: none;
    position: relative;
    padding-left: 1.5em;
}
ul.refmark > li:before {
    content: '※';
    position: absolute;
    left: 0em;
    top: 3px;
    line-height: 1.3;
}

ul.chk li{
    position: relative;
    padding-left: 25px;
}
 
ul.chk li:before {
    content: "";
    position: absolute;
    top: .25em;
    left: 6px;
    -webkit-transform: rotate(50deg);
    -ms-transform: rotate(50deg);
    transform: rotate(50deg);
    width: 3px;
    height: 7px;
    border-right: 3px solid #ffffff;
    border-bottom: 3px solid #ffffff;
    z-index: 3;
}
 
ul.chk li:after {
    content: "";
    position: absolute;
    top: .1em;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 2px;
    background: #e479ac;
    z-index: 1;
}

.fl_t1 {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.fl_t1 li {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    margin: 0 15px 30px 15px;
}

.fl2_t1 li {
    width: 50%;
    float: left;
    text-align: center;
}

.fl3_t1 li {
    float: left;
    width: calc(100% / 3);
    text-align: center;
}

ol.decimal {
  margin-left: 1em;
  list-style-type: decimal;
}
ol.decimal > li {
    margin-left: 1em;
    margin-bottom: 1em;
}
ol.decimal > li:last-child {
    margin-bottom: 0;
}

ol.lower-alpha {
  margin-left: 2em;
  list-style-type: lower-alpha;
}
ol.lower-alpha > li {
  text-indent:-2em;
}

ol.parentheses {
  margin-left: 2em;
}
ol.parentheses > li {
  list-style-type:none;
  list-style-position:inside;
  counter-increment: p_cnt;
}
ol.parentheses > li:before {
  margin-left: -2em;
  display: marker;
  content: "(" counter(p_cnt) ") ";
}

/* パンくずリスト */
#breadcrumbs {
    background: #f6f7f9;
    font-size: 0.75rem;
    padding: 0;
}
#breadcrumbs > div {
    width: 1000px;
    margin: auto;
    text-align: right;
}

.colarea {
  margin-bottom: 70px;
}
.mcolarea {
  margin-bottom: 50px;
}
.scolarea {
  margin-bottom: 30px;
}

/* タイトル */
.title_main01 {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
    font-size: 2.5rem;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    height: 300px;
    letter-spacing: 3px;
    background: #efcfd5;
    background: #F4A460;
    text-shadow: 3px 3px 2px #000000;
    text-shadow: 1px 1px 5px #000000;
}
#page_price .title_main01 { background: url(/img/common/title_back/price.jpg) no-repeat center top; }
#page_trainer .title_main01 { background: url(/img/common/title_back/trainer.jpg) no-repeat center top; }
#page_faq .title_main01 { background: url(/img/common/title_back/faq.jpg) no-repeat center top; }
#page_about .title_main01 { background: url(/img/common/title_back/about.jpg) no-repeat center top; }
#page_blog .title_main01 { background: url(/img/common/title_back/blog.jpg) no-repeat center top; }

.title_sub01 {
    margin-bottom: 40px;
    font-size: 2.5rem;
    font-weight: bold;
    color: #e63d90;
    color: #006400;
    color: #FFD700;
    color: #008CCF;
    text-align: center;
    letter-spacing: 3px;
}
.title_sub01 .ename {
    display: block;
    font-size: 2.0rem;
    font-weight: normal;
    color: #3c3c3c;
}

.bgBlue .title_sub01 {
    color: #ffffff;
}
.bgBlue .title_sub01 .en {
    color: #e0e0e0;
}
.bgBlue.colpd_t1 {
    padding: 0;
}

.title_sub02 {
    margin-bottom: 30px;
    padding: 0 0 15px 0;
    font-size: 1.75rem;
    font-weight: bold;
    border-bottom: solid 3px #d4d4d4;
    line-height: 1.2;
    position: relative;
}

.title_sub02:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #006400;
    border-bottom: solid 3px #FFD700;
    border-bottom: solid 3px #008CCF;
    bottom: -3px;
    width: 20%;
}

.title_sub03 {
    font-size: 1.625rem;
    font-weight: bold;
    margin-bottom: 20px;
}

.title_sub04 {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 15px;
}

.tbl_t1 table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0px 5px;
    table-layout: fixed;
}
.tbl_t1 th {
    vertical-align: top;
    font-weight: bold;
    padding: 15px;
    background: #e8eff6;
    width: 30%;
}
.tbl_t1 td {
    vertical-align: top;
    padding: 15px;
    background: #f8f8f8;
    width: 70%;
}

.price_tbl_t1 table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #c0c0c0;
}
.price_tbl_t1 th {
    padding: 10px 20px;
    vertical-align: middle;
    border: 1px solid #c0c0c0;
    background: #fcebf3;
}
.price_tbl_t1 td {
    background: #ffffff;
    padding: 10px 20px;
    vertical-align: top;
    border: 1px solid #c0c0c0;
}
.price_tbl_t1 .price {
    font-size: 1.125rem;
    font-weight: bold;
}

.newicon {
  font-weight: bold;
  color: #ff4500;
}

.del {
  text-decoration: line-through;
}

.btn_t01 a {
  display: block;
  background-color: #40dd96;
  margin: 0 auto;
  padding: 10px 30px;
  text-align: center;
  text-decoration: none;
  color: #ffffff;
  font-weight: bold;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
.btn_t01 a:hover {
  background-color: #ffffff;
  border: 1px solid #40dd96;
  color: #40dd96;
}

.checklist .title {
  font-size: 137.5%;
  font-weight: bold;
  color: #c71585;
  margin-bottom: 15px;
}
.checklist ul {
  border: 1px solid #909090;
  padding: 20px;
}
.checklist ul li {
  margin-left: 1em;
  position: relative;
  font-size: 125%;
  font-weight: bold;
}
.checklist ul li:after {
  display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -1.3em;
  width: 12px;
  height: 3px;
  border-left: 3px solid #F00;
  border-bottom: 3px solid #F00;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu_t1 ul {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.menu_t1 li {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    width: 300px;
    margin: 0 calc(100px / 6);
    margin-bottom: 30px;
    text-align: center;
    background: #f0f0f0;
}
.menu_t1 .title a {
    text-decoration: none;
    display: block;
    font-size: 1.125rem;
    font-weight: bold;
    color: #3c3c3c;
}
.menu_t1 .title a:hover {
    text-decoration: underline;
}

.menu_t1 .inner {
    padding: 20px;
}
.menu_t1 .title {
    font-size: 1.25rem;
    font-weight: bold;
    margin-bottom: 10px;
}

/* エラー表示 */
.errmsg {
  width: 100%;
  color: #ff0000;
  font-weight: bold;
}
.errmsg ul {
  border: 1px solid #666666;
  background-color: rgba(251, 218, 222, 0.4);
  padding: 10px;
}
.errmsg li {
  font-weight: bold;
  color: #000000;
}

.contact_info .tel_info {
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
}
.contact_info .tel_info .tel {
    font-size: 2.0rem;
}
.contact_info .contact_list ul {
    text-align: center;
}
.contact_info .contact_list li {
    display: inline-block;
    padding: 10px;
}

.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}

.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}


/*---------------------------------------------------------------*/
/*=|||　レイアウト　|||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.mainWrap {
    width: 1000px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}
.mainWrapS {
    width: 800px;
    margin: 0 auto;
    padding: 0;
    text-align: left;
}

.colpd_t1 {
    padding: 70px 0;
}
.bgWhite { background: #ffffff; }
.bgGray { background: #eeeeee; }
.bgBlue { background: #e0e8f0; }
.bgPink { background: #dfcbd6; }

.bgGreen {
    background: #2C877D;
    color: #ffffff;
}
.bgGreen a {
    color: #ffffff;
}



/*---------------------------------------------------------------*/
/*=|||　ヘッダ関連　|||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
#header {
    width: 100%;
    margin: 0;
    padding: 0 20px;
}

#header .tbl {
    display: table;
    width: 100%;
    height: 75px;
}
#header .logo {
    display: table-cell;
    width: calc(100% - 233px);
    height: 75px;
    text-align: left;
    vertical-align: middle;
    line-height: 1;
}
#header .logo .site_name {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 5px;
}
#header .logo .site_name a {
    text-decoration: none;
    color: #00a3a3;
    color: #FF7F50;
}

#header .contact {
    display: table-cell;
    width: 233px;
    height: 75px;
    vertical-align: middle;
    text-align: right;
    font-size: 0.875rem;
}

#header .contact .btn_contact {
    line-height: 1.2;
    padding: 15px 13px 25px 13px;
    display: inline-block;
    color: #fff;
    font-size: 1.0rem;
    text-align: center;
    text-decoration: none;
    border: 1px solid #1a2a40;
    background: #1a2a40;
    position: relative;
}
#header .contact .btn_contact:hover {
    color: #1a2a40;
    background: #ffffff;
}
#header .contact .btn_contact::after {
    content: '';
    width: 11px;
    height: 11px;
    border: 0px;
    border-top: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    bottom: 12px;
    right: 50%;
    margin-right: -7px;
}
#header .contact .btn_contact:hover::after {
    border-top: solid 3px #1a2a40;
    border-right: solid 3px #1a2a40;
}



#header .sp_menu {
    display: none;
}


/*---------------------------------------------------------------*/
/*=|||　グローバルナビ　|||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.gnavi {
    padding: 0 0 10px 0;
    text-align: center;
}
.gnavi ul {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
}
.gnavi li {
    display: inline;
    margin: 0;
    padding: 0 20px;
    white-space: nowrap;
}
.gnavi li a {
    text-decoration: none;
    color: #3c3c3c;
    font-weight: bold;
}
.gnavi li a:hover span,
.gnavi li a.current span {
    border-bottom: 1px solid #3c3c3c;
}


/*---------------------------------------------------------------*/
/*=|||　フッタ　|||||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.footer_banner ul {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}
.footer_banner li {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    margin: 0 35px;
}

.footer_shop_info {
    background: #f6f7f9;
    padding: 70px 0 30px 0;
}

.shop_info .leftarea {
    float: left;
    width: 460px;
}
.shop_info .rightarea {
    float: left;
    width: 540px;
    padding-left: 40px;
}

.footer_shop_info .cname {
    font-size: 1.25rem;
    font-weight: bold;
}
.footer_shop_info .sns_list {
    text-align: left;

}

.footer {
    padding: 40px 0;
    background: #f6f7f9;
}

.footer .links {
    text-align: center;
    margin-bottom: 40px;
    padding: 40px 0;
    border-top: 1px #d1d2d3 solid;
    border-bottom: 1px #d1d2d3 solid;
}
.footer .links a {
    color: #3c3c3c;
    text-decoration: none;
}
.footer .links a:hover {
    text-decoration: underline;
}
.footer .links ul {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    text-align: center;
}
.footer .links li {
    list-style: none;
    display: inline;
    padding: 0 15px;
    font-size: 0.875rem;
    font-weight: bold;
    white-space: nowrap;
}


/*---------------------------------------------------------------*/
/*=|||　トップ関連　|||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
#page_top::before {
    content: "";
    display: block;
    position: fixed;
    top: 100px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background-image: url(/img/top/main_back.png?20240226);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.top_main_back .inner {
    width: 800px;
    margin: auto;
    padding: 30px;
    color: #ffffff;
    background: rgba(0, 140, 207, 0.65);
    font-size: 1.125rem;
}

@media (max-width: 780px) {
    #page_top::before {
	background-image: url(/img/top/main_back780.png?20251016);
	top: 80px;
    }
    .top_main_back .inner {
	width: 90%;
    }
}
@media (max-width: 320px) {
    .top_main_back .inner {
	padding: 20px;
    }
}

.top_main_back .title_sub01 {
    color: #ffffff;
}

/* main_img.jpgのスタイル */
.top_main_img {
    overflow: hidden; /* 画面幅が1200px未満の場合にはみ出る部分を非表示 */
    z-index: 1;
    position: relative;
}

.top_main_img img {
    display: block; /* インライン要素からブロック要素に変更 */
    margin: 0 auto; /* 水平方向の中央寄せ */
    width: 1200px; /* 画像の幅を固定 */
    height: auto; /* 高さを自動調整 */
    background: #dfcbd6;
}

/* .catchクラスの段落のスタイル */
.top_main_img .catch {
    min-width: 1000px; /* 最小幅を1000pxに設定 */
    margin: 0 auto; /* 水平方向の中央寄せ */
    position: absolute;
    width: 100%;
    top: 45%;
    z-index: 10;
}
.top_main_img .catch p {
    position: relative;
    top: 50%;
    left: 50%;
    font-size: 3.00rem;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 5px;
    color: #ffffff;
    text-shadow:0 0 10px #101010;
}

/* お知らせのリスト全体を囲むコンテナ */
.top_news ul {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #f7f7f7;
  border: 1px solid #e0e0e0;
  border-radius: 8px; /* 角を丸くして柔らかさを出す */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); /* 控えめな影で奥行きを演出 */
  overflow: hidden; /* 角丸を適用するため */
}

/* 個別のお知らせ項目 */
.top_news li {
  padding: 1rem 1.5rem; /* 上下左右のパディングを調整 */
  border-bottom: 1px solid #e0e0e0; /* 項目間の区切り線 */
  transition: background-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease; /* スムーズなアニメーション */
  display: flex; /* 日付とタイトルを横並びに配置 */
  align-items: center; /* 垂直方向の中央揃え */
}

.top_news li:last-child {
  border-bottom: none;
}

/* ホバー時の効果 */
.top_news li:hover {
  background-color: #ffffff; /* ホバーで背景色を白に */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); /* 影を濃くして浮き上がらせる */
  transform: translateY(-2px); /* 少し上に移動させることで立体感を強調 */
}

/* 日付 */
.top_news .date {
  width: 150px;
  min-width: 150px; /* 最小幅を確保 */
  font-size: 0.9rem;
  margin-right: 1.5rem; /* 右側の余白を調整 */
}

/* 記事タイトル */
.top_news .info {
  flex-grow: 1; /* 残りのスペースを埋める */
}

.top_news .info .blog_title a {
  display: block;
  font-size: 1rem;
  color: #2c2c2c; /* ダークグレーで視認性向上 */
  text-decoration: none;
  font-weight: 500;
  line-height: 1.5;
  transition: color 0.3s ease;
}

/* ホバー時に色を変更 */
.top_news .info .blog_title a:hover {
  color: var(--accent-color-red);
}


/*---------------------------------------------------------------*/
/*=|||　トレーナー紹介関連　|||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.trainer .name {
  font-size: 160%;
  font-weight: bold;
  color: #8b0000
}
.trainer .name span {
  font-size: 70%;
  padding-left: 5px;
}

.trainer .status {
  margin-bottom: 20px;
}
.trainer .status li {
  font-size: 90%;
  color: #992500;
}

.trainer_catch {
  color: #992500;
  color: #dc143c;
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 128.57%;
}

.trainer_profile {
  margin-bottom: 40px;
}

.trainer_profile > div > ul > li {
  float: left;
  width: calc((100% - 60px) / 3);
  border: 1px #191b51 solid;
  padding: 20px;
  background-color: #f2f2f6;
  margin: 0 10px 20px 10px;
}

.trainer_profile .title {
  font-size: 128.57%;
  color: #506ca4;
  margin-bottom: 15px;
}

.trainer_profile .subtitle {
  margin-bottom: 10px;
  font-weight: bold;
}

.trainer_profile .desc {
  color: #f98e86;
}

.trainer_profile ul ul {
  margin-left: 5px;
  line-height: 1.4;
}
.trainer_profile ul ul li {
  list-style-type: disc;
  margin-left: 1em;
}

.trainer_profile .info {
    width: 100%;
    border: 1px #191b51 solid;
    padding: 20px;
    background-color: #f2f2f6;
}

.trainer_profile .fl2 li {
  width: 324px;
  float: left;
  margin-right: 10px;
  list-style-type: disc;
  margin-left: 1em;
}
.trainer_profile .fl2 li:nth-child(2n) {
  margin-right: 0;
}


/*---------------------------------------------------------------*/
/*=|||　よくある質問　|||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.faq_index ul {
    list-style: none;
    padding:0;
    margin:0;
}
.faq_index ul li { 
    padding-left: 1em; 
    text-indent: -.7em;
}
.faq_index ul li:before {
    content: "Q. ";
    color: #AA266F;
}
.faq_index ul li a {
    text-decoration: none;
    color: #AA266F;
}
.faq_index ul li a:hover {
    text-decoration: underline;
}

.faq_detail dl {
    width: 100%;
}
.faq_detail dt {
    background: #e8eff6 url(/img/common/icon_question.png) no-repeat top 8px left 20px;
    margin: 0;
    padding: 12px 20px 10px 78px;
    min-height: 35px;
    font-size: 1.125rem;
    font-weight: bold;
}
.faq_detail dd {
    margin: 10px 0 30px 0;
    padding: 12px 0 20px 78px;
    background: url(/img/common/icon_answer.png) no-repeat top 8px left 20px;
    min-height: 35px;
}
.faq_detail dd:last-child {
    border-bottom: none;
    margin-bottom: 0;
}


/*---------------------------------------------------------------*/
/*=|||　空手道場　|||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.karate_info table {
  padding: 0;
  border: 1px solid #000;
  border-collapse: collapse;
  width: 100%;
}
.karate_info td {
  border: 1px solid #666666;
  padding: 5px;
}
.karate_info th {
  border: 1px solid #999999;
  padding: 5px;
  text-align: center;
  background-color: #355390;
  color: #ffffff;
}

.karate_info dl {
  width: 97%;
  padding: 0;
  line-height: 1.2;
  border: 1px solid #999;
  border-top: none;
  background-color: #355390;
}
.karate_info dt {
  font-weight: bold;
  margin: 0;
  padding: 0.8em 0 0.1em 0.5em;
  border-top: 1px solid #999;
  width: 10.5em;
  float: left;
  color: #ffffff;
}
.karate_info dd {
  margin-left: 10.5em;
  padding: 0.8em 1em;
  border-left: 1px solid #999;
  border-top: 1px solid #999;
  background-color: #fff;
}

.karate_info dd p {
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

.karate_info dd p.small {
  font-size: 85%;
}

.karate_photo_list li {
  float: left;
  width: 300px;
  margin-left: 20px;
  text-align: center;
}


/*---------------------------------------------------------------*/
/*=|||　Not Found　||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.alert {
  width: 100%;
  padding: 10px 20px;
  border: 1px #ff0000 solid;
  background-color: #f9fbe5 ;
}

.alert .title {
  font-size: 112.5%;
  font-weight: bold;
  color: #ff0000;
}

#reserve_info {
    z-index: 1;
    width: 100%;
    padding: 15px 5px 10px 5px;
    position: fixed;
    bottom: 0px;
    left: 0px;
    display: none;
    background: rgba(255, 192, 203, 0.75);
    background: rgba(209, 221, 148, 0.75);
}
.reserve_buttons {
    width: 640px;
    margin: auto;
}
.reserve_buttons li {
    float: left;
    width: 50%;
    text-align: center;
    margin: 0;
}
.reserve_buttons a {
    position: relative;
    display: block;
    width: 300px;
    margin: 0 auto;
    padding: 12px 5px;
    font-size: 1.25rem;
    font-weight: bold;
    text-decoration: none;
    border: 1px #ffffff solid;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}
.reserve_buttons a::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 5%;
    margin-top: -4px;
}
.reserve_buttons .netreserve a {
    color: #ffffff;
    background: #003D71;
    border: 1px #003D71 solid;
}
.reserve_buttons .netreserve a:hover {
    color: #003D71;
    background: #ffffff;
}
.reserve_buttons  .line a {
    color: #ffffff;
    background: #00a626;
    border: 1px #00a626 solid;
}


/*---------------------------------------------------------------*/
/*=|||　記事関連　|||||||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.social_button ul {
  display: table;
}
.social_button li {
  display: table-cell;
  float: left;
  vertical-align: top;
  margin-right: 10px;
}

.article_newlist .date {
    width: 20%;
}
.article_newlist .category {
    display: inline-block;
    background: #e0e0e0;
    padding: 3px 5px;
}
.article_newlist .title a {
    font-size: 1.125rem;
    font-weight: bold;
    color: #3c3c3c;
    text-decoration: none;
}
.article_newlist .title a:hover {
    text-decoration: underline;
}

.article_list {
    width: 100%;
}

.article_list ul {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}

.article_list li {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    vertical-align: top;
    width: 300px;
    margin: 0 15px 30px 15px;
}

.article_list .thum {
    margin-bottom: 5px;
}

.article_list .title {
    margin-top: 5px;
}
.article_list .title a {
    font-size: 1.125rem;
    font-weight: bold;
    color: #3c3c3c;
    text-decoration: none;
}
.article_list .title a:hover {
    text-decoration: underline;
}

.article_list .date {
    font-size: 0.875rem;
}
.article_list .date .newicon {
    color: #ff4600;
}
.article_list .category {
    color: #ffffff;
    padding: 
    font-size: 0.875rem;
}
.article_list .category a {
    display: inline-block;
    font-size: 0.875rem;
    padding: 2px 5px;
    background: #AA266F;
    text-decoration: none;
    color: #ffffff;
}
.article_list .category a:hover {
    text-decoration: underline;
}

.article_title {
    font-size: 2.0rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.article_info {
    font-size: 0.875rem;
    margin-bottom: 20px;
}
.article_info ul {
  display: inline-block;
}
.article_info li {
  float: left;
  margin-right: 10px;
}

.textBody p {
  margin-bottom: 1em;
}

.textBody blockquote {
  quotes: none;
}
.textBody blockquote:before, blockquote:after {
  content: '';
  content: none;
}
.textBody del {
  text-decoration: line-through;
}
.textBody a img {
  border: none;
}
.textBody ul {
  list-style: disc;
  margin: 0 0 15px 1.5em;
}
.textBody ol {
  list-style: decimal;
  margin: 0 0 15px 1.5em;
}
.textBody ol ol {
  list-style: upper-alpha;
}
.textBody ol ol ol {
  list-style: lower-roman;
}
.textBody ol ol ol ol {
  list-style: lower-alpha;
}
.textBody ul ul,
.textBody ol ol,
.textBody ul ol,
.textBody ol ul {
  margin-bottom: 0;
}
.textBody dl {
  margin: 0 0 15px 0;
}
.textBody dt {
  font-weight: bold;
}
.textBody dd {
  margin-bottom: 15px;
}
.textBody strong {
  font-weight: bold;
}
.textBody i {
  font-style: italic;
}
.textBody big {
  font-size: 131.25%;
}
.textBody ins {
  background: #ffc;
  text-decoration: none;
}
.textBody blockquote {
  font-style: italic;
  padding: 0 3em;
}
.textBody blockquote em,
.textBody blockquote i {
  font-style: normal;
}
.textBody pre {
  background: #f7f7f7;
  color: #222;
  line-height: 1.6;
  margin-bottom: 15px;
  overflow: auto;
  padding: 1.5em;
}
.textBody abbr,
.textBody acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}
.textBody sup,
.textBody sub {
  height: 0;
  line-height: 1;
  position: relative;
  vertical-align: baseline;
}
.textBody sup {
  bottom: 1ex;
}
.textBody sub {
  top: .5ex;
}
.textBody img.size-auto,
.textBody img.size-full,
.textBody img.size-large,
.textBody img.size-medium,
.textBody img {
  max-width: 100%;
  height: auto;
}
.textBody .alignleft,
.textBody img.alignleft {
  display: inline;
  float: left;
  margin-right: 24px;
  margin-top: 4px;
}
.textBody .alignright,
.textBody img.alignright {
  display: inline;
  float: right;
  margin-left: 24px;
  margin-top: 4px;
}
.textBody .aligncenter,
.textBody img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.textBody img.alignleft,
.textBody img.alignright,
.textBody img.aligncenter {
  margin-bottom: 12px;
}
.textBody .wp-caption {
  background: #f1f1f1;
  line-height: 1.6;
  margin-bottom: 15px;
  max-width: 100% !important;
  padding: 4px;
  text-align: center;
}
.textBody .wp-caption img {
  margin: 5px 5px 0;
}
.textBody .wp-caption p.wp-caption-text {
  color: #888;
  font-size: 85%;
  margin: 5px;
}
.textBody .wp-smiley {
  margin: 0;
}
.textBody .gallery {
  margin: 0 auto 15px;
}
.textBody .gallery .gallery-item {
  float: left;
  margin-top: 0;
  text-align: center;
  width: 33%;
}
.textBody .gallery-columns-2 .gallery-item {
  width: 50%;
}
.textBody .gallery-columns-4 .gallery-item {
  width: 25%;
}
.textBody .gallery img {
  border: 2px solid #cfcfcf;
}
.textBody .gallery-columns-2 .attachment-medium {
  max-width: 92%;
  height: auto;
}
.textBody .gallery-columns-4 .attachment-thumbnail {
  max-width: 84%;
  height: auto;
}
.gallery .gallery-caption {
  color: #888;
  font-size: 85%;
  margin: 0 0 12px;
}
.textBody .gallery dl {
  margin: 0;
}
.textBody .gallery img {
  border: 10px solid #f1f1f1;
}
.textBody .gallery br+br {
  display: none;
}

/* テーブル */
.textBody table {
  padding: 0;
  border: 1px solid #cccccc;
  border-collapse: collapse;
}
.textBody caption {
  text-align: center;
}
.textBody  th {
  border: 1px solid #cccccc;
  text-align: center;
  background-color: #c4e8fb;
  color: #000000;
  padding: 5px;
}
.textBody  td {
  border: 1px solid #cccccc;
  padding: 5px;
}

/* 見出し */
.textBody h1,
.textBody h2
{
    font-size: 1.75rem;
    font-weight: bold;
    text-align: left;
    margin-top: 30px;
    margin-bottom: 30px;
    color: #000000;
    border-left: 5px #AA266F solid;
    padding: 0 0 0 20px;
}
.textBody h3 {
    margin-top: 25px;
    margin-bottom: 20px;
    font-size: 1.5rem;
    font-weight: bold;
    border-bottom: 1px #c0c0c0 solid;
}
.textBody h4 {
    font-size: 1.25rem;
    font-weight: bold;
    text-align: left;
    margin-top: 20px;
    margin-bottom: 15px;
}
.textBody h5 {
    font-size: 1.125rem;
    font-weight: bold;
    text-align: left;
    margin-top: 15px;
    margin-bottom: 10px;
}
.textBody h6 {
    font-size: 1.0rem;
    font-weight: bold;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
}

.prevnext .prev {
    float: left;
    width: 45%;
}
.prevnext .prev a:before {
    content: '<<';
}

.prevnext .next {
    float: right;
    width: 45%;
    text-align: right;
}
.prevnext .next a:after {
    content: '>>';
}

.pagenavi {
    display: inline;
    text-align: center;
    margin: 20px 0;
}

.wp-pagenavi {
    clear: both;
    margin-top: 10px;
    margin-bottom: 30px;
    font-size: 1.125rem;
}
.wp-pagenavi a,
.wp-pagenavi a:hover,
.wp-pagenavi span.current{
    padding: 2px 10px;
    margin: 2px;
    text-decoration: none;
    border: 1px solid #CCC;
    -moz-border-radius: 5px; /*角丸*/
    -webkit-border-radius: 5px; /*角丸*/
    border-radius: 5px; /*角丸*/
    background: #ffffff;
    color: #3c3c3c;
}
.wp-pagenavi a:hover,
.wp-pagenavi span.current{
    background: #c0c0c0;
    color: #fff;
}
.wp-pagenavi span.current{
    font-weight: bold;
}


/*---------------------------------------------------------------*/
/*=|||　フォーム関連　|||||||||||||||||||||||||||||||||||||||||||*/
/*---------------------------------------------------------------*/
.annotation {
    font-size: 0.875rem;
}
#confirm .annotation {
    display: none;
}

#confirm .annotation {
    display: none;
}
#confirm .confirm_none {
    display: none;
}

.confirm_disp {
    display: none;
}
#confirm .confirm_disp {
    display: block;
}

.nodisplay_inquiry .inquiry,
.nodisplay_join .join,
.nodisplay_reserve .reserve {
    display: none;
}

.form_t1 input[type="text"],
.form_t1 input[type="email"],
.form_t1 input[type="tel"],
.form_t1 input[type="number"],
.form_t1 input[type="password"],
.form_t1 select,
.form_t1 textarea {
    font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, '游ゴシック体', YuGothic, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.0rem;
    padding: 3px 5px;
    letter-spacing: 1px;
}
.form_t1 textarea {
    font-size: 1.125rem;
}
.form_t1 select {
    margin-bottom: 10px;
}

.form_t1 input[type="text"],
.form_t1 input[type="email"],
.form_t1 input[type="tel"],
.form_t1 input[type="number"],
.form_t1 input[type="password"],
.form_t1 select,
.form_t1 textarea {
    border: none;
    background: #e6e6e6;
    box-sizing: border-box;
    padding: 15px 10px;
    line-height: 1.0;
}
 
.form_t1 .center select {
    display: inline-block;
}

/* Contact Form 7の確認画面、完了画面をいったん非表示にする */
.form_t1 .confirm_area,
.form_t1 .thanks_area {
    display: none;
}

/* Contact Form 7のデフォルトのサンクスメッセージを非表示にする */
.wpcf7-response-output{
    display: none;
}
    
/* Contact Form 7のラジオボタン、チェックボックスを縦並びにする */
.form_t1 .list_vertically span.wpcf7-list-item {
    margin-top: 5px;
    display: block;
}

/* Contact Form7がデフォルトで出力する｢spinner｣を非表示にする */
span.wpcf7-spinner {
    display: none;
}

.form_t1 .error {
    color: #ff0000;
    font-weight: bold;
}

.form_t1 .must {
    color: #ff0000;
    margin-left: 10px;
}
.form_t1 .option {
    color: #909090;
    margin-left: 10px;
}

.form_t1 table {
    width: 100%;
    padding: 0;
    border-collapse: collapse;
    border-top: 1px solid #c0c0c0;
    line-height: 1.4;
    table-layout: fixed;
}
.form_t1 th {
    width: 27%;
    font-weight: bold;
    border-bottom: 1px solid #c0c0c0;
    margin: 0;
    padding: 15px 0;
    vertical-align: middle;
}
.form_t1 th p {
    font-weight: bold;
}
.form_t1 td {
    width: 73%;
    padding: 15px 0;
    border-bottom: 1px solid #c0c0c0;
    vertical-align: middle;
}

.form_t1 .sub_tbl .col_left {
    display: inline-block;
    width: 130px;
}

.form_t1 .button_next {
    position: relative;
    line-height: 1.2em;
    padding: 15px 70px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    border: 1px solid #c44d4d;
    background: #c44d4d;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    -webkit-appearance:none;
    font-weight: bold;
    font-size: 1.25rem;
    cursor:pointer;
    position: relative;
}
.form_t1 .button_next:hover {
    color: #c44d4d;
    background: #ffffff;
}
.form_t1 .button_next::after {
    content: '';
    width: 13px;
    height: 13px;
    border: 0px;
    border-top: solid 5px #ffffff;
    border-right: solid 5px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -10px;
}

.form_t1 .button_prev {
    position: relative;
    line-height: 1.2em;
    padding: 10px 40px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    border: 1px solid #666666;
    background: #666666;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    -webkit-appearance:none;
    font-size: 1.0rem;
    cursor:pointer;
    position: relative;
}
.form_t1 .button_prev:hover {
    color: #666666;
    background: #ffffff;
}

/* Contact Form7で入力必須項目がすべて入力されるまで送信ボタンをdisabledにする */
.form_t1 .button_next:disabled {
    border: 1px solid #a0a0a0;
    background: #c0c0c0;
    cursor: default;
}
.form_t1 .button_next:disabled:hover {
    color: #ffffff;
    background: #c0c0c0;
}

.form_t1 .buttons {
    text-align: center;
}
.form_t1 .buttons ul {
  text-align: center;
  margin: 10px 0;
}
.form_t1 .buttons li {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    margin-right: 10px;
}
.form_t1 .buttons li:last-child {
  margin-right: 0;
}
