/*
Theme Name: 災害救援ボランティア推進委員会
Author: 
Author URI: 
Version: 1.0
*/

/* =Reset
-------------------------------------------------------------- */
@charset "utf-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, 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, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
}


html {
	font-size: 62.5%;
    scroll-behavior: smooth;
}

body{
	line-height: 1.6;
	font-size: 1.6rem;
	font-family: -apple-system-body, BlinkMacSystemFont, "IBM Plex Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
	font-weight: 300;
	color: #000;
}
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", Meiryo, sans-serif;
}
_:-ms-lang(x)::-ms-backdrop, body {
    overflow-x: hidden;
}

h1,h2,h3,h4,h5{
    position: relative;
}
h1{
	font-size: 3.0rem;
	margin:0;
}
h2{
	font-size: 5.0rem;
	margin-bottom: 30px;
}
h2 span{
	font-family: "Bebas Neue", "IBM Plex Sans JP", sans-serif;
	font-size: 1.7rem;
	display: block;
}
.home h2{
	font-size: 3.8rem;
	margin-bottom: 40px;
}
h3{
	font-size: 3.6rem;
	margin-bottom: 40px;
	padding-bottom: 10px;
	border-bottom: #75AB45 solid 5px;
}
.home h3{
	font-size: 3.2rem;
	margin-bottom: 30px;
	padding-bottom: 0;
	border-bottom: none;
}
.home h3:has(span)::after{
	content: "";
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: rgba(0,0,0,0.16);
	z-index: -2;
}
.home h3 span{
	position: relative;
	padding-right: 20px;
}
.home h3 span::before{
  content: '';
  display: inline-block;
  width: 70px;
  height: 40px;
  background-image: url('img/logo00.png');
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}
.home h3 span::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: -1;
}
.home h3 sub{
	font-family: "Bebas Neue", "IBM Plex Sans JP", sans-serif;
	margin-left: 20px;
	font-size: 1.6rem;
	color: #549D46;
	vertical-align: 5px;
}
h4{
	color: #336D3D;
	font-size: 3.0rem;
	margin-bottom: 30px;
}
.home h4{
	color: #378755;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
h5{
	color: #378755;
	font-size: 2.2rem;
	margin-bottom: 20px;
}


a{
	color: #000;
	text-decoration: none;
	transition: opacity 0.5s,background-color 0.5s,color 0.5s;
}
a:visited{}
a:hover{
	opacity:0.7;
    transition: opacity 0.5s,background-color 1s,color 1s;
	filter:alpha(opacity=70); /* For IE8 and earlier */
	-ms-filter: "alpha(opacity=70)"; /* ie 8 */
	-moz-opacity:0.7; /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7; /* Safari 1.x */
	zoom:1;
}
a:hover img{
	opacity: 0.7;
	transition: opacity 0.5s;
	filter: alpha(opacity=70); /* For IE8 and earlier */
	-ms-filter: "alpha(opacity=70)"; /* ie 8 */
	-moz-opacity: 0.7; /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7; /* Safari 1.x */
	zoom: 1;
}

strong{
	font-weight: 700;
}

ol,
ul {
	list-style: none;
}

table {
	width: 100%;
	border-collapse: collapse;
	border-top: 3px solid rgba(55,135,85,0.20);
}
th {
    font-weight: 500;
	background-color: rgba(117,171,69,0.10);
	color: #336D3D;
}
th, td {
	border-bottom: 3px solid rgba(55,135,85,0.20);
	padding: 30px 20px;
	box-sizing: border-box;
}

p{
}

hr {
  height: 2px;
  background-color: #E3E3E3;
  width: 100%;
  border: none;
  position: absolute;
  left: 0;
}


img{
	max-width:100%;
	vertical-align: bottom;
}
iframe{
    vertical-align:bottom;
}

/* Header -------------------------*/
header{
	position:relative;
}
header#navi{
	width: 100%;
	position: fixed;
	z-index: 9999;
}
header #logo img{
	height: 55px;
    transition: all 1s;
}
header#navi.m_fixed {
  top: 0;
  width: 100%;
  z-index: 9999;
}
header#navi.m_fixed .flex #logo{
	padding: 10px;
	background-color: rgba(255,255,255,0.80);
	transition: all 1s;
}
header#navi.m_fixed .flex #logo img{
	height: 45px;
}
header#navi.m_fixed .flex #global {
	margin: 10px 20px;
	transition: all 1s;
}
header#navi.m_fixed nav > ul {
  padding: 5px 0;
}
header#navi.m_fixed nav > ul > li > a{
	padding: 6px 10px;
    transition: all 1s;
}
header#navi.m_fixed #cont a {
	padding: 12px 20px;
}

/* Navigation -------------------------*/
header nav:after{
    content: '';
    display: block;
    clear: both;
}

header nav{
}
header nav > ul{
	display: flex;
    justify-content: space-between;
	align-items: center;
	padding: 10px 0;
}

header nav > ul > li{
	position: relative;
}

header nav > ul > li > a{
	text-align:center;
	display:block;
    font-size: 1.7rem;
    font-weight: 700;
	padding: 5px 15px;
	margin: 0 2px;
    transition: all 1s;
}
header nav > ul > li:hover > a {
	opacity: 1.0;
    color: #fff;
    background-color: #378755;
	border-radius: 30px;
    transition: all 1s;
}

