/*
Theme Name: machi-supo
Theme URI: http://machispo.org/
Description: 
Author: BaQuun.TV
Author URI: 
Version: 1.0
Tags: black, blue, white, two-columns, fixed-width, custom-header, custom-background, threaded-comments, sticky-post, translation-ready, microformats, rtl-language-support, editor-style, custom-menu (optional)

License:
License URI:

General comments (optional).
*/


/**
 * YUI 3.5.0 - reset.css (http://developer.yahoo.com/yui/3/cssreset/)
 * http://cssreset.com
 * Copyright 2012 Yahoo! Inc. All rights reserved.
 * http://yuilibrary.com/license/
 */
/*
	TODO will need to remove settings on HTML since we can't namespace it.
	TODO with the prefix, should I group by selector or property for weight savings?
*/
html{
	color:#000;
	background:#FFF;
}
/*
	TODO remove settings on BODY since we can't namespace it.
*/
/*
	TODO test putting a class on HEAD.
		- Fails on FF.
*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
	margin:0;
	padding:0;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img {
	border:0;
}
/*
	TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
*/
address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}
ol, ul {
	list-style:none;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,
q:after {
	content:'';
}
abbr, acronym {
	border:0;
	font-variant:normal;
}
/* to preserve line-height and selector appearance */
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}
input, textarea, select {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
}
/*to enable resizing for IE*/
input, textarea, select {
	*font-size:100%;
}
/*because legend doesn't inherit in IE */
legend {
	color:#000;
}
/* YUI CSS Detection Stamp */
#yui3-css-stamp.cssreset { display: none; }

body {
	font-family:"Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color: #fff;
	color: #000;
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	line-height: 28px;
	letter-spacing: 1.5px;
}

#container {
	overflow: hidden;
	background-color: #fff;
}
#container01 {
	overflow: hidden;
	background-color: #fff;
}
table {
	width:94%;
	margin:20px auto 20px;
	letter-spacing: 1.5px;
	line-height: 38px;
	border: solid 1px #D4D4D4;
}
tr {
	display:table-row;
	border-bottom: solid 1px #D4D4D4;
}
th {
text-align: left;
vertical-align: top;
padding: 10px 30px 10px 15px;
white-space: nowrap;
display: table-cell;
background-color:#E8E8E8;
border-right: solid 1px #D4D4D4;
}

