html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,input,article,aside,footer,header,hgroup,nav,section {margin:0px; padding:0px;}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display:block;}
h1,h2,h3,h4,h5,h6,pre,code,address,caption,cite,code,em,strong,th,dt { font-size:1em; font-style:normal; font-weight:normal;}
ul,ol { list-style:none; }
form label { cursor:pointer;}
input {	vertical-align:middle; }
table {	border-collapse:collapse; border-spacing:0px; font-size:inherit; font:100%;	}
img {border:none; line-height:1em; vertical-align:bottom;}
a {text-decoration:none;}

html {
	box-sizing: border-box;
}


/*共通ヘッダー*/
header {
	width:1200px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	margin-top:30px;
}
@media screen and (max-width: 900px) {
	header {
		width:90%;
		margin-top:10px;
	}
}

.header_left {
	text-align:left;
	width:20%;
}
@media screen and (max-width: 900px) {
	.header_left {
		width:30%;
	}
}
@media screen and (max-width: 428px) {
	.header_left {
		width:40%;
	}
}
@media screen and (max-width: 376px) {
	.header_left {
		width:50%;
	}
}

.header_left img {
	width:80%;
	display:flex;
}



.header_right{
	width:80%;
}
@media screen and (max-width: 428px) {
	.header_right {
		display:none;
	}
}

.header_sns_button {
	display:flex;
	justify-content: flex-end;
}

.sns_space{
 display:flex;
}

.sns_space a img {
	width:32px;
	margin:0px 5px 0px 0px;
	height:32px;
}
.sns_space a img:hover {
	opacity: 0.8;
}

.button_space {
	margin-left:20px;
	display:flex;
}

.button_space a {
	display:block;
	margin-left:10px;
	padding-top: 5px;
	width:10em;
	height:28px;
	text-align:center;
	text-decoration: none;
	background-color: #68aa84;
	color:#ffffff;
	border-radius: 15px;
	font-size:15px;
	letter-spacing: 3px;
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO" ;
	line-height: 1.5em
}
.button_space a:hover {
	opacity: 0.8;
}



/*ヘッダーナビのドロップダウンメニュー*/

.header_navi {
	width:100%;
}

.menu {
    position: relative;
    width: 100%;
    height: 50px;
    max-width: 1000px;
    margin: 0 auto;
}

.menu > li {
    float: left;
    width: 20%; /* グローバルナビ5つの場合 */
    height: 50px;
    line-height: 50px;
		text-align:center;
}

.menu > li a {
    display: block;
    color:  #568163;
		text-decoration: none;
		font-size:17px;
}
@media screen and (max-width: 900px) {
	.menu > li a {
		font-size:12px;
	}
}

.menu > li a:hover {
    color: #568163;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    background:#E7FAEB;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #cfcfcf;
}

.menu__third-level li {
    border-top: 1px solid #cfcfcf;
}

.menu__second-level li a:hover {
    background: #568163;
		color:#ffffff;
}


/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 100%;
    background: #ffffff;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}


/*ヘッダーナビのドロップダウンメニューここまで*/


/*ハンバーガーメニュー*/
.hamburger-menu {
 display:none;
}
@media screen and (max-width: 428px) {
	.hamburger-menu {
		display:block;
	}
}


.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 45px;
    width: 45px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #68aa84;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #68aa84;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 9px 15px 10px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #68aa84;
		letter-spacing: 1px;
    transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}


/*共通フッター*/
.sponsor_youtube_mailmaga {
	width:100%;
	margin-top:50px;
}

.sponsor_space {
	width: 1200px;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
}
@media screen and (max-width: 885px) {
	.sponsor_space {
		width:98%;
	}
}
@media screen and (max-width:429px) {
	.sponsor_space {
		flex-direction: column;
	}
}


.prem_sponsor {
	width:50%;
}
@media screen and (max-width:429px) {
	.prem_sponsor {
		width:98%;
	}
}

.prem_sponsor_body{
 border:2px solid #cfbdbd;
 width:90%;
 margin:0 auto;
 margin-top:1em;
}

.prem_sponsor_title {
 color:#568163;
 background-color: #ffffff;
 width:12em;
 text-align: center;
 letter-spacing: 2px;
 margin:0 auto;
 margin-top: -0.75em;
 margin-bottom:0.75em;
}

