@charset "UTF-8";
/* CSS Document */
/*
Theme Name: miraiproject
Template: habakiri
*/

/*------------------------------------------------------------

	リセットcss
	
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
p, pre, a, address, code, img, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}
h1, h2 {
    line-height: 1.2;
    font-family: 'Shippori Mincho', serif;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
a:focus, *:focus { outline:none; }
a:link,a:visited,a:hover {
    color: #444545;
    text-decoration: none;
}
a:hover,input:hover { opacity: 0.85; }
img{
	margin: 0;
	padding: 0;
	vertical-align: bottom;
    max-width: 100%;
}
table { border-collapse:collapse; }


/* ボックスサイジング */
*, *:before, *:after
{
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#main {
    margin: 0;
}
.slick-slide img {
    min-height: inherit!important;
}


/*------------------------------------------------------------

	書式設定
	
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft { text-align: left; }
.taCenter { text-align: center; }
.taRight { text-align: right; }

/* フォントの大きさ */


/* フォントの太さ */
.fwNormal { font-weight: normal; }
.fwBold { font-weight: bold; }


/*------------------------------------------------------------

	汎用スタイル
	
------------------------------------------------------------*/
.flex-container {
	display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
}

/*----- スマホのみ表示 ----*/
.sp-item01 { display: none; }
.sp-item02 { display: none; }

@media screen and (max-width : 768px){
.sp-item01 { display: block; }
/*----- PCのみ表示 ----*/
.pc-item01 { display: none; }
}
@media screen and (max-width : 480px){
.sp-item02 { display: block; }
/*----- PCのみ表示 ----*/
.pc-item02 { display: none; }
}


/*--------------------------------------------------------------------

	WP投稿用　スタイル調整 (#single-news > content > descの場合)
	
--------------------------------------------------------------------*/
#single-news .content .desc h2 {
    font-size: 1.95em;
	font-weight: bold;
}
#single-news .content .desc h3 {
    font-size: 1.56em;
	border-bottom: none;
	line-height: 1.4;
	padding: 0;
	margin: 0;
}
#single-news .content .desc h4 {
    font-size: 1.25em;
}
#single-news .content .desc a:link,
#single-news .content .desc a:visited,
#single-news .content .desc a:hover {
      color: #00a0d2;
	  text-decoration: underline;
}
#single-news .content .desc ul li {
	list-style-position: inside;
}
.wp-block-image figcaption {
	color: #555d66;
	font-size: 1.3rem;
	text-align: center;
}
.is-style-regular table {
	border-top: solid 1px;
	border-left: solid 1px;
}
.is-style-regular table tr th,
.is-style-regular table tr td {
	border-bottom: solid 1px;
	border-right: solid 1px;
	padding: .5em;
}
.wp-block-verse {
	display: block;
	padding: 11px;
	margin: 0 0 11.5px;
	line-height: 1.7;
	word-break: break-all;
	word-wrap: break-word;
	color: #333;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.wp-block-pullquote {
	border-top: 4px solid #555d66;
	border-bottom: 4px solid #555d66;
	margin-bottom: 28px;
	color: #40464d;
}
.wp-block-pullquote blockquote {
	border-left: none;
	margin: 1em;
	padding: 0;
}
.yrm-btn-wrapper {
	margin: 30px 0;
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	基本
	
------------------------------------------------------------------------------------------------------------------------------------------*/
html { font-size: 62.5%; }
body {
    color: #444545;
	font-family: "Noto Sans JP", serif;
	font-size: 1.4rem;
	line-height: 1.7;
}
h1, h2, h3{
	line-height: 1.4;
}
.wrap1080 {
	width: 1080px;
	margin: 0 auto;
}
.wrap768 {
	width: 768px;
	margin: 0 auto;
}

@media (max-width:1079px){	
.wrap1080  {
	width: 100%;
	padding: 0 20px;
}
}
@media (max-width:768px){	
.wrap768  {
	width: 100%;
	padding: 0 20px;
}
}

.btn-more a {
    display: inline-block;
    position: relative;
    color: #fff;
    font-size: 1.7rem;
    text-align: center;
    background: linear-gradient(-135deg, #33d6ff, #159ead);
    border-radius: 25px;
    padding: 10px 20px;
    min-width: 217px;
}
.btn-more {
    margin: 40px 0 0;
}
.btn-more a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    background: url(images/common/arrow-right01.png) top center no-repeat;
    width: 24px;
    height: 5px;
    margin: auto 0;
}

@media (max-width:768px){
.btn-more a {
    font-size: 1.5rem;
}
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	共通
	
------------------------------------------------------------------------------------------------------------------------------------------*/
/* header */
#header {
    position: relative;
}
#header .header-inner {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    z-index: 100;
}
#header .header-inner > .flex-container {
    justify-content: space-between;
}
#header .header-logo {
    margin-right: 20px;
}
#header .header-logo img {
    width: 273px;
}
#header .gnav ul {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
}
#header .gnav ul li {
    list-style: none;
}
#header .gnav ul li a {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 15px;
}
#header .catch {
    position: absolute;
    bottom: 40px;
    left: 40px;
}
#header .catch img {
    width: 421px;
}
#header .main-img::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(images/common/bgdeco-white.png) bottom left repeat-x;
    width: 100%;
    height: 100px;
}