header nav > ul ul {
    transition: all .2s ease-in;
    opacity: 0;
    width: 100%;
    min-width: 215px;
    left: calc(50% - 5px);
    top: 100%;
    transform: translate(-50%,0);
    position: absolute;
    box-sizing: border-box;
    height: 0;
    overflow: hidden;
    z-index: 999;
    padding-top: 20px;
	box-shadow: 0px 5px 10px -5px rgba(0,0,0,0.30);
}
header nav > ul > li:hover ul {
    opacity: 1;
    height: auto;
}
header nav > ul > li:hover ul::before {
    content: "";
	position: absolute;
	top: 0;
	left: 50%;
    transform: translate(-50%,0);
	width: 22px;
	height: 20px;
    background-color: #378755;
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
header nav > ul ul li {
    display: block;
    background-color: #378755;
    padding: 0 10px;
}
header nav > ul ul li a {
    color: #fff;
    display: block;
    font-weight: 700;
    padding: 8px 0;
}
header nav > ul ul li a::before {
    display: inline-block;
    content: "\f054";
    font-family: FontAwesome;
	font-size: 1.2rem;
	font-weight: 300;
	margin-right: 5px;
}
header nav > ul ul li a:hover {
    color: #F9E14D;
    opacity: 1.0;
}

header#navi .flex{
	position: relative;
    justify-content: space-between;
}
header#navi .flex #logo{
	padding: 30px;
	background-color: #fff;
	display: flex;
	align-items: center;
	transition: all 1s;
}
header#navi .flex #global{
	margin: 30px 40px 30px 0;
	padding-left: 15px;
	padding-right: 220px;
	position: relative;
	transition: all 1s;
}
header#navi .flex #global ul + div{
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: 30px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
header#navi .flex #global ul + div::before{
	content: '';
	width: calc(100% + 10px);
	height: calc(100% + 10px);
	position: absolute;
	top: -5px;
	left: -5px;
	background-color: rgba(255,255,255,0.9);
	filter: blur(10px);
}
header#navi .flex #global ul + div::after{
	content: '';
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	position: absolute;
	top: 0;
	left: 0;
	border: rgba(117,171,69,0.50) solid 3px;
	border-radius: 30px;
}
header #cont {
	position: absolute;
	top: -8px;
	right: -3px;
	border: #336D3D solid 3px;
	border-radius: 40px;
	background-color: #fff;
    transition: all 1s;
}
header #cont a {
	text-align: center;
	display: block;
	font-size: 2.0rem;
	font-weight: 700;
	padding: 17px 25px;
	transition: all 1s;
}
header #cont a::before {
    display: inline-block;
    content: "\f0e0";
    font-family: FontAwesome;
    color: #16307C;
	margin-right: 10px;
    transition: all 1s;
}
header #cont:hover {
	border: #fff solid 3px;
	background-color: #16307C;
    transition: all 1s;
}
header #cont:hover a {
  opacity: 1.0;
  color: #fff;
}
header #cont:hover a::before {
    color: #fff;
    transition: all 1s;
}


/* Footer -------------------------*/
footer {
	color: #fff;
    background-color: #549D46;
    padding-top: 80px;
}
footer .flex{
    justify-content: space-between;
	flex-wrap: nowrap;
}
footer .add div{
    display: flex;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 700;
}
footer .add div span{
    display: block;
	font-size: 1.34rem;
}
footer .add div p+p{
    margin-left: 10px;
}
footer .add > div+p{
    margin-top: 30px;
	font-size: 1.3rem;
}
footer .add > p+p{
	font-size: 1.7rem;
	font-weight: 500;
}
footer .flex .add+div{
	margin: 0 20px 0 100px;
}
footer .flex div+div+div a{
	display: block;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
	margin-bottom: 20px;
}
footer .flex div nav > ul{
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 450px;
}
footer .flex div nav ul a{
	display: block;
	color: #fff;
	font-weight: 500;
}
footer .flex div+div+div a:hover, footer .flex div nav ul a:hover{
    color: #F9E14D;
    opacity: 1.0;
}
footer .flex div nav > ul > li{
	width: 45%;
	margin-bottom: 50px;
}
footer .flex div nav > ul > li > a{
	display: block;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 700;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: rgba(255,255,255,0.30) solid 1px;
}
footer .flex div nav ul li li a::before{
    display: inline-block;
    content: "\f054";
    font-family: FontAwesome;
	font-size: 1.2rem;
	margin-right: 5px;
}
footer .copy{
	margin-top: 10px;
	color: #fff;
    font-size: 1.2rem;
	text-align: center;
    padding: 25px;
	background-color: #2D6244;
}

/* Layout -------------------------*/

.wrap{
	max-width:1300px;
	padding:0px 15px;
	margin:0 auto;
}
.wrap::after{
    content: '';
    display: block;
    clear: both;
}
#main .wrap{
	margin: 80px auto 150px;
}
.home #main .wrap{
	margin: 0 auto;
}

