@charset "UTF-8";

/*
Theme Name: AO CORNER アオコーナー 2026 ver2
Author: フィットネスクラブ アオコーナー
Author URI: https://ao-corner.co.jp/
Version: 2026.01.09


使用フォント
font-family: "M PLUS Rounded 1c"; wght@400;800
font-family: 'Noto Sans JP', sans-serif; wght@400;700

メインカラー（紺）：#1B6AA5
リンクカラー（赤）：#DE6464
サブカラー（水色）：#B6D6EF

要素
共通クラス
SNSアイコンメニュー
ヘッダー／フッター
モバイル メニュー／ボトムメニュー
アサイド（SNS）

メインコンテンツ
・Home
*/

/* ===================
  要素
*/

html{
  font-size: 85%;
  font-family: 'Noto Sans JP', sans-serif;
}

img{
  vertical-align: bottom;
}

p:first-child{
  margin-top: 0;
}
p:last-child{
  margin-bottom: 0;
}

/* ---------------
リンク 
*/

a,
a:link{
  transition: .3s ease-out;
  color: #DE6464;
  text-decoration: underline;
}

a:hover{
  opacity: .8;
  text-decoration: none;
}

/* a[href$=".pdf"]{
  display: inline-block;
  margin: 1em 0;
  padding: .3em;
  padding-left: 2em;
  background: url(images/icon-pdf.svg) no-repeat 0 50%;
  background-size: auto 80%;
} */

a[href$=".pdf"]::before{
  display: inline-block;
  content: '';
  margin-right: .5em;
  width: 30px;
  height: 40px;
  background: url(images/icon-pdf.svg) no-repeat 0 50%;
  background-size: auto 80%;
  vertical-align: middle;
  line-height: 1.5;
}

/* ===================
共通クラス
*/

img.alignright{
  display: block;
  margin-left: auto;
  margin-right: 0;
}

img.alignleft{
  display: block;
  margin-left: 0;
  margin-right: auto;
}

img.aligncenter{
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ---------------
見出し 
*/

.heading{
  font-weight: bold;
  font-size: 1.3rem;
  /* margin: 0 0 .5em; */
}

.heading-large{
  font-family: "M PLUS Rounded 1c";
  font-weight: bold;
  font-size: 2rem;
  color: #3F6AA5;
  text-align: center;
  margin: 1.5em 0;
}
.heading-round{
  font-family: "M PLUS Rounded 1c";
  font-weight: bold;
  font-size: 1.3rem;
  background-color: #3F6AA5;
  color: #fff;
  text-align: center;
  margin: 3em 0 1em;
  padding: .5em 1em;
  border-radius: 3em;
}

/* 注意書き（赤文字） */
.note{
  color: #DE6464;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: .5em;
  font-weight: bold;
}

/* 注意書き（エリア） */
.attention{
  background-color: #FCF0E0;
  border-radius: 20px;
  color: red;
  padding: 30px;
  margin: 2em 0;
}

/* マーカー */
.marker{
  display: table;
  font-weight: bold;
  background: linear-gradient(transparent 70%, #B6D6EF 0%);
  padding: 0 2px 4px;/*余白調整*/
}
span.marker{
  display: inline;
}

.inner{
  width: 1000px;
  margin: 0 auto;
}

.flx{
  display: flex;
}

/* 表示 */
.for-pc{ display: block; }
.for-sp{ display: none; }

/* 改行 */
.br-pc{ display: block; }
.br-sp{ display: none; }

br.pc{ display: inline-block;}
br.sp{ display: none;}

img.fit-w,
.fit-w img{
  width: 100%;
  height: auto;
}
img.fit-h,
.fit-h img{
  width: auto;
  height: 100%;
}

/* 定義リスト */
dl.dl-horizontal{
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #ccc;
}

dl.dl-horizontal dt,
dl.dl-horizontal dd{
  border-top: 1px solid #ccc;
  padding: 1em;
  margin: 0;
}
dl.dl-horizontal dt:first-of-type,
dl.dl-horizontal dd:first-of-type{
  border: 0;
}

dl.dl-horizontal dt{
  width: 30%;
}
dl.dl-horizontal dd{
  width: 70%;
}


/* ===================
  SNSアイコンメニュー
*/
.nav-sns ul{
  /* margin: 0; */
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  width: calc( 100% + 10px );
  margin: 0 -5px !important;
}

.nav-sns ul li{
  margin: 0 5px;
}

.nav-sns ul li a{
  display: block;
  width: 32px;
  height: 32px;
  /* text-indent: -9000px; */
  overflow: hidden;
  text-indent: 100% !important;
  white-space: nowrap;
  /* background-color: burlywood; */
}
.nav-sns ul li a::before{
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

/* アイコンモード（通常：カラー） */
.i-facebook a::before,
.icon-mode-c .i-facebook a::before{  background-image: url(images/icon-facebook.svg);
}
.i-instagram a::before,
.icon-mode-c .i-instagram a::before{  background-image: url(images/icon-instagram.svg);
}
.i-linemedia a::before,
.icon-mode-c .i-linemedia a::before{  background-image: url(images/icon-linemedia.svg);
}

/* アイコンモード（アオ） */
.icon-mode-b .i-facebook a::before{  background-image: url(images/icon-facebook-b.svg);
}
.icon-mode-b .i-instagram a::before{  background-image: url(images/icon-instagram-b.svg);
}
.icon-mode-b .i-linemedia a::before{  background-image: url(images/icon-linemedia-b.svg);
}

/* アイコンモード（シロ） */
.icon-mode-w .i-facebook a::before{  background-image: url(images/icon-facebook-w.svg);
}
.icon-mode-w .i-instagram a::before{  background-image: url(images/icon-instagram-w.svg);
}
.icon-mode-w .i-linemedia a::before{  background-image: url(images/icon-linemedia-w.svg);
}

/* アイコンサイズ（大） */
.icon-size-l a{
  width: 64px !important;
  height: 64px !important;
}

/* アイコンサイズ（小） */
.icon-size-s a{
  width: 20px !important;
  height: 20px !important;
}


#page { width: 100%; }

/* ===================
  ヘッダー／フッター  共通
*/
#header,
#footer{
  background-color: #1B6AA5;
  color: #fff;
  padding: 15px;
}

#header a,
#footer a{
  color: #fff;
  text-decoration: none;
}

#header ul,
#footer ul{
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ===================
  ヘッダー
*/

#header .inner{
  display: flex;
  justify-content: space-between;
}