@media(max-width:1080px){
#header .header-logo img {
    width: 160px;
}
#header .gnav ul {
    border-radius: 16px;
    padding: 10px;
}
#header .gnav ul li a {
    font-size: 1.4rem;
    margin: 0 10px;
}
}
@media(max-width:768px){
#header .header-inner {
    position: static;
    padding: 10px 20px;
}
#header .main-img::after {
    background-size: auto 30px;
}
#header .catch {
    position: absolute;
    bottom: 25px;
    left: 10px;
}
#header .catch img {
    width: 50%;
}
}


/* スマホメニュー */
.sp-menu {
	display: none;
}
@media screen and (max-width : 768px){
#header .gnav {
    display: none;
}
.sp-menu {
	display: flex;
}
#nav-drawer {
  display: inline-block;
  position: relative;
}
/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}
/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 50px;
  height: 50px;
  vertical-align: middle;
  background: #159ead;
}
/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #fff;
  display: block;
  content: '';
  cursor: pointer;
  margin: 15px 0 0 13px;
}
#nav-open span:before {
  bottom: -8px;
  margin: 0;
}
#nav-open span:after {
  bottom: -16px;
  margin: 0;
}
/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 100000;
  top: 15px;/*全体に広がるように*/
  right: 20px;
  width: 50px;
  height: 50px;
  overflow-y: auto;
  transition: .3s ease-in-out;
  background: #159ead url(images/common/sp-menu-close.png) center center no-repeat;
  background-size: 60%;
}
/*中身*/
#nav-content {
overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  height: 100%;
  max-width: 345px;/*最大幅（調整してください）*/
  background: #d0ecef;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(120%);
  transform: translateX(120%);/*左に隠しておく*/
}
#nav-content ul {
	width: auto;
	margin: 50px 30px;
	padding-left: 0;
}
#nav-content ul li {
	display: block;
	font-size: 1.4rem;
	text-align: left;
	width: auto;
	padding: 15px 20px;
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
}
#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
}

/* pagetop */
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
    width: 50px;
    z-index: 20;
}

@media(max-width:768px){
#pagetop {
	bottom: 55px;
	right: 10px;
    width: 40px;
}
}

.btn-contact {
    position: fixed;
    top: 50px;
    right: 0;
    z-index: 20;
}
@media(max-width:768px){
.btn-contact {
    position: fixed;
    top: auto;
    bottom: 0;
    right: auto;
    left: 0;
    background: #159ead;
    width: 100%;
    z-index: 20;
    padding: 10px;
}
.btn-contact p {
    color: #fff;
    font-weight: bold;
}
}



/* footer */
#footer {
    text-align: center;
    padding: 40px 0 20px;
}
#footer .footer-logo {
    margin-bottom: 30px;
}
#footer .footer-logo img {
    width: 140px;
}
#footer .text01 {
    font-weight: bold;
}
#footer .btn-more {
    margin: 20px 0;
}
#footer .btn-more a {
    width: 300px;
}
#footer .copy {
    margin: 20px 0 0;
}

