@charset "utf-8";
* {
	margin: 0px;
	padding: 0px;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
a {
	text-decoration: none;
}
img {
	width: 100%;
	vertical-align:bottom;
	border:none;
}
table {
	border-collapse: collapse;
}
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
  	height: 1px;
  	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"] {
	-webkit-appearance: none;
}
body {
	font-family: Verdana, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
}

main {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

.rela {
	position: relative;
}

#abso_motion01 {
	position: absolute;
	top: 11%;
	margin: 0 auto;
	right: 0;
	width: 38.8%;
}

#abso_motion02 {
	position: absolute;
	top: 22%;
	margin: 0 auto;
	left: 0;
	right: 0;
}

#abso_motion03 {
	position: absolute;
	top: 57%;
	margin: 0 auto;
	left: 0;
	right: -72%;
	width: 40%;
}

#abso_motion04 {
	position: absolute;
	top: 55%;
	margin: 0 auto;
	left: -4%;
	right: 70%;
	width: 36.2%;
}

#abso_motion05 {
	position: absolute;
	top: 60%;
	margin: 0 auto;
	left: 0;
	right: -72%;
	width: 26.8%;
}

#abso_motion06 {
	position: absolute;
	top: 57%;
	margin: 0 auto;
	left: 0%;
	right: 74%;
	width: 26.8%;
}

#abso07 {
	position: absolute;
	top: 55%;
	margin: 0 auto;
	left: 0;
	right: 0;
	width: 74%;
}

#abso_motion08 {
	position: absolute;
	top: 31%;
	margin: 0 auto;
	left: 0;
	right: 0;
	width: 75.1%;
}

#abso_btn {
	position: absolute;
	top: 29%;
	margin: 0 auto;
	left: 0;
	right: 0;
	width: 87.3%;
}

footer {
	background-color: #043528;
	padding: 10%;
	color: #fff;
	text-align: center;
	font-size: min(2.6vw, 20px);
}


/*アニメーション*/

.start_0 {
	opacity: 0;
}

img.text_subetemuryo01 {
	-webkit-animation:buruburu 0.15s ;
	animation:buruburu 0.15s ;
	animation-iteration-count: 2;
	animation-delay: 0.9s;
}

img.text_subetemuryo02 {
  animation: zoomIn 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	animation-delay: 0.5s;
}

img.text_subetemuryo03 {
  animation: slideIn_right 0.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	animation-delay: 1.6s;
}

img.text_subetemuryo04 {
  animation: slideIn_left 0.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
	animation-delay: 1.3s;
}

img.text_subetemuryo05 {
  animation: bound 2s forwards;
	animation-delay: 2.3s;
}

img.text_subetemuryo06 {
  animation: bound 2s forwards;
	animation-delay: 1.9s;
}

img.text_subetemuryo07, img.text_subetemuryo09 {
  animation: fuwafuwa 1s ease-in-out infinite alternate;
}

img.text_subetemuryo08 {
	animation: zoomIn 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards, 
             shivering 2s;
  animation-delay: 0.5s, 0.9s;
}