.header-logo{
  width: 150px;
}
.header-content-pc{
  width: 820px;
}

/* ヘッダーナビゲーション */
.header-utils{
  display: flex;
  justify-content: space-between;
  font-size: 85%;
  margin-bottom: 10px;
}

.header-utils strong{
  font-weight: normal;
  
}

.header-utils .nav-utils ul{
  
  display: flex;
  justify-content: flex-end;
  width: calc( 100% + 5px );
  margin: 0 -5px;
}

.header-utils .nav-utils li{
  margin: 0 5px;
}

/* グローバルメニュー */
.header-menu-pc{
  display: flex;
  width: 100%;
  justify-content: space-between;
}

.header-menu-pc .nav-global ul{
  display: flex;
  justify-content: flex-end;
  /* width: calc( 100% + 10px ); */
  width: 100%;
  margin: 0 -5px;
}

.header-menu-pc .nav-global a{
  display: block;
  margin: 0 5px;
  padding: 3px 5px;
  font-weight: bold;
}


/* ===================
  ボタンリストメニュー
*/

ul.button-menu{
  list-style: none;
  margin: 0;
  padding: 0;
  /* padding: 0 20px; */
}

ul.button-menu li{
  margin: 10px 0;
}

ul.button-menu li a{
  display: block;
  padding: .5em 1.5em;
  padding-right: 2.5em;
  border: 1px solid #999;
  background: #fff url(images/icon-arrow-right.svg) no-repeat;
  background-position:  right 15px  top 50%;
  background-size: 10px;
  color: #3F6AA5;
  border-radius: 30px;
  font-weight: bold;
  font-size: 110%;
  text-decoration: none;
}

ul.button-menu-red li a{
  background-color: #DE6464;
  background-image: url(images/icon-arrow-right-w.svg) !important;
  color: #fff;
  border: 0;
}

ul.button-menu-holizontal{
  display: flex;
  justify-content: center;
  
}
ul.button-menu-holizontal li{
  margin: 10px;
  min-width: 200px;
}

ul.button-menu-vertical{
  display: inline-flex;
  flex-direction: column;
}
ul.button-menu-vertical li{
  display: block;
  margin: 5px 0;
  /* min-width: 200px; */
}
ul.button-menu-vertical li a{
  display: block;
}

/* ===================
  フッター
*/

#footer{
  padding: 30px 0;
  font-size: 90%;
}

