@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                 © Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
:root {
    --content-width: 1310px;
    --font-yugothic: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    --font-yumincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
    --font-meiryo: "Meiryo UI", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
    --font-arial: Arial, Helvetica, sans-serif;
    --color-primary: #006a2c;
    --color-secondary: #fff347;
	--color-org: #f49000;
	--color-red: #d65049;
    --color-black: #333333;
    --color-gray: #cccccc;
    --text-line-height: 1.8em;
    /* --font-poppins: "Poppins", sans-serif; */
    /* --font-family: "Noto Sans JP", sans-serif; */
    /* --font-serif: "Noto Serif JP", serif; */
    /* --font-new: "Dela Gothic One", sans-serif; */
    --body-color: #333333
}
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
  font-size: 160%;
  -webkit-text-size-adjust: none;
}
img {
  vertical-align: bottom;
	max-width: 100%;
	height: auto
}
h1 {} /* Header内で設定 */
h2 {}
h3 {}
h4 {}
a {
  color: #006E3F;
	transition: 0.3s ease
}
a:hover, a:active {
  color: #006E3F;
  text-decoration: none;
}
a:visited {}
ul {}
li {}
dl {}
dt {}
dd {}
table {
  width: 100%
}
th, td {}
th {}
td {}
p {
  margin: 0 0 1.9em;
}
p, dt, dd, td, th, li {
  line-height: 1.875em;
}
* {
  word-break: break-word;
  outline: none;
}
*, :after, :before {
  box-sizing: border-box
}
:focus {
  outline: 0
}
li::marker {
  display: none
}
/* add
------------------------------------------------------------------------*/
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
html {
  background: none;
  margin: 0 auto;
	scroll-behavior: smooth;
}
body {
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  color: #000000;
  font-weight: 400;
  margin: 0 auto;
  position: relative;
  overflow: auto;
  height: 100%;
}
#wrapper {
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.inner {
  width: 1200px;
  margin: 0 auto;
  position: relative
}
#main {
  margin: 0 auto
}
.green{
	color: var(--color-primary)
}
.org{
	color: var(--color-org)
}
#present a:hover{
	opacity: 0.85
}
.sp420{display:none}
/*==========================================================================*/
/*                               Header                                     */
/*==========================================================================*/
#header p {
  margin-bottom: 0
}
#header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  flex-flow: row nowrap;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  -webkit-backface-visibility: hidden;
	padding: 0 10%
}
#header .inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
}
#logo {
  width: auto;
  padding: 10px; 
	background: #fff;
}
#logo img {
  width: 100%;
  max-width: 307px;
}
.mailform_but{
	width: 280px;
	height: 50px;
	margin-top: 30px
}
.mailform_but a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-org);
	color: #fff;
	text-decoration: none;
	position: relative;
	border-radius: 25px;
	padding-left: 15px;
	font-weight: bold;
	font-size: 15px;
}
.mailform_but a span.sub{
	position: absolute;
	background: var(--color-primary);
	border-radius: 30px;
/*	transform: rotate(-8deg);*/
	transform: translateX(-50%);
	left: 50%;
	top: -13px;
	padding: 3px 10px;
	color: #fff;
	font-size: 12px;
	letter-spacing: 0.05em;
	line-height: 1.4
}
.mailform_but a::after{
	content: '';
	background: url("../images/arrow01.png") no-repeat 0 0 / 100%;
	width: 16px;
	height: 16px;
	display: block;
	margin-left: 15px;
	
}
/*==========================================================================*/
/*                               TOPINFO                                    */
/*==========================================================================*/
#top_info p{
	margin-bottom: 0
}
#top_info {
	background: url("../images/bg_mv.jpg") no-repeat center bottom -100px;
	
}
#top_info .inn{
	background: linear-gradient(to right, rgba(255,255,255,0) 30%, rgba(255,255,255,0.6) 30%, rgba(255,255,255,0.6) 70%, rgba(255,255,255,0) 70%);	
	display: flex;
	justify-content: center;
	padding-top: 80px;
	min-height: 600px;
}