@media(max-width:768px){
#footer .copy {
    margin: 20px 0 40px;
}
}


/* pagenavi */
.wp-pagenavi {
    margin: 80px 0 40px;
    text-align: center;
}
.wp-pagenavi a, .wp-pagenavi span {
    font-size: 2rem;
    border: none;
	margin: 15px;
}
.wp-pagenavi a {
    font-weight: bold;
}
.wp-pagenavi span.current {
    color: #fff;
    background: #00A6E7;
    border-radius: 10px;
    padding: 10px 13px;
}



/*------------------------------------------------------------------------------------------------------------------------------------------

	トップページ
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#home .info-block {
    position: relative;
    padding: 40px 0 80px;
}
#home .info-block::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    background: url(images/common/bgdeco-blue.png) bottom left repeat-x;
    width: 100%;
    height: 100px;
}
#home .info-block .info-blockinner {
    flex-wrap: wrap;
    justify-content: space-between;
}
#home .info-block .flex-left {
    width: 48%;
}
#home .info-block .flex-right {
    width: 48%;
}
#home .info-block .news h2 {
    font-size: 3.6rem;
    margin-bottom: 10px;
}
#home .info-block .news .news-table {
    border-top: solid 1px #d0cac6;
}
#home .info-block .news .news-table .item {
    border-bottom: solid 1px #d0cac6;
    padding: 10px 0;
}
#home .info-block .news .news-table .item a {
    align-items: center;
}
#home .info-block .news .news-table .item .ttl {
    font-size: 1.6rem;
    font-weight: normal;
}
#home .info-block .news .news-table .item .day {
    color: #159ead;
    font-size: 1.4rem;
    margin-right: 10px;
}

@media(max-width:768px){
#home .info-block::after {
    background-size: auto 30px;
}
#home .info-block .flex-left {
    width: 100%;
    margin-bottom: 30px;
}
#home .info-block .flex-right {
    width: 100%;
}
#home .info-block .news .en-ttl {
    text-align: center;
}
#home .info-block .news .en-ttl img {
    height: 30px;
}
#home .info-block .news h2 {
    font-size: 2.6rem;
    text-align: center;
}
#home .info-block .news .news-table .item h3 {
    font-size: 1.8rem;
}
#home .info-block .news .btn-more {
    text-align: center;
}
}


#home .about-block {
    position: relative;
    background: #80e5ff;
    padding: 40px 0 80px;
}
#home .about-block::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    background: url(images/common/bgdeco-white.png) bottom left repeat-x;
    width: 100%;
    height: 100px;
}
#home .about-blockinner {
    position: relative;
}
#home .about-block .flex-container {
    flex-wrap: wrap;
    justify-content: space-between;
}
#home .about-block .flex-left {
    width: 45%;
}
#home .about-block .flex-right {
    width: 50%;
}
#home .about-block h2 {
    position: relative;
    font-size: 3.8rem;
    margin-bottom: 20px;
}
#home .about-block h2::after {
    content: "";
    display: block;
    position: absolute;
    top: -50px;
    right: 40%;
    background: url(images/home/about-deco01.png) top left no-repeat;
    background-size: cover;
    width: 64px;
    height: 98px;
}
#home .about-block .flex-left .text01 {
    font-size: 1.7rem;
    font-weight: 500;
}
#home .about-block .link-box {
    position: absolute;
    bottom: -30%;
    right: 47%;
    width: 400px;
    z-index: 10;
}
#home .about-block .link-box .item {
    width: 50%;
}
#home .about-block .link-box .item:nth-of-type(1) {
    margin-top: 30px;
}

@media(max-width:1080px){
#home .about-block h2::after {
    top: -10px;
    right: 0;
    width: 44px;
    height: 68px;
}
}
@media(max-width:980px){
#home .about-block h2::after {
    right: 20%;
}
#home .about-block .link-box {
    bottom: -40%;
    width: 300px;
}
}
@media(max-width:768px){
#home .about-block {
    padding: 40px 0;
}
#home .about-block::after {
    background-size: auto 30px;
}
#home .about-block .en-ttl img {
    height: 30px;
}
#home .about-block h2::after {
    right: 0;
}
#home .about-block .flex-left {
    width: 100%;
}
#home .about-block .flex-right {
    width: 100%;
}
#home .about-block h2 {
    font-size: 2.4rem;
    margin-bottom: 20px;
}
#home .about-block .link-box {
    position: static;
    justify-content: center;
    width: 100%;
}
#home .about-block .link-box .item {
    width: 30%;
}
}
@media(max-width:480px){
#home .about-block .link-box .item {
    width: 50%;
}
}


#home .action-block {
    position: relative;
    padding: 60px 0 80px;
}
#home .action-block::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    background: url(images/common/bgdeco-blue.png) bottom left repeat-x;
    width: 100%;
    height: 100px;
}
#home .action-block .en-ttl {
    text-align: center;
}
#home .action-block h2 {
    position: relative;
    font-size: 4rem;
    text-align: center;
    margin-bottom: 20px
}
#home .action-block h2::after {
    content: "";
    display: block;
    position: absolute;
    top: -120px;
    right: 15%;
    background: url(images/home/action-deco01.png) top left no-repeat;
    background-size: cover;
    width: 228px;
    height: 174px;
}
#home .action-block .flex-container {
    flex-wrap: wrap;
    justify-content: space-between;
}
#home .action-block .flex-box {
    position: relative;
    flex-wrap: wrap;
    width: 31%;
    margin-bottom: 40px;
}
#home .action-block .flex-box .cat {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    background: #00a6e7;
    padding: 0 10px;
}
#home .action-block .flex-box img {
    border-radius: 0 16px 16px 16px;
}
#home .action-block .flex-box .day {
    font-size: 1.4rem;
    margin: 5px 0;
}
#home .action-block .flex-box h3 {
    font-size: 2rem;
}
#home .action-block .flex-box .name {
    color: #00a6e7;
    font-size: 1.5rem;
}
#home .action-block .btn-more {
    text-align: center;
}

@media(max-width:1080px){
#home .action-block h2::after {
    top: -70px;
    right: 18%;
    width: 125px;
    height: 94px;
}
}
@media(max-width:768px){
#home .action-block::after {
    background-size: auto 30px;
}
#home .action-block .en-ttl img {
    height: 30px;
}
#home .action-block h2 {
    font-size: 2.4rem;
}
#home .action-block h2::after {
    top: -123px;
    right: 0;
    left: 0;
    width: 115px;
    height: 84px;
    margin: 0 auto;
}
#home .action-block .flex-box {
    width: 100%;
    margin-bottom: 20px;
}
#home .action-block .flex-box a {
    justify-content: space-between;
}
#home .action-block .flex-box .flex-left {
    width: 30%;
}
#home .action-block .flex-box .flex-right {
    width: 68%;
}
#home .action-block .flex-box .cat {
    font-size: 1.2rem;
}
#home .action-block .flex-box .day {
    font-size: 1.2rem;
}
#home .action-block .flex-box h3 {
    font-size: 1.8rem;
}
}


#home .event-block {
    position: relative;
    background: #80e5ff;
    padding: 40px 0 80px;
}
#home .event-block::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    background: url(images/common/bgdeco-white.png) bottom left repeat-x;
    width: 100%;
    height: 100px;
}
#home .event-block .en-ttl {
    text-align: center;
}
#home .event-block h2 {
    position: relative;
    font-size: 4rem;
    text-align: center;
    margin-bottom: 20px
}
#home .event-block h2::after {
    content: "";
    display: block;
    position: absolute;
    top: -150px;
    left: 7%;
    background: url(images/home/event-deco01.png) top left no-repeat;
    background-size: cover;
    width: 293px;
    height: 208px;
}
#home .event-block .flex-container {
    flex-wrap: wrap;
    justify-content: space-between;
}
#home .event-block .flex-box {
    width: 31%;
}
#home .event-block .flex-box img {
    border-radius: 16px 16px 0 0;
}
#home .event-block .flex-box .desc-box {
    background: #fff;
    border-radius: 0 0 16px 16px;
    padding: 20px;
    width: 100%;
}
#home .event-block .btn-more {
    text-align: center;
}

@media (max-width:1080px){
#home .event-block h2::after {
    top: -80px;
    left: 7%;
    width: 173px;
    height: 122px;
}
}
@media (max-width:768px){
#home .event-block::after {
    background-size: auto 30px;
}
#home .event-block .en-ttl img {
    height: 30px;
}
#home .event-block h2 {
    font-size: 2.4rem;
}
#home .event-block h2::after {
    top: -130px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 129px;
    height: 92px;
}
#home .event-block .flex-box {
    background: #fff;
    border-radius: 10px;
    width: 100%;
    margin-bottom: 20px;
    padding: 10px;
}
#home .event-block .flex-box .flex-left {
    width: 30%;
}
#home .event-block .flex-box .flex-left img {
    border-radius: 10px;
}
#home .event-block .flex-box .flex-right {
    border-radius: 0 16px 16px 0;
    width: 70%;
    padding: 0 0 0 10px;
}
#home .event-block .flex-box h3 {
    font-size: 1.8rem;
}
}


#home .banner-block {
    padding: 20px 0 80px;
}
#home .banner-block h2 {
    text-align: center;
    margin-bottom: 30px;
}
#home .banner-block h2 img {
    width: 394px;
}
#home .banner-block ul {
    justify-content: center;
    flex-wrap: wrap;
}
#home .banner-block ul li {
    list-style: none;
    width: 23%;
    margin: 0 1% 0;
}

@media (max-width:768px){
#home .banner-block {
    padding: 20px 0 30px;
}
#home .banner-block ul li {
    width: 48%;
    margin: 0 0 20px 0;
}
}


#home .support-block {
    background: url(images/home/support-bg01.jpg) top center no-repeat;
    background-size: cover;
    padding: 60px 0;
}
#home .support-block .en-ttl {
    text-align: center;
}
#home .support-block h2 {
    color: #fff;
    font-size: 4rem;
    text-align: center;
    margin-bottom: 20px;
}
#home .support-block ul {
    flex-wrap: wrap;
    justify-content: center;
}
#home .support-block ul li {
    list-style: none;
    width: 24%;
    margin: 0 1% 20px 0;
}
#home .support-block ul li:nth-of-type(4n) {
    margin: 0 0 20px 0;
}

@media (max-width:768px){
#home .support-block {
    padding: 30px 0;
}
#home .support-block .en-ttl img {
    height: 30px
}
#home .support-block h2 {
    font-size: 2.4rem;
}
#home .support-block ul li {
    list-style: none;
    width: 48%;
    margin: 0 2% 20px 0;
}
}

/*------------------------------------------------------------------------------------------------------------------------------------------

	サブページ
	
------------------------------------------------------------------------------------------------------------------------------------------*/
.sub-page #header {
	position: relative;
}
.sub-page #header .header-inner {
	position: static;
	padding: 20px 20px 60px;
}
.sub-page #header::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	background: url(images/common/bgdeco-white.png) bottom center repeat-x;
	width: 100%;
	height: 40px;
}
.sub-page h2 {
	font-size: 4.2rem;
	text-align: center;
	line-height: 1.2;
}