.prem_sponsor_box{
	display:flex;
	margin:0 auto;
	margin-bottom:30px;
	width:98%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.upper_sponsor{
	width:100%;
	display: flex;
	justify-content:center;
}

.upper_sponsor a {
	display:block;
	width:35%;
}

.upper_sponsor a img {
	width:90%;
}
.upper_sponsor a img:hover{
	opacity: 0.7;
}


.lower_sponsor{
	width:100%;
	display: flex;
	justify-content:center;
	margin-top:10px;
}

.lower_sponsor a {
	display:block;
	width:30%;
}

.lower_sponsor a img {
	width:90%;
}
.lower_sponsor a img:hover{
	opacity: 0.7;
}



.youtube_mailmaga {
	width:50%;
}
@media screen and (max-width:429px) {
	.youtube_mailmaga {
		width:98%;
	}
}

.ym_box {
  box-sizing: border-box;
	width:100%;
	height:140px;
	border:2px solid #cfbdbd;
	margin-top:15px;
}

.ym_box a {
	display: block;
  box-sizing: border-box;
	width:100%;
	text-decoration: none;
	padding-top:8%;
	padding-left:18%;
}

.y_title {
	display: block;
	color:#568163;
	font-size:16px;
	position: relative;
}
.y_title::before {
	  content: '';
	  display: inline-block;
	  width: 70px;
		height:70px;
	  background-image: url(../images/youtube_icon.svg);
	  background-size: contain;
	  vertical-align: middle;
	  background-repeat: no-repeat;
	  position: absolute;
	  top:20%;
	  left:-19%;
}
@media screen and (max-width: 885px) {
	.y_title::before {
		width:40px;
                left: -19%;
	}
}
@media screen and (max-width: 321px) {
	.y_title::before {
		width:30px;
	}
}

.m_title {
	display: block;
	color:#568163;
	font-size:16px;
	position: relative;
}
.m_title::before {
	  content: '';
	  display: inline-block;
	  width: 70px;
		height:70px;
	  background-image: url(../images/contact.svg);
	  background-size: contain;
	  vertical-align: middle;
	  background-repeat: no-repeat;
	  position: absolute;
	  top:0%;
	  left:-19%;
}
@media screen and (max-width: 885px) {
	.m_title::before {
		width:40px;
                left: -19%;
	}
}
@media screen and (max-width: 321px) {
	.m_title::before {
		width:30px;
	}
}

.ym_txt{
	display: block;
	margin:0 auto;
	padding-top:10px;
	text-align:left;
	font-size:14px;
	color:#af9596;
	position: relative;
}
@media screen and (max-width: 885px) {
	.ym_txt {
		width:75%;
		margin-left:0%;
	}
}

.ym_txt::after {
	  content: '';
	  display: inline-block;
	  width: 40px;
		height:40px;
	  background-image: url(../images/arrowb.png);
	  background-size: contain;
	  vertical-align: middle;
	  background-repeat: no-repeat;
	  position: absolute;
	  top:-70%;
	  right:5%;
}
@media screen and (max-width: 885px) {
	.ym_txt::after{
		left:114%;
	}
}
@media screen and (max-width: 429px) {
	.ym_txt::after{
		left:110%;
	}
}
@media screen and (max-width: 321px) {
	.ym_txt::after{
		top:20%;
	}
}



/*レセコン誘導ボタン*/
.recept {
  width:100%;
}

.recept_space {
  width:1100px;
  margin:0 auto;
  background:#f2f2f2;
  margin-top:50px;
  display:flex;
}
@media screen and (max-width: 821px) {
  .recept_space {
    width:100%;
	}
}
@media screen and (max-width: 429px) {
  .recept_space {
    flex-direction: column;
    justify-content: center;
    margin-top:50px;
    background:#ffffff;
	}
}

.recept_title{
  width:33%;
  color:#568163;
  display:flex;
  flex-direction: column;
  margin-top:50px;
  margin-bottom: 50px;
  border-right:2px solid #ccbcbc;
}
@media screen and (max-width: 429px) {
  .recept_title {
    width:100%;
    margin-top:0px;
    margin-bottom:0px;
    border-right:0px solid black;
	}
}

.recept_title01 {
  font-size:17px;
  text-align:center;
  letter-spacing:1px;
  position:relative;
  margin-top:20px;
}

.recept_title01 span::before{
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(../images/resecon_icon.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
  position: absolute;
  top:15%;
  left:27%;
}

.recept_title02{
  font-size:12px;
  text-align:center;
  letter-spacing: 1px;
  margin-bottom:20px;
}

.recept_button {
  width:67%;
  display:flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 429px) {
  .recept_button {
    width:90%;
    background:#f2f2f2;
    justify-content: center;
    margin:0 auto;
	}
}

.recept01 {
  display:block;
  width:60%;
  height:30%;
  padding-top:30px;
  text-align:center;
  text-decoration:none;
  color:#826e6f;
  font-size:24px;
  border-right:2px solid #ccbcbc;
}
@media screen and (max-width: 429px) {
  .recept01 {
    font-size: 18px;
    padding-top:10px;
	}
}

.recept01:hover{
  background:#ccbcbc;
}

.recept01 span {
  position: relative;
}

.recept01 span::before{
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url(../images/arrowb.png);
  background-size: contain;
  vertical-align:baseline;
  background-repeat: no-repeat;
  position:absolute;
  top:-10%;
  left:-45%;
}
@media screen and (max-width: 429px) {
  .recept01 span::before {
    top:-21%;
    left:-43%;
    width:30px;
    height:30px;
	}
}

.recept01 span::after{
  content: '';
  display: inline-block;
  width: 9px;
  height: 12px;
  background-image: url(../images/ownb.png);
  background-size: contain;
  vertical-align:baseline;
  background-repeat: no-repeat;
  position:absolute;
  top:51%;
  left:110%;
}

.recept02 {
  display:block;
  width:60%;
  height:30%;
  padding-top:30px;
  text-align:center;
  text-decoration:none;
  position: relative;
  color:#826e6f;
  font-size:24px;
  border-right: 2px solid #ccbcbc;
}
@media screen and (max-width: 429px) {
  .recept02 {
    font-size: 18px;
    padding-top:33px;
    height:48px;
    border-right: none;
	}
}

.recept02:hover{
  background:#ccbcbc;
}

.recept02 span::before{
  content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url(../images/arrowb.png);
  background-size: contain;
  vertical-align:baseline;
  background-repeat: no-repeat;
  position:absolute;
  top:32%;
  left:4%;
}

@media screen and (max-width: 821px) {
  .recept02 span::before {
    left:15%;
	}
}
@media screen and (max-width: 429px) {
  .recept02 span::before {
    top:38%;
    left:12%;
    width:30px;
    height:30px;
	}
}
@media screen and (max-width: 360px) {
  .recept02 span::before {
    left:-5%;
	}
}

.recept02 span::after{
  content: '';
  display: inline-block;
  width: 9px;
  height: 12px;
  background-image: url(../images/ownb.png);
  background-size: contain;
  vertical-align:baseline;
  background-repeat: no-repeat;
  position:absolute;
  top:60%;
  left:83%;
}

@media screen and (max-width: 394px) {
  .recept02 span::after {
    left:-10%;
	}
}

a.recept03{
    display:block;
    width: 90%;
    height: 30%;
    padding-top: 30px;
    text-align: center;
    text-decoration: none;
    position: relative;
    color: #826e6f;
    font-size: 21px;
}

@media screen and (max-width: 429px) {
  a.recept03{
  display: none !important;
	}
}

a.recept03:hover{
  background:#ccbcbc;
}

a.recept03 span::before{
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    background-image: url(https://ojtc.org/images/arrowb.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 32%;
    left: 6%;
}

a.recept03 span::after{
    content: '';
    display: inline-block;
    width: 8px;
    height: 10px;
    background-image: url(https://ojtc.org/images/ownb.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 60%;
    left: 85%;
}

.recept-2btn-buttons .recept01 span::before {
  left: -50% !important;
}
.recept-2btn-buttons .recept01 span::after {
  left: 115% !important;
}

/* ▼ 2ボタン用：アイコン位置調整（はるか） */
.recept-2btn-buttons .recept02 span::before {
  left: 23% !important;
}
.recept-2btn-buttons .recept02 span::after {
  left: 45% !important;
}

.recept-2btn-buttons .recept02 {
  border-right: none !important;
}

@media screen and (max-width: 429px) {
  .recept-2btn-buttons .recept01 span::before {
    left: -45% !important;
    top:-30% !important;
  }

  .recept-2btn-buttons .recept01 span::after {
    left: 115% !important;
  }

  .recept-2btn-buttons .recept02 span::before {
    left: 15% !important;
  }

  .recept-2btn-buttons .recept02 span::after {
    left: 50% !important;
  }
}

/* ▼ 3ボタン用：はるか（recept02）の after を左に寄せる */
.recept .recept02 span::after {
  left: 75% !important;
}

/* ▼ 2ボタン版のはるか（recept02）の after を最優先で適用 */
.recept.recept-2btn .recept02 span::after {
  left: 68% !important;
}

/* ▼ iPhone の 2ボタン版を最優先で適用 */
@media screen and (max-width: 429px) {
  .recept.recept-2btn .recept02 span::after {
    left: 71% !important;
  }
}



.footer_nav {
	width:100%;
	background-image: url(../images/bg_footer.jpg);
}

.footer_nav_space {
	width:1200px;
	margin:0 auto;
	margin-top:50px;

}
@media screen and (max-width:885px) {
  .footer_nav_space {
    width:100%;
	}
}

.footer_nav_upper{
	display: flex;
	justify-content: space-between;
	padding-top: 30px;
}

.footer_nav_upper_left{
	width:65%;
	display: flex;
}
@media screen and (max-width:429px) {
  .footer_nav_upper_left{
    display:none;
	}
}

.footer_nav_upper_left div {
	margin-right:2%;
	line-height: 1.5em;
	letter-spacing: 2px;
}

.footer_nav_upper_left div a {
	font-size:12px;
	color:#ffffff;
	text-decoration:none;
	display: block;
}

.footer_nav_upper_left div a:hover{
	text-decoration: underline;
}

.footer_nav_upper_left div p {
	font-size:12px;
	color:#deccc8;
}

.footer_nav_upper_right {
	width:35%;
	display: flex;
	flex-direction: column;
}
@media screen and (max-width:429px) {
  .footer_nav_upper_right{
    width:90%;
		margin:0 auto;
	}
}

.footer_nav_upper_button {
	width:100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	border-bottom:1px solid #b38681;
	padding-bottom:20px;
}

.contact_button {
	display: block;
	width:48%;
	height:2em;
	padding-top:1em;
	background:#68aa84;
	color:#ffffff;
	text-align: center;font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO" ;
	text-decoration: none;
}
.contact_button:hover {
	opacity: 0.7;
}
@media screen and (max-width:885px) {
  .contact_button{
    font-size: 0.9em;
		letter-spacing: 1px;
	}
}

.contact_button::before{
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background-image: url(../images/f_contact.svg);
  background-size: contain;
  vertical-align:baseline;
  background-repeat: no-repeat;
  position:absolute;
  top:20%;
  left:3%;
}
@media screen and (max-width:885px) {
  .contact_button::before{
    width:20px;
		height:20px;
		top:23%;
		left:1.5%;
	}
}

.login_button {
	display: block;
	width:48%;
	height:2em;
	padding-top:1em;
	background:#68aa84;
	color:#ffffff;
	text-align: center;font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO" ;
	text-decoration: none;
}
.login_button:hover{
		opacity: 0.7;
}

@media screen and (max-width:885px) {
  .login_button{
    font-size: 0.9em;
		letter-spacing: 1px;
	}
}

.login_button::before{
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background-image: url(../images/f_login.svg);
  background-size: contain;
  vertical-align:baseline;
  background-repeat: no-repeat;
  position:absolute;
  top:15%;
  left:55%;
}
@media screen and (max-width:885px) {
  .login_button::before{
    width:20px;
		height:20px;
		top:18%;
	}
}

.footer_nav_upper_sns {
	margin-top:10px;
	text-align:center;
	padding-top:10px;
}

.footer_nav_upper_sns a {
	text-decoration:none;
	padding:0px 1em;
}

.footer_nav_upper_sns a:hover{
	opacity: 0.8;
}

.footer_nav_upper_sns a img {
	width:30px;
	height:30px;
}


.footer_nav_lower{
	display:flex;
	justify-content: space-between;
	border-top:1px solid #ab7972;
	margin-top:50px;
	padding:15px 0px 25px;
}
@media screen and (max-width:429px) {
  .footer_nav_lower{
		margin:0 auto;
    margin-top:20px;
		width:90%;
	}
}

.footer_nav_lower a{
	display: block;
	width:50%;
	font-size:11px;
	color:#deccc8;
	letter-spacing: 1px;
}

@media screen and (max-width:321px) {
  .footer_nav_lower a{
		font-size:9px;
	}
}

.footer_nav_lower div{
	width: 50%;
	font-size:11px;
	text-align:right;
	color:#deccc8;
	letter-spacing: 1px;
}

@media screen and (max-width:321px) {
  .footer_nav_lower div{
		font-size:9px;
	}
}

.top_btn {
  position: fixed;
  bottom: 10px;
  right: 10px;
  font-weight: bold;
  padding: 0.7rem;
  text-align: center;
  transition: 0.3s0;
}

.mail_form_button {
    display: inline-block;
    padding: 12px 30px;
    background: #d9534f;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    border-radius: 4px;
}

.mail_form_button:hover {
    background: #c9302c;
}

.mail_form_button2 {
    display: inline-block;
    padding: 12px 30px;
    background: #337ab7;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    border-radius: 4px;
}
.mail_form_button2:hover {
    background: #286090;
}

@media screen and (max-width: 429px) {

    .mail_form_button {
        font-size: 16px;
        padding: 10px 25px;
position: relative;
        top: -20px;
    }

    .mail_form_button2 {
        font-size: 16px;
        padding: 10px 25px;
position: relative;
        top: -20px;
    }

}