#top_info .director_img{
	width: 32.5%;
	position: relative;
    display: flex;
    justify-content: flex-end;
	align-items: end;
}
#top_info .director_img .img{
	margin-right: -80px;
}
#top_info .director_img .name{
	position: absolute;
	right: -190px;
	bottom: 55px;
	background: url("../images/bg_name.png") no-repeat 0 bottom;
	width: 148px;
	height: 65px;
	padding-left: 40px;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4
}
#top_info .director_img .name .large{
	font-size: 140%;
	display: block
}
#top_info .magazine{
	width: 32.5%;
	display: flex;
}
#top_info .magazine img{
	width: 340px;
	transform: rotate(12deg);
	margin-top: auto
}
#top_info .maintxt{
	width: 35%;
	padding: 0 1% 3%;
	display: flex;
	flex-direction: column;	
	justify-content: flex-end;
	align-items: center;
	position: relative
}
#top_info .maintxt .org_bg{
	color: var(--color-secondary);
	background: var(--color-org);
	text-align: center;
	margin: 0 auto;
	padding: 2px 10px;
	border-radius: 6px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.05em
}
#top_info .maintxt .org_bg .wh{
	color: #fff;
}
#top_info .maintxt h2{
	display: flex;
	flex-direction: column;	
	align-items: center;
	font-weight: bold;
	line-height: 1.3;
	margin: 30px auto;
}
#top_info .maintxt h2 .sub01::before{
	content: '';
    width: 2px;
    height: 24px;
    background: #000;
    transform: skewX(30deg);
    display: block;
	margin-right: 15px;
}
#top_info .maintxt h2 .sub01::after{
	content: '';
    width: 2px;
    height: 24px;
    background: #000;
    transform: skewX(-30deg);
    display: block;
	margin-left: 10px;
}
#top_info .maintxt h2 .sub01{
	display: flex;
    justify-content: center;
    position: relative;
    align-items: center;
	font-size: 32px;
}
#top_info .maintxt h2 .large{
	font-size: 74px;
}
#top_info .maintxt h2 .sub02{
	font-size: 56px;
}
#top_info .maintxt .medal_yel{
	background: url("../images/bg_medal_yel.png") no-repeat 0 0 / 100%;
	width: 180px;
	height: 180px;
	color: #111;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 18px;
	line-height: 1.3;
	padding-top: 5px;
	position: absolute;
	right: 20px;
	bottom: 30px;
	transform: rotate(-15deg)
}
#top_info .maintxt .medal_yel .large{
	font-size: 130%
}
#top_info .maintxt .medal_yel .large2{
	font-size: 160%
}
#top_info .list_button{
	display: flex;
	position: relative;
	z-index: 2
}
#top_info .list_button li{
	width: calc(100% / 3);
	height: 100px;
}
#top_info .list_button li:not(:last-child){
	border-right: 1px solid #fff;
}
#top_info .list_button li a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--color-primary);
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-decoration: none;
	position: relative
}
#top_info .list_button li.light a{
	background: #1e8c4c;
}
#top_info .list_button li.org a{
	background: var(--color-org)
}
#top_info .list_button li a::after{
	content: '';
	width: 32px;
	height: 32px;
	background: url("../images/arrow01.png") no-repeat center rgba(255,255,255, 0.4);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: 16px;
	position: absolute;
	top: calc(50% - 16px);
	right: 30px;
}
/*==========================================================================*/
/*                               COMMON                                     */
/*==========================================================================*/
#content p:last-child {
  margin-bottom: 0
}
#present h3{
	font-weight: bold;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 40px
}
#present h3 .en{
	font-size: 18px;
	background: #ffce00;
	border-radius: 24px;
	padding: 5px 20px;
	color: #fff;
	margin-bottom: 15px
}
#present h3 .jp{
	font-size: 46px;
}
/*==========================================================================*/
/*                               box01                                      */
/*==========================================================================*/
#box01{
	background: #fcf3c9;
	padding: 70px 0 0;
	position: relative;
}
#box01::after{
	content: '';
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 160px 960px 0 960px;
	border-color: #fcf3c9 transparent transparent transparent;
	transform: rotate(0deg);
	position: absolute;
	left: 0;
	bottom: -160px;
}
.list6items{
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start
}
.list6items dl{
	width: 31%;
	background: rgba(255,255,255,0.8);
	border-radius: 20px;
	padding: 30px 20px 0;
	margin-bottom: 40px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	box-shadow: 8px 8px 0 #fee79a
}
.list6items dl.mt{
	margin: 40px 0 40px
}
.list6items dl img{
	max-width: 180px;
}
.list6items dl dt{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	position: relative
}
.list6items dl dt .num{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	background: #81b286;
	color: #fff;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: -50px;
	left: calc(50% - 20px)
}
/*==========================================================================*/
/*                               box02                                      */
/*==========================================================================*/
#box02{
	background: url("../images/bg_box02.png") repeat-x left bottom 10px #dcede3;
	padding: 30px 0 0;
}
#box02 .inner{
	display: flex;
	justify-content: space-between;
	align-items: center
}
#box02 .imgR{
	width: 480px;
}
#box02 .balloon_txt{
	width: calc(100% - 520px);
	background: #fff;
	border-radius: 20px;
	padding:  30px;
	box-shadow: 10px 10px 0 rgba(0,0,0,0.1);
	position: relative
}
#box02 .balloon_txt::after{
	content: '';
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 30px;
	border-color: transparent transparent transparent #fff;
	transform: rotate(0deg);
	position: absolute;
	right: -30px;
	top: calc(50% - 9px);
}
#box02 .balloon_txt::before{
	content: '';
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 30px;
	border-color: transparent transparent transparent rgba(0,0,0,0.1);
	transform: rotate(0deg);
	position: absolute;
	right: -40px;
	top: calc(50% - 2px);
}
#box02 .balloon_txt p{
	line-height: 1.8
}
#box02 .balloon_txt p > span{
	font-size: 24px;
	font-weight: bold;	
	display: block
}
#box02 .balloon_txt p > span .large{
	font-size: 140%;
	margin-left: -15px;
}
#box02 .balloon_txt p > span .large .green{
	background: linear-gradient(to bottom, rgba(255,255,255,0) 60%, var(--color-secondary) 60%)
}
/*==========================================================================*/
/*                               box03                                      */
/*==========================================================================*/
#box03{
	background: url("../images/pattern01.png") repeat #fcf3c9;
	padding: 80px 0 0;
	position: relative;
	overflow: hidden;
}
#box03 .inner::before{
	content: '';
	background: rgba(255,255,255,0.5);
	width: 800px;
	height: 800px;
	border-radius: 50%;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%)
}
#box03 h3 .jp{
	text-align: center;
	line-height: 1.4
}
#box03 h3 .sm{
	display: block;
}
#box03 .inner{
	position: relative;
	text-align: center;
	display: flex;
	justify-content: center
}
#box03 .imgL{
	width: 30%;
	margin: 0 -5% 0 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	position: relative
}
#box03 .cont{
	width: 50%;
	padding-bottom: 80px;
	position: relative
}
#box03 .imgR{
	width: 30%;
	margin: 0 0 0 -5%;
	position: relative
}
#box03 .imgL img{
	width: auto;
    max-width: unset;
	margin-bottom: -20px;
}
#box03 .imgR img{
	width: 380px;
	transform: rotate(12deg);
	margin-left: 30px;
	max-width: none;
}