.wrapping00{
	background-color: #F5F4EB;
	position: relative;
	z-index: 0;
}
.wrapping01{
	background: linear-gradient(to bottom,  #ffffff 50%,#f5f4eb 50%);
	position: relative;
	z-index: 0;
}

.bot{
	width: fit-content;
	margin: 50px auto 0;
	text-align: center;
    background-color: #fff;
	border: #336D3D solid 3px;
    border-radius: 40px;
    box-sizing: border-box;
    position: relative;
	z-index: 1;
    transition: all 1s;
}
.bot a{
    font-size: 2.0rem;
    font-weight: 500;
	display: block;
	padding: 10px 25px;
	color: #000 !important;
	text-decoration: none !important;
}
.bot a::before {
  content: "\f10c";
  font-family: FontAwesome;
  font-size: 1.4rem;
  font-weight: 700;
  color: #16307C;
  margin-right: 20px;
  vertical-align: 2px;
  transition: all 1s;
}
.bot:hover{
	border: #fff solid 3px;
	background-color: #16307C;
    transition: all 1s;
}
.bot:hover a{
  opacity: 1.0;
  color: #fff !important;
}
.bot:hover a::before {
  color: #fff;
  transition: all 1s;
}


/* Contents -------------------------*/

section+section{ margin-top: 120px; }

article+article{ margin-top: 60px; }


/* Home -------------------------*/

#activity{
	color: #fff;
	font-weight: 500;
	margin: -240px 60px 0 0;
	padding: 90px 0 90px 60px;
	background-color: #549D46;
	border-radius: 0 50px 50px 0;
	position: relative;
	z-index: 999;
}
#activity .flex{
	justify-content: space-between;
	align-items: flex-start;
}
#activity .flex:first-child > div{
	position: relative;
	width: 56%;
}
#activity .flex:first-child > div p{
	font-size: 1.8rem;
}
#activity .flex:first-child > div .bot{
	margin: 50px 0 0;
}
#activity .flex:first-child > div + div{
	width: 38%;
}
#activity .flex:first-child > div + div > p{
  border-radius: 30px;
  overflow: hidden;
}
#activity .flex:first-child > div + div > p img{
  width: 100%;
}
#activity .flex:first-child > div + div div{
	position: absolute;
	transform: translateX(-50%);
	bottom: -30px;
	left: 50%;
	background-color: #fff;
	border-radius: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 430px;
}
#activity .flex:first-child > div + div div p{
	color: #16307C;
	font-size: 2.4rem;
	font-weight: 700;
	padding: 5px 20px;
	width: 50%;
	box-sizing: border-box;
}
#activity .flex:first-child > div + div div p + p{
	font-family: "Bebas Neue", sans-serif;
	color: #fff;
	font-size: 5.6rem;
	line-height: 1;
	background-color: #16307C;
	border: #fff solid 3px;
	border-radius: 0 40px 40px 0;
}
#activity .flex:first-child > div + div div p + p span{
	font-size: 2.4rem;
}
#activity .flex+h3{
	margin-top: 80px;
	text-align: center;
}
#activity h3+.flex > div{
	width: 30%;
	padding: 20px;
	color: #000;
	font-size: 1.8rem;
	background-color: #fff;
	border-radius: 15px;
	box-sizing: border-box;
	box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.16);
}
#activity h3+.flex > div h4{
	padding-bottom: 10px;
	border-bottom: #CBCBCB solid 2px;
}

#course{
	margin-bottom: 120px;
}
#course .flex > div{
	width: 30%;
	position: relative;
	font-size: 1.9rem;
	font-weight: 700;
	margin-right: 5%;
}
#course .flex > div:nth-child(3n){
	margin-right: 0;
}
#course .flex > div > div{
	overflow: hidden;
	border-radius: 30px;
}
#course .flex > div > div p{
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  overflow: hidden;
}
#course .flex > div > div p img{
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: 1s all;
}
#course .flex > div > div p:hover img{
  transform: scale(1.1, 1.1);
  transition: 1s all;
}
#course .flex > div > span{
  display: inline-block;
  position: absolute;
  top: 20px;
  left: -20px;
  padding: 5px 15px;
  color: #FFF;
  background-color: #549D46;
  z-index: 1;
}
#course .flex > div > span:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px #336D3D;
}
#course .flex > div > p a{
	margin-top: 20px;
	color: #16307C;
	font-size: 2.0rem;
	display: block;
}
#course .flex > div > p+p{
	margin-top: 20px;
	text-align: center;
	font-size: 1.6rem;
	color: #222;
	border: #DEDEDE solid 2px;
	padding: 5px;
	position: relative;
}
#course .flex > div > p+p::before{
	content: "";
	position: absolute;
	top: -2px;
	left: 20px;
	width: calc(100% - 40px);
	height: calc(100% + 4px);
	background-color: #fff;
}
#course .flex > div > p+p span{
	position: relative;
}
.post-type-archive-course #course .flex > div{
	width: 48%;
	font-size: 2.2rem;
	margin-right: 4%;
}
.post-type-archive-course #course .flex > div:nth-child(2n){
	margin-right: 0;
}
.post-type-archive-course #course .flex > div:nth-child(n + 3){
	margin-top: 60px;
}
.post-type-archive-course #course .flex > div > p a{
	margin-top: 30px;
	font-size: 2.4rem;
	text-align: center;
}
.post-type-archive-course #course .flex > div > p+p{
	margin-top: 30px;
	font-size: 2.4rem;
}

#report{
	background-color: #549D46;
	border-radius: 50px;
	margin: 0 60px;
	padding: 120px 0;
	position: relative;
	z-index: 0;
}
#report h3,#report h3 sub{
	color: #fff;
	
}
#report h3:has(span)::after {
  background-color: rgba(255,255,255,0.40);
}
#report h3 span::after {
  background-color: #549D46;
}
#report .flex > div{
	width: 46%;
	margin-right: 8%;
	background-color: #fff;
	border-radius: 15px;
	display: flex;
	font-weight: 500;
}
#report .flex > div:nth-child(2n){
	margin-right: 0;
}
#report .flex > div:nth-child(n+3){
	margin-top: 60px;
}
#report .flex > div h4 a{
	color: #378755;
	font-size: 1.9rem;
}
#report .flex > div > div{
	width: 46%;
	box-sizing: border-box;
	position: relative;
}
#report .flex > div > div + div{
	width: 54%;
	padding: 40px 30px;
}
#report .flex > div > div:first-child p {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 15px 0 0 15px;
	overflow: hidden;
}
#report .flex > div > div:first-child p img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
    object-fit: cover;
}
#report .flex > div > div > span {
  display: inline-block;
  position: absolute;
  top: 20px;
  left: -20px;
  padding: 5px 15px;
  font-size: 1.9rem;
  font-weight: 700;
  background-color: #F9E14D;
  z-index: 1;
}
#report .flex > div > div > span::before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 15px transparent;
  border-right: solid 20px #336D3D;
}
.edit + #report{
	background-color: inherit;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.edit + #report .flex > div {
  width: 100%;
  margin-right: 0;
  border-radius: 0;
  padding-bottom: 40px;
  border-bottom: rgba(55,135,85,0.40) solid 1px;
}
.edit + #report .flex > div+div {
  margin-top: 40px;
}
.edit + #report .flex > div > div {
  width: 20%;
}
.edit + #report .flex > div > div + div {
  width: 80%;
}
.edit + #report .flex > div > div:first-child p {
  border-radius: 15px;
}
.edit + #report .flex > div > div + div time{
  color: #75AB45;
  font-size: 1.8rem;
}
.edit + #report .flex > div > div + div h4{
  font-size: 2.2rem;
  margin-bottom: 20px;
}