@media(max-width:768px){
.sub-page #header::before {
	background-size: auto 30px;
}
.sub-page #header .header-inner {
	padding: 10px 10px 40px;
}
.sub-page h2 {
	font-size: 2.4rem;
}
}

.sub-page #footer .link-block {
	position: relative;
	background: #80E6FF;
	padding: 20px 0 60px;
	margin-bottom: 40px;
}
.sub-page #footer .link-block::before {
	content: "";
	display: block;
	position: absolute;
	top: -49px;
	background: url(images/common/bgdeco-blue.png) bottom center repeat-x;
	width: 100%;
	height: 50px;
}
.sub-page #footer .link-block::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	background: url(images/common/bgdeco-white.png) bottom center repeat-x;
	width: 100%;
	height: 50px;
}
.sub-page #footer .link-block .flex-box:nth-of-type(1),
.sub-page #footer .link-block .flex-box:nth-of-type(3) {
    margin-top: 30px;
}

@media(max-width:768px){
.sub-page #footer .link-block {
    padding: 20px 0 40px;
}
.sub-page #footer .link-block::before {
	background-size: auto 30px;
}
.sub-page #footer .link-block::after {
	background-size: auto 30px;
}
.sub-page #footer .link-block .flex-container {
    flex-wrap: wrap;
    justify-content: space-between;
}
.sub-page #footer .link-block .flex-box {
    width: 50%;
}
}