#footer .inner{
  display: flex;
  /* align-items: center; */
}

.footer-logo{
  width: 150px;
  
}

.footer-logo img{
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}

.footer-address{
  width: 350px;
  padding: 10px 30px 0;
}

.footer-address strong{
  display: block;
  margin-bottom: .5em;
}
.footer-address address{
  margin-bottom: .5em;
}

.footer-nav{
  width: 500px;
  display: flex;
  justify-content: space-between;
  align-content: stretch;
  align-items: stretch;
}

.footer-nav-list{
  width: 33.3%;
  padding: 0 15px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.footer-nav-list li{
  margin: .5em 0;
}

/* ===================
  モバイルメニュー
*/

/* メニューボタン */
#btn-menu{
  display: none;
  user-select: none;
  cursor: pointer;
  position: fixed;
  top: 15px;
  right: 15px;
  z-index: 110;
  color: #fff;
  background: #1B6AA5 url(images/icon-menu.svg) no-repeat 50% 55%;

  width: 45px;
  height: 45px;
  border-radius: 8px;

  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  /* text-align: center;
  font-size: 8px;
  padding-top: 35px;
  line-height: 1; */
}

body.menu-open{
  height: 100vh;
  overflow: hidden;
}

.menu-open #btn-menu{
  background: #fff url(images/icon-menu-close.svg) no-repeat 50% 50%;
} 

#menu-sp{
  display: none;

  background-color: rgba(182, 214, 239, 0.95);
  color: #1B6AA5;
  padding-top: 80px;

  text-align: center;

  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 100vh;

}
#menu-sp a{
  color: #1B6AA5;
}

#menu-sp .menu-sp-logo{
  margin-bottom: 20px;
}

#menu-sp .nav-global ul{
  margin: 50px 0;
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(27, 105, 165, 0.5);
}

#menu-sp .nav-global li{
  width: 50%;
  /* height: 50px; */
  border-top: 1px solid rgba(27, 105, 165, 0.5);
}
#menu-sp .nav-global li:nth-child(even){
  border-left: 1px solid rgba(27, 105, 165, 0.5);
}

#menu-sp .nav-global a{
  display: block;
  width: 100%;
  /* height: 100%; */
  padding: 15px;
  /* background-color: aqua; */
  font-weight: bold;
  text-align: center;
}

#menu-sp .nav-global a:active{
  background-color: rgba(27, 105, 165, 0.5);
  color: #fff;
}


/* ===================
  モバイル 固定メニュー（ボトム）
*/

#nav-mobile-bottom{
  display: none;

  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 100;

  color: #fff;
  background-color: #1B6AA5;
  height: 65px;
}

#nav-mobile-bottom a{
  color: #fff;
  text-decoration: none;
}

#nav-mobile-bottom ul{
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 1);
}
#nav-mobile-bottom ul li{
  width: 27%;
  border-right: 1px solid rgba(255, 255, 255, 0.3);
}
#nav-mobile-bottom ul li a{
  position: relative;
  background: #1B6AA5;
  color: #fff;
  display: block;
  height: 65px;
  text-align: center;
  padding-top: 40px;
  font-size: 11px;
  font-weight: bold;
  line-height: 20px;
  /* text-indent: 100%;
  overflow: hidden;
  white-space: nowrap; */
}

#nav-mobile-bottom ul li.nav-pegetop{
  width: 19%;
  border-right: 0;
  
}
#nav-mobile-bottom ul li.nav-pegetop a{
  background-color: #DE6464;
  padding-top: 0;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}

/* ボタン */
#nav-mobile-bottom ul li a::before{
  content: '';
  display: block;
  transform: translate(-50%, 0);

  position: absolute;
  top:8px;
  left: 50%;
  width: 30px;
  height: 30px;
  background: no-repeat 50% 50%;
  background-size: contain;
}

#nav-mobile-bottom ul li.nav-introduction a::before{
  background-image: url(images/icon-introduction.svg);
}
#nav-mobile-bottom ul li.nav-tel a::before{
  background-image: url(images/icon-tel.svg);
}
#nav-mobile-bottom ul li.nav-mail a::before{
  background-image: url(images/icon-mail.svg);
}
#nav-mobile-bottom ul li.nav-pegetop a::before{
  background-image: url(images/icon-arrow-up-w.svg);
  transform: translate(-50%, -50%);
  top:50%;
}


/*================================================
ページナビゲーション
*/