@keyframes buruburu {
	0% {transform:translate(0, 0) rotate(-3deg);}
	50% {transform:translate(0, -1px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(3deg);}
}

@keyframes zoomIn {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes slideIn_right {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

@keyframes slideIn_left {
  0% {
    transform: translateX(-180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

@keyframes bound {
  0% { transform:translateY(0); opacity: 0;}
  5% { transform:translateY(0);opacity: 1;}
  10% { transform:translateY(0) }
  20% { transform:translateY(-65px); }
  25% { transform:translateY(0) }
  30% { transform:translateY(-25px) }
  50% { transform:translateY(0) }
  100% { transform:translateY(0);opacity: 1;}
}

@keyframes fuwafuwa {
  from {
    transform: translateY(0) scale(1);
  }
  to {
    transform: translateY(10px) scale(1.0);
  }
}

@keyframes shivering {
  0%, 7% {
    transform: rotateZ(0);
  }
  15% {
    transform: rotateZ(-15deg);
  }
  20% {
    transform: rotateZ(10deg);
  }
  25% {
    transform: rotateZ(-10deg);
  }
  30% {
    transform: rotateZ(6deg);
  }
  35% {
    transform: rotateZ(-4deg);
  }
  40%, 100% {
    transform: rotateZ(0);
  }
}

a {
	text-decoration: none;
}
img {
	vertical-align:bottom;
	border:none;
	width:100%;
}
table {
	border-collapse: collapse;
}
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
  	height: 1px;
  	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
body {
	font-family: Verdana, "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
}
.main {
	max-width:900px;
	widht:100%;
	margin:0 auto;
}
.rela {
	position:relative;
}
.abso {
	position:absolute;
}
.p_center {
	left:0;
	right:0;
	margin:0 auto;
}
img.header_text01 {
	top:0;
	z-index:15;
	
}
img.header_icon01 {
	max-width:370px;
	width:41.1%;
	left:0;
	top:39%;
	z-index:5;
}
img.header_icon02 {
	max-width:390px;
	width:43.3%;
	right:0;
	top:38%;
	z-index:6;
}
img.header_icon03 {
	max-width:430px;
	width:47.7%;
	left:0;
	bottom:0%;
	z-index:10;
}
img.header_icon04 {
	max-width:530px;
	width:58.8%;
	right:0;
	bottom:0%;
	z-index:11;
}
img.btn {
	bottom:10%;
	animation: 2.1s fuwafuwa ease-in-out infinite;
}

img#body02_box01 {
	top:9.5%;
}
img#body02_box02 {
	top:40%;
}
img#body02_box03 {
	bottom:3.5%;
}
footer {
	text-align:center;
	padding:5% 0 10%;
	font-size:min(3vw, 27px);
	font-weight:bold;
	background:#043528;
}


@keyframes big {
 0% {transform:scale(0); transform:rotate(0); opacity: 0;}
 50% {transform:scale(3.2); transform:rotate(360deg); opacity: 0;}
 100% {transform: scale(1); transform:rotate(720deg); opacity: 1;}
}
@keyframes yryr {
0% {transform: translateY(0); }
20% {transform: translateY(-30px) ; }
25% {transform: translateY(0); }
30% {transform: translateY(-15px); }
50% {transform: translateY(0); }
}
@keyframes poyon {
 0% {transform: scale(1.0, 1.0) translate(0%, 0%);}
 50% {transform: scale(0.9, 0.9) translate(0%, -5%);}
 100% {transform: scale(1.0, 1.0) translate(0%, 0%);}
}
@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(5px) scale(0.96);
  }
  50% {
    transform: translateY(-5px) scale(1.0);
  }
}

:root{
    /*----------------
    defaults
    ----------------*/
    --main_color: #48ffb4;/*ãƒšãƒ¼ã‚¸ã®ãƒ¡ã‚¤ãƒ³ã‚«ãƒ©ãƒ¼*/
    --font_size: 1.6rem;/*bodyå†…ã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚º*/

    /* body_background_color */
    --guidelines_background_color: #f2f2f2; /*å…¨ä½“ã®èƒŒæ™¯è‰²*/


    /*---------------- 
    header
    ----------------*/
    --header_background_color: var(--main_color);

    /* guidelines_title */
    --guidelines_title_font_size: 2.5rem;
    --guidelines_title_color: #fff;


    /*----------------
    contents
    ----------------*/
    /* guidelines_contents */
    --guidelines_contents_font_size: var(--font_size);
    --guidelines_contents_font_size_sp: 1.4rem;/*ã‚³ãƒ³ãƒ†ãƒ³ãƒ„éƒ¨åˆ†(600pxä»¥ä¸‹)ã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚º*/
    --guidelines_contents_background_color: #fff;/*--guidelines_background_color(è¦ªè¦ç´ )ã®è‰²ã‚’ç¶™æ‰¿ã—ãŸã„å ´åˆã¯"inherit"ã‚’è¨­å®š*/
    --guidelines_contents_border: 0px solid var(--main_color);/*ãƒœãƒ¼ãƒ€ãƒ¼è¨­å®š*/
    --guidelines_contents_bordor_radius: 0px;/*è§’ä¸¸è¨­å®š*/


    /* guidelines_subtitle */
    --guidelines_subtitle_font_size: 1.15em;
    --guidelines_subtitle_color: var(--main_color);

    /* guidelines_back_btn */
    --guidelines_back_btn_font_size: 1.25em;
    --guidelines_back_btn_background_color: var(--main_color);
    --guidelines_back_btn_color: #fff;
    --guidelines_back_btn_border: 0px solid var(--main_color);/*ãƒœãƒ¼ãƒ€ãƒ¼è¨­å®š*/
    --guidelines_back_btn_border_radius: 20px;/*è§’ä¸¸è¨­å®š*/


    /*----------------
    footer
    ----------------*/
    --footer_background_color: var(--main_color);/*ãƒ•ãƒƒã‚¿ãƒ¼éƒ¨åˆ†ã®èƒŒæ™¯è‰²*/

    --footer_font_size_sp: 1.2rem;/*ã‚³ãƒ³ãƒ†ãƒ³ãƒ„éƒ¨åˆ†(600pxä»¥ä¸‹)ã®ãƒ•ã‚©ãƒ³ãƒˆã‚µã‚¤ã‚º*/
    --footer_color: #fff;
}


/*====================================================
resets
====================================================*/
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

html {
	overflow: auto;         
    font-size: 62.5%;
}

body {
    overflow:hidden;
	font-size:var(--font_size);
    line-height:1.5;
	font-family: ãƒ¡ã‚¤ãƒªã‚ª, Meiryo, 'Hiragino Kaku Gothic Pro', 'ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ Pro W3', 'ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯', Arial, Verdana, sans-serif;
	color:#333;
    text-align: justify;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}

h1,h2,h3,h4,h5 {
    font-size: 100%;
}

a {text-decoration: none; color:#fff;}
a:hover {text-decoration: none;}


/*====================================================
constant_class
====================================================*/
.contents {
    width: 900px;
    margin: 0 auto;
}
.c {
	text-align:center!important;
}
.bold{
    font-weight: bold;
}
.padding_b5p{
    padding-bottom: 5%;
}
.cp {
    font-family: Verdana, "Droid Sans", "ãƒ¡ã‚¤ãƒªã‚ª", sans-serif;
}

/*====================================================
layouts
====================================================*/
/****** header ******/
.guidelines_header{
    background-color: #043528;
}

.guidelines_title {
    padding: 2rem;
    font-size: var(--guidelines_title_font_size);
    color: var(--guidelines_title_color);
}

/****** main ******/
.guidelines_background_color{
    background-color: var(--guidelines_background_color);
}

.guidelines_wrap {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    padding: 5% 0;
}

.guidelines_contents {
    margin:0 auto;
    padding: 4%;
    font-size: var(--guidelines_contents_font_size);
    background-color: var(--guidelines_contents_background_color);
    border-radius: var(--guidelines_contents_bordor_radius);
    border: var(--guidelines_contents_border);
}
.guidelines_contents__border{
    border: var(--main_color) solid 4px;
    border-radius: 10px;
}

/* if data-flex-row="true" */
[data-flex-row="true"] .guidelines_item{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

[data-flex-row="true"] .guidelines_item .guidelines_subtitle{
    flex: 0.5;
    margin-right: 10px;
}

[data-flex-row="true"] .guidelines_item .guidelines_text{
    flex: 1;
}

.guidelines_item:not(:last-child) {
    margin-bottom: 2rem;
}

.guidelines_subtitle {
    font-size: var(--guidelines_subtitle_font_size);
    color: #043528;
}

.guidelines_back_btn {
    display: inline-block;
    padding: 15px 30px;
    border-radius: var(--guidelines_back_btn_border_radius);
    border: var(--guidelines_back_btn_border);
    background-color: #043528;
    font-size: var(--guidelines_back_btn_font_size);
    color: var(--guidelines_back_btn_color);
    font-weight: bold;
}


/******* footer *******/
.guidelines_footer{
    padding: 10px 0;
    background-color: #043528;
    color: var(--footer_color);
}


@media screen and (max-width: 900px) {
/*====================================================
constant_class
====================================================*/
.contents {
    width: 100%;
}

}



@media screen and (max-width: 600px) {
/*====================================================
layouts
====================================================*/
/****** header ******/
.guidelines_title {
    padding: 4%;
}

/****** main ******/
.guidelines_contents {
    font-size: var(--guidelines_contents_font_size_sp);
}

/******* footer *******/
.guidelines_footer{
    font-size: var(--footer_font_size_sp);
}