/*------------------------------------------------------------------------------------------------------------------------------------------

	えな認知症みらいプロジェクトとは
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#about #header {
	background: url(images/about/pagehead-about.jpg) top center no-repeat;
	background-size: cover;
}

#about .about-block {
	padding: 40px 0;
}
#about .about-blockinner {
	position: relative;
}
#about .about-block .en-ttl {
	text-align: center;
}
#about .about-block h2 {
	margin-bottom: 20px;
}
#about .about-block .img-box01 {
	margin-bottom: 30%;
}
#about .about-block .text-box01 {
	position: absolute;
	top: 45%;
	left: 0;
	right: 0;
	background: #fff;
	width: 800px;
	margin: 0 auto;
	padding: 40px 50px;
}
#about .about-block .text-box01 h3 {
	font-size: 2rem;
	text-align: center;
	margin-bottom: 30px;
}
#about .about-block .text-box01 .text01 {
	font-size: 1.7rem;
	width: 72%;
	margin-bottom: 40px;
}
#about .about-block .text-box01 .text01 span {
	color: #159EAD;
	font-size: 2.4rem;
}
#about .about-block .text-box01 .text02 {
	font-size: 1.7rem;
	width: 72%;
	margin: 0 0 0 auto;
}

@media(max-width:1080px){
#about .about-block .img-box01 {
	margin-bottom: 0;
}
#about .about-block .text-box01 {
    position: static;
    padding: 40px 20px;
    width: 100%;
}
}
@media(max-width:768px){
#about .about-block .en-ttl img {
	height: 30px;
}
#about .about-block .text-box01 .text01 {
	font-size: 1.5rem;
	width: 100%;
	margin-bottom: 30px;
}
#about .about-block .text-box01 .text01 span {
	font-size: 2rem;
}
#about .about-block .text-box01 .text02 {
	font-size: 1.5rem;
	width: 100%;
}
}


#about .concept-block {
	padding: 80px 0;
}
#about .concept-block .en-ttl {
	text-align: center;
}
#about .concept-block h2 {
	margin-bottom: 20px;
}
#about .concept-block .text01 {
	justify-content: center;
	margin-bottom: 40px;
}

@media(max-width:768px){
#about .concept-block {
	padding: 0;
}
#about .concept-block .en-ttl img {
	height: 30px;
}
}



/*------------------------------------------------------------------------------------------------------------------------------------------

	post
	
------------------------------------------------------------------------------------------------------------------------------------------*/
.archive .top-block {
	margin: 60px 0;
}
.archive .top-block .flex-container {
    justify-content: center;
    flex-wrap: wrap;
}
.archive .top-block .ttl-box {
    position: relative;
}
.archive .top-block .en-ttl {
	text-align: center;
}
.archive .top-block h2 {
	margin-bottom: 20px;
}
.archive .top-block p {
    font-size: 1.7rem;
    font-weight: 500;
}
.archive .top-block .cat-list {
	justify-content: center;
	margin: 30px 0 0;
    width: 100%;
}
.archive .top-block .cat-list li {
	list-style: none;
	padding: 0 10px;
    margin-bottom: 10px;
}
.archive .top-block .cat-list li a {
	display: inline-block;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	background: #00A6E7;
	border-radius: 8px;
	padding: 10px 20px;
}