#insta{
	padding: 120px 0;
}
#insta h3 span::before{
  width: 80px;
  height: 80px;
  background-image: url('img/insta.png');
  margin-right: 20px;
}
#insta h3 span::after{
	background-color: #F5F4EB;
}

#donation{
    position: relative;
    overflow: hidden;
}
#donation .wrap{
	max-width: 2000px;
    margin: 120px auto;
	padding-left: 75px;
}
#donation .wrap > div{
    padding: 100px 55% 100px 0;
	position: relative;
	z-index: 1;
}
#donation .wrap > div div{
	position: relative;
    padding: 50px 50px 80px;
	background-color: #549D46;
	box-sizing: border-box;
	border-radius: 30px;
	color: #fff;
	font-size: 1.8rem;
	text-align: justify;
}
#donation > p{
    position: absolute;
    width: 65%;
    height: 100%;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 0;
	padding: 120px 0;
	box-sizing: border-box;
}
#donation > p img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
	border-radius: 75px 0 0 75px;
}
#donation .wrap div div h3{
    color: #fff;
	border-bottom: rgba(255,255,255,0.16) solid 2px;
	padding-bottom: 10px;
}
#donation .wrap div div h3::before{
  content: '';
  display: inline-block;
  width: 70px;
  height: 40px;
  background-image: url('img/logo00.png');
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 10px;
}

#bana{
  background-color: #F5F4EB;
  border-radius: 50px 50px 0 0;
  margin: 0 60px;
  padding: 120px 0;
  position: relative;
  z-index: 0;
}
#bana .flex div{
	width: 23.5%;
	margin-right: 2%;
	border: #E6E6E6 solid 4px;
	box-sizing: border-box;
}
#bana .flex div:nth-child(4n){
	margin-right: 0;
}
#bana .flex div:nth-child(n+5){
	margin-top: 25px;
}
#bana .flex div p{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#bana .flex div p img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 1.25;
  object-fit: cover;
}

#topics{
    margin: 30px auto 60px;
}
#topics h3{
    margin-bottom: 0;
}
#topics ul{
    border-bottom: #D8D8D8 solid 1px;
    padding: 30px 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}
#topics li{
    position: relative;
}
#topics li:first-child{
    width: 150px;
    margin-right: 20px;
}
#topics li:nth-child(2){
    width: 200px;
    margin-right: 20px;
}
#topics li:nth-child(2) a{
    display: block;
    background-color: #F9E14D;
    font-size: 1.4rem;
    text-align: center;
    padding: 2px;
}
#topics li:last-child{
    width: 100%;
    padding-right: 60px;
	font-size: 2.0rem;
}
#topics li:last-child a{
    display: block;
}
#topics li:last-child a::after{
    content: "\f105";
    font-family: FontAwesome;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 20px;
    color: #378755;
    font-size: 4.0rem;
    font-weight: 300;
}