.navigation{
	margin: 30px 0;
}

.pagenav{
	display: table;
	width: 100%;
	
	border-collapse: separate;
	border-spacing: 15px;
}
.pagenav a.pagenav-btn{
	display: table-cell;
	background: #1B6AA5;
	border-radius: .5em;
	padding: 1em .5em;
	text-align: center;
	color: #fff;
}
.pagenav a.pagenav-btn p{
	margin: .5em 0 0;
}

.pagenav .btns{
	display: table-cell;
	width: 25%;
}
.pagenav .btns a.pagenav-btn{
	display: block;
	background: #999;
}

.pagination{
	padding: 0;
  text-align:center;
}
.pagination .screen-reader-text { display:none; }

.pagination .nav-links {}

.nav-links .page-numbers {
	display:inline-block;
	text-decoration:none;
	border-radius: .5em;
  padding:5px 10px;
  margin:0 2px;
	background: #E6E6E6;
}
.nav-links .page-numbers.current {
  color: #FFF;
	background: #1B6AA5;
}
.pagination a{
	color: #666;
}
.pagination a:hover{
    color: #fff;
    background-color: #1B6AA5;
}



/* ===================
  アサイド（SNS）
*/

#sns{
  /* background-color: #FCF0E0; */
  background-color: #c4daf3;
  padding: 30px 0;
}

#sns .inner{
  background-color: #fff;
  border-radius: 20px;
  padding: 20px;
  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.13);

  display: flex;
  justify-content: center;
  align-items: center;
}

#sns .heading{
  color: #777;
  font-size: 120%;
}

#sns .elm-description{
  text-align: center;
}

#sns .nav-sns{
  padding-left: 50px;
}

#sns ul li {
  margin: 0 15px;
}


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

#cover{
  background-color: #98b3d3;
  color: #fff;
  font-family: "M PLUS Rounded 1c";
  padding: 30px;
}
#cover a {
  color: #fff;
}

#cover .cover-title{
  display: table;
  margin: 0 auto;
  text-align: center;
  padding: 0;
}

#cover .cover-content{
  text-align: center;
  margin-top: 15px;
}

#cover .heading{
  font-size: 1.5rem;
  font-weight: bold;
}

#cover .sub{
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  margin-top: .5rem;
  padding-top: .3rem;
  font-size: 1rem;
  font-weight: bold;
}

.section{
  position: relative;
}

.section-header .heading{
  display: table;
  margin: 30px auto 50px;
}


/* ===================
アーカイブ
*/

.archive .post-item{
  display: flex;
}

.archive .post-thumbnail{
  width: 320px;
  flex-shrink: 0;
  padding-right: 20px;
}

.archive .post-thumbnail img{
  width: 100%;
  height: auto;
}


/* ===================
シングルページ
*/

.date{
  color: #666;
  font-size: 1rem;
  margin-bottom: 10px;
}

#content{
  padding: 30px 0;
}

.post-item{
  width: 700px;
  margin: 30px auto;
  font-size: 1.2rem;
}
.post-item:first-child{ margin-top: 0; }
.post-item:last-child{ margin-bottom: 0; }

.post-header{
  margin-bottom: 2rem;
}

.post-header .heading{
  font-size: 1.5rem;
  font-weight: bold;
  color: #1B6AA5;
}

.post-navigation{
  padding: 20px;
}

.post-navigation ul{
  border-top: 1px solid #ccc;
  width: 700px;
  margin: 0 auto;
  padding: 30px 0;

  display: flex;
  flex-wrap: wrap;
}

.post-navigation ul li{
  width: 45%;
}

.post-navigation ul li a{
  text-align: center;
  padding-left: 2.5em;
}

.post-navigation li.nav-previous a,
.post-navigation li.nav-return a
{
  background-image: url(images/icon-arrow-left.svg);
  background-position:  left 15px  top 50%;
}

/* intersectAction */
.intersect,
.box{
  /* background-color: #e6bcbc; */
  /* height: 300px; */
  opacity: 0;
  transform: translateY(100px);
  transition: all .5s ease-out;
  /* margin: 50px; */
}

.isShow{
  opacity: 1;
  transform: translateY(0);
}


/* Web予約 */

.admission #content .inner{
  /* padding: 20px; */
  font-size: 110%;
  width: 800px;
}

.admission .attention{
  text-align: center;
}

.admission .tel{
  color: #000;
  margin-top: 1.5em;
}

.admission .heading{}


/* =======================
レッスン
*/