@media(max-width:768px){
.archive .top-block {
	margin: 30px 0;
}
.archive .top-block .cat-list {
    justify-content: space-between;
}
.archive .top-block .cat-list li {
    width: 50%;
}
.archive .top-block .cat-list li a {
	display: block;
	font-size: 1.6rem;
    text-align: center;
	padding: 5px 10px;
}
}


.archive .archive-block {
	padding-bottom: 80px;
}
.archive .archive-block .flex-container {
	flex-wrap: wrap;
}
.archive .archive-block .flex-box {
    position: relative;
    width: 31%;
	margin: 0 2% 40px 0;
}
.archive .archive-block .flex-box:nth-of-type(3n) {
	margin: 0 0 40px 0;
}
.archive .archive-block .flex-box .cat {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    background: #00a6e7;
    padding: 0 10px;
}
.archive .archive-block .flex-box img {
    border-radius: 0 16px 16px 16px;
}
.archive .archive-block .flex-box .day {
    font-size: 1.4rem;
    margin: 5px 0;
}
.archive .archive-block .flex-box h3 {
    font-size: 2rem;
}
.archive .archive-block .flex-box .name {
    color: #00A6E7;
    font-weight: 1.5rem;
    font-weight: bold;
    margin-top: 5px;
}

@media(max-width:768px){
.archive .archive-block {
	padding-bottom: 40px;
}
.archive .archive-block .flex-container {
	justify-content: space-between;
}
.archive .archive-block .flex-box {
    width: 48%;
	margin: 0 0 30px 0;
}
.archive .archive-block .flex-box:nth-of-type(3n) {
	margin: 0 0 30px 0;
}
}