/* Sub -------------------------*/
#sub{
    position: relative;
}
#sub .wrap{
    margin: 0 auto !important;
}
#sub > div{
    position: relative;
	margin-top: -80px;
}
#sub > div::after{
	content: "";
    position: absolute;
	bottom: 0;
	left: 0;
	background-color: #549D46;
	width: 40%;
	height: 100%;
	z-index: 1;
}
#sub .flex > div:first-child::after{
	content: "";
    position: absolute;
	top: 0;
	left: 0;
	background-color: #549D46;
	width: 100%;
	height: 100%;
	border-radius: 0 30px 30px 0;
	z-index: -1;
}
#sub img{
    width: 100%;
	height: 500px;
	object-fit: cover;
}
#sub .flex{
	justify-content: space-between;
	align-items: flex-end;
    position: relative;
	z-index: 2;
}
#sub .flex > div{
	width: 50%;
	padding: 30px 0;
	position: relative;
	box-sizing: border-box;
}
#sub h2{
    color: #fff;
	margin-bottom: 0;
}
.data{
	color: #75AB45;
	margin-bottom: 40px;
}
.single-course .data{
	color: #000;
}
.data time{
	font-size: 2.0rem;
	font-weight: 700;
	margin-right: 20px;
}
.data p{
	display: inline-block;
	color: #000;
	font-size: 1.9rem;
	font-weight: 500;
	background-color: #F9E14D;
	padding: 2px 15px;
	margin-right: 20px;
}
.single-course h3+.data p{
	color: #fff;
	background-color: #549D46;
}
h3.data{
	color: #000;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
h3.data p{
	font-size: 2.8rem;
	font-weight: 700;
}
.single article.flex{
	justify-content: space-between;
	flex-wrap: nowrap;
}
.single article.flex > div img{
	width: 100%;
	border-radius: 15px;
}
.single .data+article.flex > div{
	width: 100%;
}
.single .data+article.flex > div+div{
	width: 100%;
	max-width: 470px;
	margin-left: 5%;
}
.single article.flex+.flex{
	justify-content: center;
}
.single article.flex+.flex > div{
	width: 100%;
	max-width: 630px;
}
.single article.flex+.flex > div+div{
	margin-left: 3.5%;
}
.single article.flex+.flex > div p{
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  overflow: hidden;
}
.single article.flex+.flex > div p img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pagenav{
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
}
.pagenav p a{
	padding: 5px 15px;
	display: block;
	font-size: 2.0rem;
	font-weight: 500;
	color: #378755;
	border: #378755 solid 2px;
	transition: all 1s;
}
.pagenav p:first-child a::before{
    display: inline-block;
    content: "\f053";
    font-family: FontAwesome;
    margin-right: 10px;
	transition: all 1s;
}
.pagenav p:last-child a::after{
    display: inline-block;
    content: "\f054";
    font-family: FontAwesome;
    margin-left: 10px;
	transition: all 1s;
}
.pagenav p a:hover{
	color: #fff;
	background-color: #378755;
	opacity: 1.0;
	transition: all 1s;
}
.pagenav p:first-child a:hover::before,.pagenav p:last-child a:hover::after{
	color: #fff;
	transition: all 1s;
}


/* Edit Contents -------------------------*/
span[class^="hexagon-"] {
	font-family: "Bebas Neue", "IBM Plex Sans JP", sans-serif;
	position: relative;
	color: #fff;
	font-size: 3.0rem;
	font-weight: 700;
	padding: 20px;
	margin-right: 10px;
}
.hexagon-r::after {
  content: "";
  display: inline-block;
  position: absolute;
  transform: translate(-50% , -50%);
  top: 50%;
  left: 50%;
  width: 65px;
  height: 55px;
  background: #DD411B;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  z-index: -1;
}
.hexagon-y::after {
  content: "";
  display: inline-block;
  position: absolute;
  transform: translate(-50% , -50%);
  top: 50%;
  left: 50%;
  width: 65px;
  height: 55px;
  background: #F4A405;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  z-index: -1;
}
.hexagon-g::after {
  content: "";
  display: inline-block;
  position: absolute;
  transform: translate(-50% , -50%);
  top: 50%;
  left: 50%;
  width: 65px;
  height: 55px;
  background: #3B9E5B;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  z-index: -1;
}

h4[class^="mid-"] {
	font-size: 2.8rem;
	color: #fff;
	padding: 5px 15px;
}
h4.mid-g {
	background-color: #75AB45;
}
h4.mid-y {
	background-color: #F4A405;
}

h5[class^="mid-"] {
	font-size: 2.6rem;
	color: #000;
}
h5.mid-g::before {
    content: "\f0c8";
    font-family: FontAwesome;
	color: #75AB45;
	margin-right: 10px;
}
h5.mid-y::before {
    content: "\f0c8";
    font-family: FontAwesome;
	color: #F4A405;
	margin-right: 10px;
}

[class^="blockcheck"]{
	border: rgba(117,171,69,0.30) solid 10px;
	text-align: center;
	padding: 0 40px 60px;
	position: relative;
	z-index: 1;
}
[class^="blockcheck"] h3{
	border-bottom: none;
	margin-top: -50px;
}
[class^="blockcheck"] h3 span{
	color: #336D3D;
	position: relative;
	padding: 20px;
	display: inline-block;
}
[class^="blockcheck"] h3 span::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: -1;
}
[class^="blockcheck-"] .bot{
	border: none;
}
[class^="blockcheck-"] .bot a{
	color: #fff !important;
}
[class^="blockcheck-"] .bot a::before{
	color: #fff;
}
.blockcheck-g .bot{
	background-color: #378755;
}
.blockcheck-y{
	border: rgba(244,164,5,0.30) solid 10px;
}
.blockcheck-y .bot{
	background-color: #FF7F00;
}

[class^="range"]{
	border: #319640 solid 10px;
	padding: 50px;
	margin-top: 60px;
	position: relative;
	z-index: 1;
}
[class^="range"] .mid{
	background-color: #319640;
	color: #fff;
	font-size: 3.2rem;
	font-weight: 700;
	display: inline-block;
	position: absolute;
	bottom: 100%;
	left: -10px;
	padding: 15px 30px;
	border-radius: 15px 15px 0 0;
	margin-bottom: 0;
}
.range-b{
	border-color: #0F84CA;
}
.range-b .mid{
	background-color: #0F84CA;
}
.range-o{
	border-color: #FF7F00;
}
.range-o .mid{
	background-color: #FF7F00;
}
[class^="range"] a{
	color: #E6011F !important;
}
[class^="range"] h4 {
  margin-bottom: 10px;
}
[class^="range"] h4:has(span)::before {
  display: none;
}
[class^="range"] h4 span {
  padding-left: 0 !important;
}
[class^="range"] h5 {
  color: #000;
  font-size: 2.6rem;
  margin-bottom: 10px;
}
[class^="range"] h6 {
  font-size: 2.4rem;
  margin-bottom: 10px;
}

.instructor{
	background-color: #F5F4EB;
	padding: 40px;
	border-radius: 30px;
}
.instructor+.instructor{
	margin-top: 60px;
}
.instructor p{
	font-weight: 700;
}
.instructor > div{
	background-color: #fff;
	padding: 30px;
	border-radius: 20px;
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
}
.instructor > div > h5{
	width: 150px;
	margin-bottom: 0;
}
.instructor > div > p{
	border-left: #75AB45 solid 6px;
	padding: 5px 5px 5px 20px;
}

.qa{
	padding-bottom: 60px;
	border-bottom: rgba(55,135,85,0.40) solid 1px;
}
.qa+.qa{
	margin-top: 30px;
}
.qa .q,.qa .a{
	padding-left: 6rem;
	text-indent: -6rem;
	line-height: 1.1;
}
.qa .q{
	color: #336D3D;
	font-size: 2.8rem;
	font-weight: 700;
	margin-bottom: 20px;
}
.qa .q::before{
	font-family: "Bebas Neue", "IBM Plex Sans JP", sans-serif;
	content: "Q.";
	color: #319640;
	margin-right: 10px;
	font-size: 8.0rem;
}
.qa .a::before{
	font-family: "Bebas Neue", "IBM Plex Sans JP", sans-serif;
	content: "A.";
	color: #F4A405;
	margin-right: 10px;
	font-size: 8.0rem;
	font-weight: 700;
}