td {
background-color:#F3F3F3;
padding: 10px 15px;
display: table-cell;
vertical-align: inherit;
line-height: 24px;
    overflow: hidden;
}
dl {
    margin: 24px auto;
    overflow: hidden;
}
dt {
    width: 60px;
    float: left;
}
dd {
    width: 230px;
    float: left;
    text-align: left;
}
.prof03 dl {
    width: 824px;
    margin: 24px auto;
    overflow: hidden;
}
.prof03 dt {
    width: 170px;
    float: left;
}
.prof03 dd {
    width: 654px;
    float: left;
    text-align: left;
}
.new {
	float: left;
	margin: 0 20px;
	background-color:#F5272A;
	color: #fff;
	font-size: 13px;
	padding: 0 20px;
}
#back_to_top {
	float: right;
	margin: 20px 20px;
}
a {
	text-decoration: none;
	color: #000;
}
.fade-in {
	transition: opacity 0.5s;
}
.fade-up {
	transition: opacity 0.5s;
	transition: transform 0.5s;
}
.left-in {
	transition: opacity 0.5s;
	transition: transform 0.5s;
}
.right-in {
	transition: opacity 0.5s;
	transition: transform 0.5s;
}
li {
	list-style: none;
}
.center-text {
	text-align: center;
	margin: 30px 0;
}
.center-img {
    text-align: center;
    margin: 30px 0;
}
.scrolldown2{
	position:absolute;
	bottom:100px;
	left:2%;
    z-index: 2;
}
.scrolldown2 span{
	position: absolute;
	left:10px;
	bottom:10px;
	color: #000;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.scrolldown2:before {
    content: "";
    position: absolute;
    bottom:0;
    left:-4px;
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#000;
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

.scrolldown2:after{
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width:2px;
	height: 50px;
	background:#000;
}
.entry-title {
  padding: 20px 0px 20px 0px;
  border: solid 1px #516b70;
  font-size: 22px;
    font-weight: bold;
  color: #516b70;
    margin:60px 0 26px;
    text-align: center;
}
.h2-01 {
    font-size: 30px;
    font-weight: bold;
    color: #000;
    letter-spacing: 1px;
    margin: 12px 0 12px 20px;
    line-height: 30px;
    width: 160px;
    float: left;
}
.h2-02 {
    font-size: 50px;
    font-weight: bold;
    width: 100%;
    border-bottom: solid 1px #000;
    padding-bottom: 20px;
    margin-bottom: 40px;
}
.h2-02-sp {
    font-size: 16px;
}
.h2-03 {
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    color: #516b70;
    border-bottom: solid 1px #516b70;
    padding-bottom: 20px;
    margin: 20px 0 40px;
}
.h3-01 {
    font-size: 52px;
    text-align: center;
    font-weight: bold;
    line-height: 60px;
    margin-bottom: 100px;
}
.h3-01-sp {
    font-size: 20px;
}
.h3-01-sp02 {
    color: #419a67;
}
.h3-01-sp03 {
    color: #516b70;
}
.h3-02 {
    font-size: 36px;
    text-align: center;
    font-weight: bold;
    line-height: 60px;
    margin-bottom: 100px;
    color: #516b70;
}
.h3-02-sp {
    font-size: 20px;
    color: #000;
}
.h3-03 {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 20px;
}
.h3-04 {
    font-size: 52px;
    text-align: center;
    font-weight: bold;
    line-height: 60px;
    margin: 100px 0 0px;
}
.h3-05 {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin: 30px 0;
}
.h3-06 {
    width: 805px;
    height: 203px;
    margin: 40px auto;
}
.h3-06 img {
    width: 100%;
    height: auto;
}
.h3-07 {
    font-size: 22px;
    font-weight: bold;
    margin: 50px 0 20px;
}
.h3-08 {
    font-size: 36px;
    text-align: center;
    font-weight: bold;
    line-height: 40px;
    margin-bottom: 40px;
    color: #516b70;
}
.h4-01 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 20px;
}
.h4-01-sp {
    color: #419a67;
}
.bold {
    font-weight: bold;
}
.h4-02 {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
.h4-03 {
    font-size: 26px;
    font-weight: bold;
    color: #419a67;
    border: solid 1px #419a67;
    border-radius: 36px;
    padding: 20px 40px;
    display: inline-block;
    margin: 20px 0;
}
.h4-04 {
    font-size: 48px;
    font-weight: bold;
    padding: 60px 0 30px;
}
.h4-05 {
    font-weight: bold;
    margin: 20px 0 10px;
    font-size: 20px;
}
.h5-01 {
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}
.top-space {
    margin-top: 100px;
}
img {
    image-rendering: -webkit-optimize-contrast;
}




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

#header {
    width: 100%;
    height: 1080px;
    background-image: url("img/main-img.png");
    background-size: cover;
    position: relative;
}
#header2 {
	width: 100%;
    position: relative;
}
.header-utility {
    width: 100%;
    height: 128px;
    position: relative;
    top: 0;
    right: 0;
    z-index: 4;
    background-color: #fff;
    box-shadow: 0px 10px 6px -10px;
}
#child-header {
	width: 100%;
    height: 100px;
    background-color: #5a7b79;
}
.logo {
	width: 267px;
    height: 56px;
    position: absolute;
    top: 58px;
    left: 10px;
}
.logo img {
    width: 100%;
}
.header-top-link {
    background-color: #419a67;
    position: relative;
    top: 0;
    height: 48px;
    font-size: 13px;
    color: #fff;
}
.top-link-area {
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    justify-content: space-around;
}
.gnavi-pc {
    width: 990px;
    position: absolute;
    right: 10px;
    top: 74px;
    font-size: 14px;
}
.menu li a {
    font-weight: bold;
}
.top-link01, .top-link02 {
    margin: 0 16px;
}
.top-link01 a, .top-link02 a {
    color: #fff;
}
.top-link02 a {
    border: solid 0.5px #fff;
    border-radius: 14px;
    padding: 5px 12px;
}
.gnavi-pc ul {
    width: 100%;
    display: flex;
    justify-content: space-around;
}
.gnavi-pc li {
    text-align: center;
}
.gnavi ul {
    padding-top: 0px;
}
.gnavi li .subMenu-item-last {
    margin-bottom: 20px;
}
.gnavi .subMenu2-li2 {
    margin:40px auto 0;
}
.menu-item {
  position: relative;
}
.menu-item:not(:first-of-type) {
  border-left: 2px solid #fff;
}
.gnavi-pc li.subMenu-item {
  border-top: 2px solid #fff;
    text-align: left;
    background-color: #385abb;
    padding: 14px 10px;
}
.gnavi-pc li.subMenu-item:hover {
    opacity: 0.8;
}
.gnavi-pc ul .subMenu {
  position: absolute;
  width: 330px;
  display: none;
}
.gnavi-pc ul .subMenu a {
    color: #fff;
    padding: 10px;
}
.openbtn4{
	position: absolute;
	background:#e9e9e9;
	cursor: pointer;
    width: 100px;
    height:100px;
    right: 0;
	border-radius: 5px;
    z-index: 10;
}
.openbtn4 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 22px;
    height: 2px;
    border-radius: 5px;
	background: #666;
  	width: 45%;
  }