.single .single-block .wrap1080 {
    width: 860px;
}
.single .single-block h2 {
    display: flex;
    align-items: center;
	font-size: 2.8rem;
	text-align: left;
	margin: 60px 0 30px;
}
.single .single-block h2 img {
    margin-right: 10px;
}
.single .single-block .main-img img {
	border-radius: 43px;
	width: 100%;
	margin-bottom: 30px;
}
.single .single-block h1 {
	font-size: 3.8rem;
	margin-bottom: 20px;
}
.single .single-block .cat {
	display: inline-block;
	color: #fff;
	font-size: 1.5rem;
	background: #00A6E7;
	padding: 0 10px;
	margin-right: 20px;
}
.single .single-block .day {
	display: inline-block;
	color: #605F5B;
	font-size: 1.6rem;
}

@media(max-width:900px){
.single .single-block .wrap1080 {
    width: 100%;
}
}
@media(max-width:768px){
.single .single-block h2 {
	font-size: 2.4rem;
	margin: 30px 0 20px;
}
.single .single-block h2 img {
    height: 30px;
}
.single .single-block h1 {
	font-size: 2.2rem;
    margin-bottom: 10px;
}
.single .single-block .cat {
	margin-right: 10px;
}
}


.single .single-block .desc {
	margin: 40px 0;
}
.single .single-block .desc p {
	margin-bottom: 20px;
}

.single .btn-more {
    text-align: center;
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	お知らせ
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#news #header {
	background: url(images/news/pagehead.jpg) top center no-repeat;
	background-size: cover;
}

#news .top-block .ttl-box::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: -180px;
    background: url("images/news/deco01.png") center no-repeat;
    background-size: cover;
    width: 147px;
    height: 114px;
}
#news .top-block .ttl-box::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: -150px;
    background: url("images/news/deco02.png") center no-repeat;
    background-size: cover;
    width: 121px;
    height: 126px;
}

@media(max-width:768px){
#news .top-block .ttl-box::before {
    bottom: auto;
    top: 10px;
    left: -30px;
    width: 83px;
    height: 64px;
}
#news .top-block .ttl-box::after {
    bottom: auto;
    top: -2px;
    right: -30px;
    width: 70px;
    height: 74px;
}
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	活動報告
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#report #header {
	background: url(images/report/pagehead.jpg) top center no-repeat;
	background-size: cover;
}

#report .top-block .ttl-box::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    right: -190px;
    background: url("images/report/deco01.png") center no-repeat;
    background-size: cover;
    width: 172px;
    height: 191px;
}

@media(max-width:768px){
#report .top-block .ttl-box::before {
    bottom: auto;
    right: -60px;
    top: -10px;
    width: 84px;
    height: 94px;
}
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	イベント
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#event #header {
	background: url(images/event/pagehead.jpg) top center no-repeat;
	background-size: cover;
}