/* Breadcrumb NavXT -------------------------*/
.breadcrumbs{
	color: #378755;
	font-size: 1.7rem;
	font-weight: 500;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
.breadcrumbs span{
	color: #000;
}
.breadcrumbs a span{
	color: #378755;
}
.breadcrumbs > span:nth-child(n+3){
	max-width: 300px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	display: inline-block;
}


/* Pagetop -------------------------*/
#pagetop {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 9999;
	background-color: #fff;
	border: #336D3D solid 5px;
	width: 75px;
	height: 75px;
	border-radius: 50px;
	text-align: center;
	padding-top: 15px;
	box-sizing: border-box;
}
#pagetop a {
	color: #378755;
}
#pagetop span {
	color: #336D3D;
    font-size: 3.4rem;
}

/* Clearfix -------------------------*/
.clearfix:after{
	content: '';
	display: block;
	clear: both;
}
.clearfix{
	position: relative;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}


/* Other -------------------------*/
.link:hover{
    cursor: pointer;
}

p.anchor {
	padding-top: 100px;
	margin-top: -100px;
	display: block;
	position: relative;
	z-index: -1
}

.sp{
    display: none;
}

nav.page-navi{
	margin-top: 30px;
}
nav.page-navi li.prev{
	float:left;
}
nav.page-navi li.next{
	float:right;
}

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

img.alignright {
	margin: 0 0 10px 20px;
	display: inline-block;
	}

img.alignleft {
	margin: 0 20px 10px 0;
	display: inline-block;
	}

.aligncenter {
    display: block;
    margin: 0 auto;
    max-width: max-content;
	}

.alignright {
	float: right;
	}

.alignleft {
	float: left
	}

.size-auto,.size-full,.size-large,.size-medium,.size-thumbnail {
	max-width: 100%;
	height: auto;
}

.wp-pagenavi{
    margin: 60px 0;
    text-align: center;
}
#main .wp-pagenavi a, #main .wp-pagenavi span {
  text-decoration: none;
  border: 2px solid #378755;
  padding: 5px 15px;
  margin: 0 10px;
  font-size: 2.2rem;
  font-weight: 700;
  color: #378755;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#main .wp-pagenavi .current {
  color: #fff;
  background-color: #378755;
}
#main .wp-pagenavi .previouspostslink, #main .wp-pagenavi .nextpostslink {
  border: none;
}
#main .wp-pagenavi .pages {
  display: none;
}

.wp-caption-text {
    font-size: 1.4rem;
    margin-top: 5px;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
    max-width: 100%;
    height: auto;
}

.edit h4:has(span)::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 100%;
	background-color: #75AB45;
}
.edit h4:has(span)::after{
	content: "";
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #E3E3E3;
	z-index: -2;
}
.edit h4 span{
	position: relative;
	padding: 0 20px;
}
.edit h4 span::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: -1;
}
.edit{
	font-size: 1.8rem;
	line-height: 1.8;
}
.edit ul,#tinymce ul{
	margin: 0 0 1.8em;
    padding-left: 1.8em;
    list-style-type: disc;
}
.edit ol,#tinymce ol{
	margin: 0 0 1.8em;
    padding-left: 2.6em;
    list-style-type: decimal;
}
.edit td ul,#tinymce td ul,.edit td ol,#tinymce td ol{
	margin: 0;
}
.edit a,#tinymce a{
	color: #378755;
    text-decoration: underline;
	font-weight: 500;
}
.edit{
    position: relative;
	text-align: justify;
    text-justify: inter-character;
    font-family: "IBM Plex Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
}
.edit blockquote,#tinymce blockquote{
    padding: 20px;
    margin: 10px 0;
	background-color: #fff;
	border: #D8D8D8 solid 5px;
}
.edit a[target="_blank"]::after{
    display: inline-block;
    content: "\f08e";
    font-family: FontAwesome;
    margin-left: 5px;
    color: #ccc;
}
.edit a[href$=".pdf"]::after{
    display: inline-block;
    content: "\f1c1";
    font-family: FontAwesome;
    margin-left: 5px;
    color: #ccc;
}
.edit a[href$=".doc"]::after,.edit a[href$=".docx"]::after,.edit a[href$=".xls"]::after,.edit a[href$=".xlsx"]::after,.edit a[href$=".txt"]::after{
    display: inline-block;
    content: "\f0f6";
    font-family: FontAwesome;
    margin-left: 5px;
    color: #ccc;
}
.edit a[href^="mailto:"]::after{
    display: inline-block;
    content: "\f003";
    font-family: FontAwesome;
    margin-left: 5px;
    color: #ccc;
}
.edit a i{
    color: #ccc;
}
.youtube{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube iframe{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}


/* FormsPage
--------------------------------------------- */
.formarea {
  background-color: #F5F4EB;
  border-radius: 50px 50px 0 0;
  margin: 0 60px;
  padding: 90px 0;
  position: relative;
  z-index: 0;
  font-size: 2.2rem;
  font-weight: 500;
}
#sub+.formarea {
  margin-top: 80px;
}
.contact .mw_wp_form label, .contact-confirm .mw_wp_form label {
  display: block;
}