/*==========================================================================*/
/*                               box04                                      */
/*==========================================================================*/
#box04{
	padding: 80px 0;
	background-color: rgba(197, 190, 166, .2);
	position: relative;
	z-index: 1;
}
#box04::before {
	content: "";
	position: absolute;
	background-color: #c5bfa6;
	opacity: .1;
	display: block;
	width: 100%;
	height: 100%;
	clip-path: polygon(0 0, 0 38%, 30% 0);
	right: 0;
	top: 0;
	z-index: -1;
}
#box04::after {
  content: "";
  position: absolute;
  background-color: #c5bfa6;
  opacity: .1;
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(100% 37.5%, 51% 100%, 100% 100%);
  right: 0;
  top: 0;
  z-index: -1;
}
.button_zoom{
	width: 320px;
	height: 60px;
	margin: 0 auto 40px;
	border-radius: 30px;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.button_zoom::before{
	content: '';
	background: url("../images/icon_zoomin.png") no-repeat 0 0 / 100%;
	width: 32px;
	height: 32px;
	display: block;
}
.list_zoom{
	width: calc(100% + 40px);
	margin: 0 -20px;
	display: flex;
	flex-wrap: wrap;
	position: relative
}
.list_zoom li{
	width: calc(100% / 2 - 40px);
	margin: 0 20px 40px;
	border-radius: 20px;
	overflow: hidden;
	border: 10px solid #dcede3;
	position: relative
}
.list_zoom li::after{
	content: '';
	background: url("../images/icon_zoomin2.png") no-repeat center center var(--color-primary);
	width: 48px;
	height: 48px;
	display: block;
	background-size: 32px;
	border-radius: 50%;
	position: absolute;
	right: 15px;
	bottom: 15px;
}
#box04 .list_zoom::before {
	content: "";
	position: absolute;
	background: url("../images/ps-hand.png") no-repeat 0 0 / 100%;
	width: 258px;
    height: 198px;
    display: block;
    left: 0;
	top: -220px
}
/*==========================================================================*/
/*                               box04                                      */
/*==========================================================================*/
#box05{
	background: url("../images/pattern01.png") repeat var(--color-primary);
	padding: 100px 0 0
}
#box05 h3{
	margin-bottom: 120px;
	color: #fff
}
#box05 .bg2{
	background: var(--color-primary);
	position: relative
}
#box05 .bg2::before{
	content: '';
	width: 50%;
	height: 120px;
	background: linear-gradient(to right top, var(--color-primary) 50%, rgba(255,255,255,0) 50%);
	position: absolute;
	left: 0;
	top: -120px;
}
#box05 .bg2::after{
	content: '';
	width: 50%;
	height: 120px;
	background: linear-gradient(to left top, var(--color-primary) 50%, rgba(255,255,255,0) 50%);
	position: absolute;
	right: 0;
	top: -120px;
}
.list_items{
	width: calc(100% + 40px);
	margin: 0 -20px 0;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	top: -50px;
	z-index: 9
}
.list_items::before {
	content: '';
	background: url("../images/ustk-reason05.png") no-repeat 0 0 / 100%;
	width: 160px;
	height: 160px;
	position: absolute;
	top: -150px;
	right: 20px
}
.list_items .item{
	width: calc(100% / 2 - 40px);
	margin: 0 20px 40px;
	border-radius: 10px 20px;
	position: relative;
	background: #fff;
	padding: 20px 25px;
	box-shadow: 10px 10px 0 rgba(0,0,0,.1)
}
.list_items .item .ttl{
	position: relative;
	margin-bottom: 0;
	min-height: 60px;
}
.list_items .item .ttl .num{
	background: url("../images/bg_medal_green.png") no-repeat 0 0 / 100%;
	width: 89px;
	height: 90px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	position: absolute;
	left: -10px;
	top: -35px;
	transform: rotate(-12deg)
}
.list_items .item .ttl .num span{
	font-size: 140%;
	margin: 0 1px 3px
}
.list_items .item .ttl .txt{
	color: var(--color-primary);
	margin-left: 90px;
	font-weight: bold;
	font-size: 20px;
	display: block
}
.list_items .item li{
	display: flex;
	border-bottom: 2px dotted #368958;
	padding: 5px 3px;
}
.list_items .item li .num{
	width: 25px;
	color: var(--color-org)
}
.list_items .item li .txt{
	width: calc(100% - 25px);
}
.list_items .item li .num2{
	width: 50px;
}
.list_items .item li .txt2{
	width: calc(100% - 50px);
}
.list_items .item li .txt_full{
	width: 100%;
}
/*==========================================================================*/
/*                               box04                                      */
/*==========================================================================*/
#box06{
	padding: 80px 0;
	background: linear-gradient(to right, #fff 60%, #dcede3 60%)
}
#box06 h3{
	margin-bottom: 80px;
}
#box06 .inner{
	position: relative
}
#box06 .inner::after{
	content: '';
    background: url("../images/ustk-reason06.png") no-repeat 0 0 / 100%;
    width: 220px;
    height: 175px;
    display: block;
    position: absolute;
    left: -100px;
    bottom: -110px;
}
#box06 .flexbox{
	display: flex;
	justify-content: space-between
}
#box06 .flexbox .col_l{
	width: 48%;
	padding-left: 80px;
	position: relative
}
#box06 .flexbox .col_r{
	width: 48%;
}
#box06 .flexbox .col_r .img{
	width: fit-content;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 10px 10px 0 rgba(0,0,0,0.1)
}
#box06 .flexbox .subname{
	margin: 0 0 10px;
	padding-left: 5px
}
#box06 .flexbox .name{
	font-size: 20px;
	font-weight: bold;
	border-bottom: 2px solid #dcede3;
	padding-bottom: 10px;
	color: var(--color-primary);
	padding-left: 5px
}
#box06 .flexbox .name span{
	font-size: 180%;
}
#box06 .flexbox .col_l::before{
	content: ''; 
	background: url("../images/bg_name02.png") no-repeat 0 0 / 100%;
	width: 485px;
	height: 244px;
	position: absolute;
	left: -25px;
	top: -160px;
}
#box06 .staff_info dl{
	display: flex;
	border-bottom: 1px dashed #9bc4ac;
	padding: 10px 5px;
}
#box06 .staff_info dl dt{
	width: 115px;
	color: var(--color-primary)
}
#box06 .staff_info dl dd{
	width: calc(100% - 115px);
}
/*==========================================================================*/
/*                               box02                                      */
/*==========================================================================*/
#box07{
	background: url(../images/pattern01.png) repeat #fcf3c9;
    padding: 60px 0;
}
#box07 .inner{
}
#box07 .title_form{
	display: flex;
	justify-content: center;
	align-items: center;
}
#box07 .title_form .medal_yel .large{
	font-size: 130%
}
#box07 .title_form .medal_yel{
	width: 140px;
	height: 140px;
	background: url("../images/bg_medal_yel.png") no-repeat 0 0 / 100%;
	transform: rotate(-12deg);	
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
}
#box07 .title_form .magazine2{
	width: 120px;	
	transform: rotate(15deg);
	top: -25px;
	position: relative
}
#box07 .title_form h3{
	margin: 0 30px 60px 20px
}
#box07 h3 .sub{
	display: flex;
    justify-content: center;
    position: relative;
    align-items: center;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.4;
}
#box07 h3 .sub::before{
	content: '';
    width: 2px;
    height: 20px;
    background: #000;
    transform: skewX(30deg);
    display: block;
	margin-right: 15px;
}
#box07 h3 .sub::after{
	content: '';
    width: 2px;
    height: 20px;
    background: #000;
    transform: skewX(-30deg);
    display: block;
	margin-left: 10px;
}
#box07 h4 {
	font-size: 26px;
	font-weight: bold;
	margin: 0 auto 30px
}
#box07 .udr-scroll {
	border: 1px solid #c6c6c6;
	padding: 30px;
	overflow-y: scroll;
	background-color: #fff;
	max-height: 280px;
}
#box07 .udr-scroll h5{
	font-size: 22px;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: 20px;
}
#box07 .udr-scroll h6{
	font-size: 22px;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: 20px;
	border-left: 4px solid var(--color-primary);
  	padding-left: 15px;
}
#box07 .udr-scroll section{
	margin-bottom: 30px;
}
#box07 .inner #mailform{
	background: #fff;
	border-radius: 20px;
	padding: 50px;
	margin: -60px 0 60px;
}
#mailform  table.mailform{
	width: 100%
}
#mailform table th, #mailform  table td{
	border: none;
	font-size: 16px;
	padding: 15px;
	background: none;
	position: relative
}
#mailform table tr{
	border-bottom: 1px solid #9bc4ac;
}
#mailform table th:first-child{
	color: var(--color-primary);
	width: 25%;
	text-align: left;
}
#mailform #fmail input.fmail {
    border-radius: 3px;
    border: 1px solid #ccc;
    padding: 4px;
}
#mailform #fmail input[type=text] {
	max-width: 100%;
	width: 400px;
}
#mailform #fmail input#en1240790938, #mailform #fmail input#en1749021220{
    width: 150px;
}
#mailform table tr th{
	padding-right: 40px;
}
#mailform #fmail table.postcodetbl{
	border-bottom: 1px solid #9bc4ac;
	margin: 15px 0 0
}
#mailform #fmail table.postcodetbl tr{
	border-bottom: none;
}
#mailform #fmail table.postcodetbl tr th, #mailform #fmail table.postcodetbl tr td{
	padding: 0 15px 15px;
}
#mailform #fmail table.postcodetbl tr th div.fmail_must {
    top: calc(50% - 8px);
	transform: translateY(-50%)
}
#mailform #fmail table.postcodetbl tr:not(:first-child) th{
	width: 15%
}
#mailform label.fmail_label_enabled, #mailform label.fmail_label_disabled{
    color: #000000 !important;
}
#mailform dt.fmail_error_line,#mailform dd.fmail_error_line, #mailform .fmail_error{
	background-color: none;
	padding: 2px 0px 2px 17px;
}
#mailform #fmail #d_en1749024393 li{
	float: none;
	width: fit-content
}
#mailform .button{
	margin-top: 40px;
}
.info_policy{
	margin: 40px 0 0
}
/*==========================================================================*/
/*                               footer                                   */
/*==========================================================================*/
#footer {
}
#footer p {
  margin-bottom: 0
}
address {
  height: 60px;
  background-color: #006E3F;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px !important;
  text-align: center
}
.to-top {
    position: fixed;
    z-index: 30;
    bottom: 20px;
    right: 20px;
    transition: all .2s;
    transform-origin: 50% 100%;
    transform: translateY(15px);
    opacity: 0;
    visibility: hidden
}