#event .top-block .ttl-box::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: -270px;
    background: url("images/event/deco01.png") center no-repeat;
    background-size: cover;
    width: 248px;
    height: 176px;
}

@media(max-width:768px){
#event .top-block .ttl-box::before {
    bottom: auto;
    left: -57%;
    width: 108px;
    height: 76px;
}
}

#event .googleform-block {
    padding: 80px 0;
}
#event .googleform-block .en-ttl {
    text-align: center;
}
#event .googleform-block h2 {
    margin-bottom: 20px;
}
#event .googleform-block .text01 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 40px;
}
#event .googleform-block .box01 iframe {
    width: 100%;
}

@media(max-width:768px){
#event .googleform-block {
    padding: 40px 0 0;
}
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	私のアクション
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#action #header {
	background: url(images/action/page-head.jpg) top center no-repeat;
	background-size: cover;
}

#action .top-block .ttl-box::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: -250px;
    background: url("images/action/deco01.png") center no-repeat;
    background-size: cover;
    width: 225px;
    height: 173px;
}

@media(max-width:768px){
#action .top-block .ttl-box::before {
    bottom: auto;
    top: -27px;
    left: -5px;
    width: 85px;
    height: 65px;
}
}

#action .single-block .ttl-box {
    margin-top: 60px;
}
#action .single-block .ttl-box .name {
    display: inline-block;
    color: #00A6E7;
    font-weight: 2.2rem;
    padding-right: 20px;
}
#action .single-block .main-img {
    margin: 40px 0;
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	お問い合わせ
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#contact #header {
	background: url(images/contact/page-head.jpg) top center no-repeat;
	background-size: cover;
}

#contact .top-block {
    padding: 60px 0 40px;
}
#contact .top-block .en-ttl {
    text-align: center;
}
#contact .top-block h2 {
    margin-bottom: 50px;
}
#contact .top-block h3 {
    font-size: 2.8rem;
    text-align: center;
    margin-bottom: 20px;
}
#contact .top-block .text01 {
    justify-content: center;
}

@media (max-width:768px){
#contact .top-block {
    padding: 20px 0 30px;
}
#contact .top-block h2 {
    margin-bottom: 30px;
}
#contact .top-block h3 {
    font-size: 2rem;
    margin-bottom: 10px;
}
}


#contact .mail-block {
    background: #e4e4e4;
    padding: 60px 0;
}
#contact .mail-block span.red {
    color: #ec1c24;
}
#contact .mail-block table {
    width: 100%;
}
#contact .mail-block table tr th {
    font-size: 2rem;
    vertical-align: top;
    padding: 10px 0;
}
#contact .mail-block table tr td {
    padding: 10px 0;
}
#contact .btn-send input {
    display: inline-block;
    position: relative;
    color: #fff;
    font-size: 1.7rem;
    text-align: center;
    background: linear-gradient(-135deg, #33d6ff, #159ead);
    border: none;
    border-radius: 25px;
    padding: 10px 20px;
    min-width: 217px;
}
#contact .btn-send {
    text-align: center;
    margin: 40px 0 0;
}
#contact .btn-send input::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    background: url(images/common/arrow-right01.png) top center no-repeat;
    width: 24px;
    height: 5px;
    margin: auto 0;
}

@media (max-width:768px){
#contact .mail-block {
    background: #e4e4e4;
    padding: 30px 0 40px;
}
#contact .mail-block table tr th {
    display: block;
    font-size: 1.6rem;
    width: 100%;
    padding: 10px 0 0;
}
#contact .mail-block table tr td {
    display: block;
    width: 100%;
}
#contact .btn-send {
    margin: 20px 0 0;
}
#contact .btn-send input {
    display: block;
    font-size: 1.5rem;
    width: 100%;
}
}


#contact #footer {
    padding-top: 0;
}

.recaptcha-text {
    font-size: 1.2rem;
}
.recaptcha-text a {
    color: #0E41A8;
}


/*コンタクトフォーム */
.wpcf7 input[type="text"],
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
#contact .mail-block table tr td textarea {
    width: 100%;
    border: none;
    border-radius: 10px;
    padding: 10px;
}