/* Forms
--------------------------------------------- */
.mw_wp_form {
  margin: 0 auto;
  max-width: 1300px;
}
.mw_wp_form h3{
	color: #fff;
	font-size: 2.8rem;
	padding: 20px;
	background-color: #378755;
	border-bottom: none;
}
.mw_wp_form h5{
	margin-bottom: 0;
}
.mw_wp_form .required::after{
	content: "＊";
    color: #FF7F00;
	margin-left: 5px;
}
.mw_wp_form select+input+.error{
	display: inline-block;
}
.mw_wp_form .error::before{
	content: "\f071";
	font-family: FontAwesome;
	margin-right: 5px;
    font-weight: normal;
}
.mw_wp_form.mw_wp_form_preview h5+p{
    background-color: #eee;
    border: 1px solid #ccc;
    padding: 10px;
    width: 100%;
    min-height: 45px;
    box-sizing: border-box;
    font-family: "IBM Plex Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
}
.mw_wp_form input,
.mw_wp_form select,
.mw_wp_form textarea,
.mw_wp_form button {
	background-color: #fff;
	border: 1px solid #ccc;
	padding: 10px;
	width: 100%;
	max-width: 550px;
    font-size: 2.0rem;
    font-weight: 300;
    font-family: "IBM Plex Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", sans-serif;
    box-sizing: border-box;
}
.mw_wp_form input.zip {
	max-width: 250px;
}
.single-course .mw_wp_form select,.lecture-confirm .mw_wp_form select {
	width: inherit;
}
.mw_wp_form textarea,
.mw_wp_form input.wide{
	max-width: 100%;
}
.mw_wp_form input:focus,
.mw_wp_form textarea:focus {
	border: 1px solid #999;
	outline: none;
}
.mw_wp_form input[type="checkbox"],
.mw_wp_form input[type="image"],
.mw_wp_form input[type="radio"] {
	width: auto;
}
::-moz-placeholder {
	color: #777;
	opacity: 1;
}
::-webkit-input-placeholder {
	color: #777;
}
.mw_wp_form button,
.mw_wp_form input[type="button"],
.mw_wp_form input[type="reset"],
.mw_wp_form input[type="submit"] {
    display: inline-block;
    padding: 15px 50px;
    background-color: #336D3D;
    color: #FFFFFF;
    border: none;
	width: 250px;
    margin: 10px;
    font-size: 2.6rem;
	font-weight: 700;
	border-radius: 40px;
    box-sizing: border-box;
    text-align: center;
	transition: all 1s;
}
.button {
  position: relative;
  display: inline-block;
}
.button::before {
  content: "\f10c";
  font-family: FontAwesome;
  position: absolute;
  transform: translateY(-50%);
  top: 52%;
  left: 35px;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
}
.button:hover input {
  background-color: #16307C;
  transition: all 1s;
}
/*.mw_wp_form_preview .button::before {
  display: none;
}*/
.mw_wp_form button[type="submit"] {
    background-color: #999;
}
.mw_wp_form button:hover,
.mw_wp_form input:hover[type="button"],
.mw_wp_form input:hover[type="reset"],
.mw_wp_form input:hover[type="submit"],
.mw_wp_form .button:hover,
.mw_wp_form button:focus,
.mw_wp_form input:focus[type="button"],
.mw_wp_form input:focus[type="reset"],
.mw_wp_form input:focus[type="submit"],
.mw_wp_form .button:focus  {
    cursor: pointer;
}
.mwform-checkbox-field label, .mwform-radio-field label {
  font-weight: 500 !important;
  display: inline-block;
}


/* 1570px -------------------------*/
@media screen and (max-width: 1570px) {
body{
	padding-top: 0!important;
}
header#navi{
	display: none!important;
}
#cont{
	display: none!important;
}
#main {
    padding-top: 53px;
}
#global .sp{
    display: inherit;
}
#global .pc{
    display: none;
}
}

@media screen and (max-width: 900px) {
.sp{
    display: inherit;
}
.pc{
    display: none;
}

footer {
  padding-top: 20px;
}
footer .flex > div + div {
  display: none;
}
footer .add {
  text-align: center;
  width: 100%;
}
footer .add div {
  display: inherit;
  font-size: 2.0rem;
}
footer .add div p + p {
  margin-left: 0;
  margin-top: 10px;
}
footer .add div span {
  font-size: 1.1rem;
}
footer .add > div + p {
  margin-top: 20px;
  font-size: 1.0rem;
}
footer .add > p + p {
  font-size: 1.3rem;
}
footer .copy {
  margin-top: 20px;
  font-size: 1.0rem;
  padding: 20px 0;
}

#pagetop {
  bottom: 30px;
  width: 50px;
  height: 50px;
  padding-top: 2px;
}

#activity {
  margin: -50px 0 0;
  padding: 30px 0;
  border-radius: 20px;
}
#activity h2 {
  text-align: center;
}
#activity .flex:first-child > div {
  width: 100% !important;
	margin-bottom: 60px;
}
#activity .flex:first-child > div .bot {
  margin: 50px auto 0;
}
#activity h3 + .flex > div {
  width: 100%;
}
#activity h3 + .flex > div + div {
  margin-top: 20px;
}

#report {
  margin: 0 15px;
  padding: 60px 0;
}

#donation {
  margin-top: 60px;
}
#donation .wrap {
  margin: 0;
  padding: 0 15px;
}
#donation > p {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding: 0;
}
#donation > p img {
  border-radius: 15px;
  height: auto;
}
#donation .wrap > div {
  padding: 50% 0 50px 0;
}
#donation .wrap > div div {
  padding: 20px 20px 40px;
}

.wrapping00:has(#insta) {
  border-radius: 0 0 20px 20px;
}
#insta {
  padding: 60px 0 30px;
}

#bana {
  margin: 0 15px;
  padding: 30px 0;
}

#sub img {
  height: 300px;
}

}

/* 760px -------------------------*/
@media screen and (max-width: 760px) {
#insta h3:has(span)::after {
  display: none;
}
th, td {
  display: block;
  width: 100% !important;
}
td:has(select) {
  text-align: center;
}
tr th:first-child, tr td:first-child {
  border-bottom: none;
}
tr td:first-child {
  padding-bottom: 0;
}

}