.openbtn4 span:nth-of-type(1) {
	top:26px;	
}
.openbtn4 span:nth-of-type(2) {
	top:40px;
}
.openbtn4 span:nth-of-type(3) {
	top:54px;
}
.openbtn4 span:nth-of-type(3)::after {
	content:"Menu";
	position: absolute;
	top:5px;
	left:5px;
	color: #666;
	font-size: 0.6rem;
	text-transform: uppercase;
}

.openbtn4.active span:nth-of-type(1) {
    top: 30px;
    left: 20px;
    transform: translateY(6px) rotate(-45deg);
    width: 45%;
}
.openbtn4.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn4.active span:nth-of-type(3){
    top: 42px;
    left: 20px;
    transform: translateY(-6px) rotate(45deg);
    width: 45%;
}
.openbtn4.active span:nth-of-type(3)::after {
	content:"Close";
    transform: translateY(0) rotate(-45deg);
	top:6px;
	left:24px;
}
.gnavi {
	background-color: rgba(0,0,0,.9);
	position: absolute;
	top: 0;
	right: -100%;
	width: 100%;
	height: 100vh;
	justify-content: center;
	color: white;
	transition: .5s;
    z-index: 6;
}
.gnavi.active {
    right: 0;
}
.gnavi ul {
    width: 80%;
	margin: 90px auto 0;
}
.gnavi li {
    display: inline-block;
	list-style: none;
	margin: 20px auto 0;
	cursor: pointer;
    border-bottom: dotted 1px rgba(205,205,205,1.00);
    width: 100%;
    height: 30px;
}
.gnavi li a {
    color: #fff;
}
.gnavi ul .subMenu2 {
    margin-top: 10px;
}

@keyframes slide{
	0%{
		transform:scaleX(0);
	}
	100%{
		transform:scaleX(1);
	}
}
@keyframes fadeIn{
	0%{
		opacity:0;
	}
	100%{
		opacity:1;
	}
}
@keyframes moveUp{
	0%{
		transform: translateY(0px);
	}

	100%{
		transform: translateY(-215px);
	}

}
@keyframes leftIn{
	0%{
		transform: translateX(0px);
	}

	100%{
		transform: translateX(550px);
	}

}
@-webkit-keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}
.top-text {
    width: 38%;
    height: auto;
    position: absolute;
    top: 360px;
    left: 80px;
}
.top-text img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
}
.content-end {
    text-align: center;
    position: absolute;
    bottom: 0;
    height: 209px;
}
.topics {
    width: 800px;
    background-color: #fff;
    border-radius: 22px;
    padding: 10px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    margin-left: -400px;
    overflow: hidden;
}
.news-inner {
    width: 570px;
    float: left;
    margin-top: 12px;
    overflow: hidden;
    align-items: center;
    display: flex;
    white-space: nowrap;
}
.news-inner ul {
    display: flex;
    align-items: center;
    animation: ticker 20s linear infinite;
}
.news-dl {
    margin-right: 20px;
    width: 570px;
    overflow: hidden;
}
.day, .new, .news-post-title {
    display: inline-block;
    float: left;
    margin: 0 10px;
}
@keyframes ticker {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}