/* .lesson .date,
.lesson .etc
{
  font-size: 100%;
  font-weight: bold;
  color: #444;
  margin-bottom: 0;
} */

.lesson .schedule{
  list-style: none;
  padding: 0;
  margin: 1em 0;
  font-weight: bold;
}

.archive.lesson .post-thumbnail img{
  height: 200px;
  width: 100%;
  object-fit: cover;
}

.archive.lesson #content .inner{
  display: flex;
  flex-wrap: wrap;
  /* justify-content: space-between; */
  justify-content: flex-start;
}
.archive.lesson .post-item{
  display: block;
  width: 30%;
  margin: 0 15px 30px;
}

.archive.lesson .post-item .description{
  font-size: 80%;
  margin-top: 10px;
}

.single.lesson .post-header{
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
}

@media screen and ( max-width:520px ){
  
  .admission #content .inner{
    width: 100%;
  }

  .admission .attention{
    padding: 20px 10px;
  }
  
}


/* フォーム */

input[type="submit"]{
  cursor: pointer;
  font-family: "M PLUS Rounded 1c";
  font-weight: bold;
  background: #DE6464 url(images/icon-arrow-right-w.svg) no-repeat;
  background-position:  right 15px  top 50%;
  background-size: 10px;
  color: #fff;
  padding: 1.2rem 4rem;
  font-size: 1.2rem;
  border: 0;
  border-radius: 3rem;
  display: table;
  margin: 1.5rem auto;
  line-height: 1;
}

input[type="submit"].btn-return,
input[type="reset"] {
  color: #fff;
  background: #999 url(images/icon-arrow-left-w.svg) no-repeat !important;
  background-position:  left 15px  top 50% !important;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select,
textarea{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
    padding: .5em;
    color: #444;
    background-color: #f4f4f4;
    border: 1px solid #bbb;
    border-radius: .5em;
    font-size: 1.2rem;
    width: 100%;
}

#form #zip, #form #zip1, #form #age {
  width: auto;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
select:focus,
textarea:focus{
  outline: 0;
  background-color: #fff9f1;
  border: 1px solid #888;
}

select {
  text-overflow: '';
  vertical-align: middle;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  height: 40px;
  line-height: 20px;
}

.selectWrap{
  width: 100%;
  position: relative;
  display: inline-block;
}
.selectWrap::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 0px;
  border-bottom: solid 3px #8b8a8a;
  border-right: solid 3px #8b8a8a;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  /* top: 50%; */
  top: 20px;
  right: 13px;
  margin-top: -6px;
  z-index: 10;
  pointer-events: none;
}
.input-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 40px;
  position: relative;
  z-index: 1;
  /* background: transparent;
  padding: 0 40px 0 10px; */
  /* border: 1px solid #b4b3b3;
  border-radius: 2px; */
}
select::-ms-expand {
    display: none;
}

#form .require::after{
  content: '＊必須';
  font-weight: bold;
  font-size: .8em;
  padding-left: 1em;
  color: red;
}

/* ---------------------
MW WP FORM
*/

.mw_wp_form_confirm .require::after,
.mw_wp_form_confirm .optional::after {
  display: none;
}

.mw_wp_form_input .hide-input,
.mw_wp_form_confirm .hide-confirm,
.mw_wp_form_confirm .selectWrap::after {
  display: none;
}

.for-comfirm {
  display: none;
}

.mw_wp_form_preview .for-comfirm {
  display: block;
}

.mw_wp_form_preview .for-form {
  display: none;
}

/* ----------------------
エラー
*/

.mw_wp_form .error {
  display: inline-block !important;
  color: #fff !important;
  background: #e33 !important;
  padding: .5em;
  padding-left: 1em;
  line-height: 1;
  /* border: 2px solid #e33; */
  border-radius: 3em;
  margin-top: .5em;
  font-weight: bold;
}

/* ----------------------
送信完了画面
*/

.mw_wp_form_complete{
  text-align: center;
}

.mw_wp_form_complete h2 {
  color:#1B6AA5;
}

.mw_wp_form_complete h3 {
  display: inline-block;
  background: #ddd;
  padding: .8em 1em;
  border-radius: 2em;
  margin: 2em 0 1em;
}

.mw_wp_form_complete .msg {
  display: inline-block;
  text-align: left;
  padding: .5em;
  padding-left: 2em;
  text-indent: -1em;
  background: #FFF;
  border-radius: .5em;
  color: #d22;
}