/* 580px -------------------------*/
@media screen and (max-width: 580px) {
h2 {
  font-size: 2.6rem !important;
}
h3 {
  font-size: 2.4rem !important;
}
h4 {
  font-size: 2.2rem !important;
}
h5 {
  font-size: 2.0rem !important;
}
h6 {
  font-size: 1.8rem !important;
}
th, td {
  padding: 15px;
}
.edit p {
  font-size: 1.6rem;
}
.home h3 {
  font-size: 2.6rem;
}
.home h3 span {
  padding-right: 0;
}
.home h3 span::before {
  width: 45px;
  height: 25px;
}
.home h3:has(span)::after {
  display: none;
}
.home h3 sub {
  display: block;
  margin-left: 55px;
  font-size: 1.4rem;
}
#main .wrap {
  margin: 0 auto 80px;
}
section + section {
  margin-top: 60px;
}
.bot {
  margin: 30px auto 0;
}
.bot a {
  font-size: 1.6rem;
}
.breadcrumbs {
  font-size: 1.2rem;
}
p.anchor {
	padding-top: 50px;
	margin-top: -50px;
}

#activity h2 {
  font-size: 2.2rem !important;
  margin-bottom: 30px;
}
#activity .flex:first-child > div p {
  font-size: 1.4rem;
}
#activity .flex:first-child > div + div div {
  width: 280px;
}
#activity .flex:first-child > div + div div p {
  font-size: 1.5rem;
  padding: 5px 10px;
  text-align: right;
}
#activity .flex:first-child > div + div div p img{
  height: 25px;
}
#activity .flex:first-child > div + div div p + p {
  font-family: "Bebas Neue", sans-serif;
  color: #fff;
  font-size: 3.8rem;
  line-height: 1;
  background-color: #16307C;
  border: #fff solid 3px;
  border-radius: 0 40px 40px 0;
}
#activity .flex:first-child > div + div div p + p span {
  font-size: 1.6rem;
}
#activity .flex + h3 {
  margin-top: 30px;
  font-size: 2.2rem !important;
}
#activity h3 + .flex > div h4 {
  font-size: 1.8rem !important;
}
#activity h3 + .flex > div p {
  font-size: 1.4rem;
}

#course {
  margin-bottom: 60px;
}
#course .flex > div {
  width: 100% !important;
  font-size: 1.5rem !important;
}
#course .flex > div + div {
  margin-top: 30px !important;
}
#course .flex > div > p a{
  font-size: 1.8rem !important;
}
#course .flex > div > p + p {
  font-size: 1.5rem !important;
}

#report {
  border-radius: 20px;
  margin: 0;
  padding: 30px 0;
}
#report .flex > div {
  width: 100%;
  margin-right: 0;
  flex-wrap: wrap;
}
#report .flex > div + div {
  margin-top: 20px;
}
#report .flex > div > div {
  width: 100% !important;
}
#report .flex > div > div:first-child p {
  border-radius: 15px 15px 0 0;
  overflow: hidden;
}
#report .flex > div > div + div {
  padding: 20px 15px;
}
#report .flex > div > div > span {
  font-size: 1.5rem;
}
#report .flex > div > div + div p{
  font-size: 1.4rem;
}

#insta h3 span::before {
  width: 40px;
  height: 40px;
  margin-right: 20px;
}
#insta h3 sub {
  font-size: 1.2rem;
}

#donation .wrap div div h3 {
  font-size: 2.3rem !important;
}
#donation .wrap div div p{
  font-size: 1.4rem;
}
#donation .wrap div div h3::before{
  width: 45px;
  height: 25px;
}

#bana {
  border-radius: 20px 20px 0 0;
  margin: 0;
}
#bana .flex div {
  width: 48%;
  margin-right: 4%;
  border: #E6E6E6 solid 2px;
}
#bana .flex div:nth-child(2n) {
  margin-right: 0;
}
#bana .flex div:nth-child(n+3) {
  margin-top: 15px;
}

#topics ul {
  flex-wrap: wrap;
}
#topics li:last-child{
    margin-top: 10px;
}

#sub > div {
  margin-top: -30px;
}
#sub img {
  height: 200px;
}
#sub > div::after{
	display: none;
}
#sub .flex > div:first-child::after {
  left: -15px;
  width: calc(100% + 15px);
}
#sub .flex > div {
  width: 100%;
  padding: 30px;
}
#sub .flex > div + div {
  padding: 30px 0;
}
h3.data p {
  font-size: 2.0rem;
  margin-bottom: 10px;
}
.data time {
  font-size: 1.4rem;
}
.data p {
  font-size: 1.2rem;
}
.pagenav p a{
	font-size: 1.6rem;
}

.formarea {
  background-color: #F5F4EB;
  border-radius: 20px 20px 0 0;
  margin: 0;
  padding: 60px 15px;
  font-size: 1.6rem;
}
#sub+.formarea {
  margin-top: 0;
}
.mw_wp_form button,
.mw_wp_form input[type="button"],
.mw_wp_form input[type="reset"],
.mw_wp_form input[type="submit"] {
    font-size: 2.0rem;
}

[class^="range"] {
  padding: 20px;
}
.instructor {
  padding: 20px;
}
.instructor > div {
  padding: 20px;
}
.instructor > div > h5 {
  margin-bottom: 10px;
}
.instructor > div > p {
  border-left: none;
  border-top: #75AB45 solid 6px;
  padding: 20px 5px 5px 5px;
}
.qa .q,.qa .a{
	padding-left: 0;
	text-indent: 0;
	line-height: inherit;
}
.qa .q{
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.qa .q::before,.qa .a::before{
	display: block;
	font-size: 4.0rem;
}

.single article.flex {
  flex-wrap: wrap;
}
.single article.flex > div {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.single article.flex > div+div {
  margin-top: 30px;
}

}