/*==========front-page==========*/
.main {
    width: 100%;
    overflow: hidden;
}
#top-content01 {
    width: 100%;
    margin: 60px auto;
}
#top-content02, .wrap02 {
    width: 100%;
    margin: 60px auto;
    background-color: rgba(74,130,98,0.39);
}
.top-content-inner {
    width: 80%;
    margin: 0 auto;
    padding: 80px 0;
}
.link-content01 {
    width: 100%;
    margin: 60px 0;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.link-content01 li {
    width: 31%;
    max-width: 416px;
    height: auto;
}
.link-content01 li img {
    width: 100%;
    height: auto;
}




/*======================child-page===========================*/


#child-main {
    min-height: 800px;
    margin-bottom: 100px;
}
.child-top {
    width: 100%;
    height: 326px;
}
.child-top2 {
    width: 100%;
    height: 435px;
}
.child-top img, .child-top2 img {
    height: 100%;
    width: auto;
    text-align: center;
    object-fit: cover;
    max-width: 100%;
}
.line {
    text-align: center;
    margin: 80px 0 60px;
}
.child-top-text {
    text-align: center;
}
.about02 {
    margin: 120px 0;
}
.about02-inner {
    width: 980px;
    margin: 50px auto;
}
.about02-content01 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 60px 0 100px;
}
.about02-content01-text {
    width: 55%;
    margin-right: 5%;
    padding-top: 50px;
}
.about02-content01-img {
    width: 40%;
    max-width: 398px;
}
.about02-content01-img img, .about02-inner03 li img {
    width: 100%;
    height: auto;
}
.about02-inner02 {
    width: 900px;
    margin: 80px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding: 100px 0;
}
.about02-inner02 li {
    text-align: center;
    width: 398px;
}
.about02-inner03 {
    width: 62%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.about02-inner03 li {
    width: 48%;
    max-width: 592px;
    height: auto;
    margin: 30px 0;
}
.about02-inner05 {
    width: 900px;
    margin: 80px auto;
    padding: 100px 0;
}
.btnlinestretches{
	position:relative;
    width: 260px;
	color:#000;
	border:1px solid #000;
    padding: 14px 60px;	
	display:inline-block;
    text-decoration: none;
    outline: none;
	transition:all 0.3s ease-in-out;
    font-weight: bold;
    left: 50%;
    margin-left: -190px;
    text-align: center;
}
.btnlinestretches:hover{
	background:#000;
	color: #fff;
	border-color:transparent;
}
.btnlinestretches::before,
.btnlinestretches::after {
	content:'';
	position:absolute;
	border:solid #000;
	width:10px;
	height:10px;
	transition:all 0.3s ease-in-out;
}
.btnlinestretches::before{
	top:-6px;
	left:-6px;
	border-width:1px 0 0 1px;
}
.btnlinestretches::after{
	bottom:-6px;
	right:-6px;
	border-width:0 1px 1px 0;
}
.btnlinestretches:hover::before,
.btnlinestretches:hover::after{
	width:calc(100% + 11px);
	height:calc(100% + 11px);
	border-color:#666;
}
.link01 {
    margin: 30px 0;
}
.calendar {
    width: 800px;
    margin: 60px auto;
}
.about02-inner04 {
    width: 800px;
    margin: 60px auto;
    border-bottom: solid 1px;
    padding-bottom: 40px;
}
.support-content {
    width: 100%;
    margin: 100px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.support-content-inner01, .support-content-inner02 {
    width: 38%;
    height: 468px;
    text-align: center;
    padding: 2% 6%;
}
.support-content-inner01 {
    background-color: #b0ac95;
}
.support-content-inner02 {
    background-color: #b9cec2;
}
.support-content-inner-text {
    font-size: 20px;
    padding: 30px 0;
    border: solid 2px;
    margin: 30px 0;
}
.prof01 {
    width: 64%;
    margin: 30px auto 80px;
    display: flex;
    flex-wrap: wrap;
}
.prof01-text {
    width: 64%;
    padding-top: 30px;
    margin-right: 4%;
}
.prof01-img {
    width: 32%;
    max-width: 418px;
    height: auto;
}
.prof01-img img {
    width: 100%;
    height: auto;
}
.prof02 {
    width: 1092px;
    margin: 30px auto;
    padding: 60px 0 80px;
}
.prof03 {
    width: 900px;
    margin: 50px auto;
    padding-bottom: 50px;
}
.nt-text {
    margin: 40px 0 60px;
    padding: 0 50px;
}
.nt-spot {
    width: 100%;
    border-bottom: solid 1px;
    padding-bottom: 30px;
    margin: 30px 0;
}
.nt-spot-p {
    font-weight: bold;
    text-align: center;
}
.nt-img {
    text-align: center;
}
.nt-table, .nt-table tr, .nt-table th, .nt-table td {
    border: none;
    background-color: #fff;
}
.npo-inner {
    width: 1080px;
    margin: 50px auto;
    padding: 80px 0;
}
.npo-inner-list {
    width: 100%;
    margin: 60px 0;
}
.npo-inner-list-box {
    display: flex;
    flex-wrap: wrap;
}
.npo-inner-img {
    width: 27%;
    height: auto;
    margin-right: 2%;
}
.npo-inner-img img {
    width: 100%;
    height: auto;
}
.npo-inner-text {
    width: 71%;
}
.gallery {
    width: 100%;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.gallery figure {
    width: 48%;
    margin: 30px 0;
    text-align: center;
}
.gallery figure img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    object-fit: cover;
}
.contact-inner {
    width: 900px;
    margin: 0 auto 50px;
}
.wpcf7 {
    width: 900px;
    margin: 30px auto;
}
.wrap {
    width: 1100px;
    margin: 0 auto;
}
.wrap03 {
    width: 900px;
    margin: 50px auto;
}
.wrap01 {
    width: 1100px;
    margin: 80px auto;
}
.wrap04 {
    width: 900px;
    margin: 80px auto;
}
.wrap05 {
    width: 1100px;
    margin: 80px auto;
}
.pv-text {
    margin: 20px 0 50px;
}
.wrap-inner {
    width: 100%;
    margin: 60px auto;
}
.wrap-inner-content {
    width: 100%;
    margin: 50px 0;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.wrap-inner-content li {
    width: 48%;
    text-align: center;
}
.intern-list {
    width: 800px;
    margin: 70px auto;
}
.wrap03-inner {
    width: 100%;
    margin: 100px 0;
}
.accordion {
    width: 80%;
    margin: 50px auto;
}
.blog-text {
    margin: 50px 0;
}
.blog-text2 {
    margin: 10px 0 50px;
}
strong {
    font-weight: bold;
}
.says {
    margin: 50px 0;
}
.says-text {
    margin-bottom: 40px;
    border-bottom: solid 1px rgba(191,191,191,1.00);
    padding-bottom: 14px;
}
.kakomi-box2 {
    margin: 50px auto;
    width: 90%;
    border: solid 1px;
    padding: 16px;
}
.icon-img {
    text-align: center;
    margin: 20px 0;
}
.blog-box {
    margin: 50px 0;
}
.back_to {
    overflow: hidden;
}
.tb-yoko table td {
        border-right: solid 1px #D4D4D4;
    }




/*======================footer===========================*/
#footer {
	width: 100%;
	background-image: url("img/topics-back.png");
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
}
.ft-info {
    width: 50%;
    min-width: 950px;
    margin: 80px auto 200px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}
.ft-logo {
	margin-top: 18px;
}
.ft-btn {
    border: solid 1px #000;
    border-radius: 24px;
    padding: 12px 24px;
    text-align: center;
}
.copy {
	text-align: center;
	color: #9A9A9A;
	font-size: 12px;
	margin-top: 18px;
}







/* 1024px以下 */
@media only screen and (max-width:1024px){
    #header {
		width: 100%;
        height: 66vh;
        background-position: -424px 0;
	}
    #header2 {
        width: 100%;
        height: auto;
    }
    .main {
        font-size: 14px;
    }
    .header-utility {
        height: 172px;
    }
    .logo {
        width: 180px;
        height: auto;
        top: 66px;
        left:50%;
        margin-left: -90px;
    }
    .logo img {
        width: 100%;
        height: auto;
    }
    .gnavi-pc {
        font-size: 11px;
        width: 770px;
        letter-spacing: 0.5px;
        top: 122px;
        right: 50%;
        margin-right: -385px;
    }
    .top-content-inner {
        width: 92%;
    }
    .child-top-text, .center-text {
        padding: 0 20px;
    }
    .about02-inner {
        width: 92%;
    }
    .about02-content01-text {
        padding-top: 10px;
    }
    .about02-inner02 {
        width: 88%;
    }
    .about02-inner02 li {
        width: 48%;
        max-width: 398px;
        height: auto;
    }
    .about02-inner02 li img, .ft-info-img img {
        width: 100%;
        height: auto;
    }
    .ft-info {
        width: 90%;
        min-width: inherit;
    }
    .ft-info-img {
        width: 280px;
        height: auto
    }
    .ft-info-area {
        width: 340px;
    }
    .prof01, .wrap, .about02-inner04, .wrap04, .contact-inner {
        width: 92%;
    }
    .prof02, .prof03 {
        width: 90%;
    }
    .about02-inner03 {
        width: 90%;
    }
    .npo-inner {
        width: 92%;
    }
    .npo-inner-img {
        width: 38%;
    }
    .npo-inner-text {
        width: 60%;
    }
    .child-top, .child-top2 {
        height: 230px;
    }
    .support-content-inner01, .support-content-inner02 {
        width: 100%;
    }
    .topics {
        width: 748px;
        margin-left: -384px;
    }
    .news-inner, .news-dl {
        width: 560px;
    }
    .wrap05 {
        width: 90%;
    }
        
}