.to-top>a {
    display: block;
    width: 175px;
    height: 217px;
    background: url("../images/to-top04-off.png") center no-repeat;
    background-size: contain
}

.to-top.show {
    transform: translateY(0);
    opacity: 1;
    visibility: visible
}

.common_button{
	display: flex;
	justify-content: center;
}
.common_button p{
	width: 300px;
	height: 60px;
	margin: 0 10px 10px;
}
.common_button p a{
	width: 100%;
	height: 100%;
	background-color: var(--color-primary);
	border-radius: 30px;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
	font-weight: bold;
    text-align: center;
	text-decoration: none;
	position: relative;
	transition: 0.3s ease
}
.common_button .souzoku_but a{
	background: #008f3b
}
.common_button p a::after{
    content: '';
    width: 32px;
    height: 32px;
    background: url("../images/arrow01.png") no-repeat center rgba(255,255,255, 0.3);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: 16px;
    position: absolute;
    top: calc(50% - 16px);
    right: 10px;
}

/*==============FIX IE==================*/
@media screen\0 {}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {}
/*==============FIX GG==================*/
@media screen and (-webkit-min-device-pixel-ratio: 0) {}
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/* EFFECT                                                                 */
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
@-webkit-keyframes mvslideAnime {
  0% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
  }
  100% {
    -webkit-transform: translate(-100px);
    transform: translate(-100px);
  }
}
@keyframes mvslideAnime {
  0% {
    -webkit-transform: translate(0px);
    transform: translate(0px);
  }
  100% {
    -webkit-transform: translate(-100px);
    transform: translate(-100px);
  }
}
@-webkit-keyframes socialspin {
  from {
    -webkit-transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(15px);
  }
}
@keyframes socialspin {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(15px);
  }
}
@-webkit-keyframes leaf {
  from {
    -webkit-transform: rotate(5deg);
  }
  to {
    -webkit-transform: rotate(-5deg);
  }
}
@keyframes leaf {
  from {
    transform: rotate(5deg);
  }
  to {
    transform: rotate(-5deg);
  }
}
@-moz-keyframes scrolltop {
  0% {
    transform: translateY(-80px);
    opacity: 0
  }
  100% {
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes scrolltop {
  0% {
    transform: translateY(-80px);
    opacity: 0
  }
  100% {
    transform: translateY(0);
    opacity: 1
  }
}
@keyframes mover {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}