/* 768px以下 */
@media only screen and (max-width:768px){
    #header {
		width: 100%;
        height:82vh;
        background-position: -490px 0;
	}
    .logo {
        z-index: 5;
        top: 14px;
    }
    .header-utility {
        height: 74px;
    }
    .top-text {
        width: 50%;
        left: 20px;
    }
    .topics {
        width: 700px;
        line-height: 30px;
        padding: 8px;
        margin-left: -358px;
    }
    .news-inner, .news-dl {
        width: 500px;
        font-size: 13px;
    }
    .openbtn4 {
        width: 74px;
        height: 74px;
        background-color: #419a67;
    }
    .openbtn4 span {
        background: #fff;
    }
    .openbtn4 span:nth-of-type(1) {
        top: 18px;
    }
    .openbtn4 span:nth-of-type(2) {
        top: 30px;
    }
    .openbtn4 span:nth-of-type(3) {
        top: 42px;
    }
    .openbtn4 span:nth-of-type(3)::after {
        left: 0px;
        color: #fff;
    }
    .openbtn4.active span:nth-of-type(3)::after {
        top: 4px;
        left: 18px;
    }
    .link-content01 li {
        width: 46%;
        margin: 20px 0;
    }
    .line {
        margin: 60px 0 40px;
    }
    .h3-01 {
        font-size: 44px;
        line-height: 48px;
    }
    .h3-02 {
        font-size: 32px;
        line-height: 48px;
    }
    .h3-04 {
        font-size: 44px;
    }
    .prof01-text {
        width: 49%;
    }
    .prof01-img {
        width: 46%;
    }
    .calendar {
        width: 92%;
    }
    .wrap03 {
        width: 90%;
    }
    .wpcf7 {
        width: 100%;
    }
    
    
	
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
    #container, #container01 {
        font-size: 13px;
        left: 1px;
        line-height: 18px;
    }
    #header {
        height: 90vh;
        background-position: -82% 0;
    }
    .top-text {
        width: 74%;
        top: 342px;
    }
    .content-end {
        height: 158px;
        left: -298px;
    }
    .topics {
        width: 346px;
        margin-left: -181px;
        bottom: -24px;
    }
    .main {
        font-size: 13px;
    }
    .openbtn4.active span:nth-of-type(1) {
        top: 26px;
        left: 20px;
    }
    .openbtn4.active span:nth-of-type(3) {
    top: 39px;
    }
    .openbtn4.active span:nth-of-type(3)::after {
        top: 8px;
        left: 15px;
    }
    .gnavi {
        overflow-y: scroll;
    }
    .gnavi ul {
        width: 86%;
        margin: 76px auto 60px;
    }
    .gnavi li {
        font-size: 12px;
        line-height: 24px;
        height: 24px;
        margin: 22px auto 0;
    }
    .gnavi .li02 {
        margin: 42px auto 0;
    }
    .h2-01 {
        margin: 8px 0 0 20px;
        font-size: 26px;
        line-height: 26px;
    }
    .h2-02 {
        font-size: 36px;
    }
    .h2-03 {
        font-size: 22px;
        line-height: 24px;
        padding-bottom: 12px;
    }
    .h3-01 {
        font-size: 32px;
        line-height: 42px;
        margin-bottom: 68px;
        padding: 0 10px;
    }
    .h3-02 {
        font-size: 26px;
        line-height: 30px;
        margin-bottom: 70px;
    }
    .h3-03 {
        font-size: 22px;
        line-height: 25px;
    }
    .h3-04 {
        font-size: 32px;
        margin: 60px 0 0;
        line-height: 42px;
        padding: 0 22px;
    }
    .h3-05 {
        font-size: 26px;
    }
    .h3-06 {
        width: 100%;
        height: 80px;
        text-align: center;
        margin: 24px 0;
    }
    .h3-06 img {
        height: 100%;
        width: auto;
        object-fit: cover;
    }
    .h3-08 {
        font-size: 22px;
        line-height: 26px;
    }
    .h4-01 {
        font-size: 16px;
        line-height: 22px;
    }
    .h4-02 {
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 8px;
    }
    .h4-03 {
        width: 180px;
        font-size: 20px;
        padding: 14px 20px;
        text-align: center;
        margin: 20px auto;
        display: inherit;
        line-height: 24px;
    }
    .h4-04 {
        font-size: 30px;
        padding: 48px 0 22px;
    }
    .news-inner {
        margin-top: 0;
    }
    .news-inner, .news-dl {
        width: 330px;
        font-size: 12px;
        line-height: 20px;
    }
    .new {
        font-size: 11px;
        padding: 0 10px;
    }
    .top-content-inner {
        padding: 80px 0 50px;
    }
    .link-content01 {
        margin: 40px 0;
    }
    .link-content01 li {
        width: 86%;
        margin: 12px 0;
    }
    .ft-info-area {
        margin-top: 30px;
        text-align: center;
    }
    .child-top {
        height: 180px;
    }
    .child-top2 {
        height: 108px;
    }
    .line {
        margin: 40px 0 30px;
    }
    .about02-content01 {
        justify-content: space-around;
        margin: 20px 0 80px;
    }
    .prof01 {
        justify-content: space-around;
        margin: 20px auto 80px;
    }
    .about02-content01-text, .about02-content01-img {
        width: 96%;
        margin: 20px 0;
    }
    .about02-inner02 li {
        width: 92%;
        margin: 12px 0;
    }
    .line img {
        width: 3%;
        height: auto;
    }
    .prof01-text, .prof01-img {
        width: 92%;
        margin: 12px 0;
    }
    .prof03 dl {
        width: 100%;
    }
    table {
        width: 100%;
    }
    .prof-tb th, .prof-tb td, .shisatsu-tb th, .shisatsu-tb td, .wpcf7-form table th, .wpcf7-form table td {
        width: 94%;
        display: block;
    }
    .prof-tb th, .shisatsu-tb th, .wpcf7-form table th {
        padding: 6px 10px 6px 10px;
        border-right: none;
    }
    .prof-tb td, .shisatsu-tb td, .wpcf7-form table td {
        padding: 6px 10px 16px 10px;
        border-right: none;
    }
    .btnlinestretches {
        width: 240px;
        padding: 14px 24px;
        margin-left: -144px;
    }
    .about02-inner03 li {
        width: 100%;
        margin: 10px 0;
    }
    .tb-yoko {
        width: 100%;
        overflow-x: scroll;
    }
    .tb-yoko table {
        width: 500px;
    }
    .tb-yoko table td {
        border-right: solid 1px #D4D4D4;
    }
    .entry-title {
    font-size: 20px;
    line-height: 24px;
        padding: 20px 10px;
    }
    .about02 {
        margin: 90PX 0;
    }
    .nt-text {
        margin: 18px 0 20px;
        padding: 0;
    }
    .nt-table th {
        width: 20%;
    }
    .nt-table td {
        width: 80%;
    }
    .npo-inner-list-box {
        justify-content: space-around;
    }
    .npo-inner-img {
        width: 98%;
        margin-bottom: 12px;
    }
    .npo-inner-text {
        width: 90%;
    }
    .gallery figure {
    width: 94%;
    margin: 10px 0;
    }
    .about02-inner05 {
        width: 90%;
    }
    .tane img {
        width: 20%;
        height: auto;
    }
    .support-content-inner01, .support-content-inner02 {
    height: 420px;
    }
    .support-content-inner-text {
    font-size: 15px;
    padding: 30px 8px;
    border: solid 2px;
    margin: 30px 0;
    line-height: 22px;
    }
    .support-link img {
        width: 220px;
        height: auto;
    }

}