@charset "UTF-8";
/* CSS Document */

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change border colour to suit your needs */
input, select {
    vertical-align:middle;
}

/* ---------- COMMON ---------- */

body {
    color: #000000;
    font-family: 'Klee One', cursive;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}

/* link */
a{
    color: #004197;
    text-decoration: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type='checkbox'],
input[type='radio'] {
  display: none;
}

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/* ----- layout ----- */

/* buttons */
header nav ul li div a,
.cal_contents div a,
.story a,
.otetsudai_game a{
    background-color: #ffffff;
    background-position: left 25px center;
    background-repeat: no-repeat;
    border-radius: 25px;
    color: #000000;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0;
    text-align: center;
}

header nav ul li div a:hover,
.cal_contents div a:hover,
.story a:hover,
.otetsudai_game a:hover{
    background-color: #f3f3f3;
}

.img_sutekatsu div a,
.cal_contents div a,
.story a{
    background-image: url(../images/arrow_blu.svg);
    border: solid 4px #004199;
}

.img_otetsudai div a,
.otetsudai_game a{
    background-image: url(../images/arrow_grr.svg);
    border: solid 4px #2c9e39;
}

header nav ul li div a{
    width: 280px;
}

.cal_contents div a{
    width: 200px;
}

.story a{
    margin-top: 25px;
    width: 260px;
}

.otetsudai_game a{
    width: 200px;
}

/* header */
header h1{
    background-color: #004197;
    padding: 15px 0 12px 0;
    text-align: center;
}

header nav ul li div{
    text-align: center;
}

.img_sutekatsu{
    background-color: #e30012;
}

.img_otetsudai{
    background-color: #f0e427;
}

/* information */
.information{
    background-color: #eeeeee;
    border-top: dashed 2px #333333;
    border-bottom: dashed 2px #333333;
}

.info_body figure{
    text-align: center;
}

/* sutekatsu_cal */
.sutekatsu_cal{
    background-image: url(../images/bg_sutekatsu.jpg);
    background-repeat: no-repeat;
}

.sutekatsu_cal h2{
    text-align: center;
}

.sutekatsu_cal p{
    background-color: rgba(255,255,255, 0.7);
    border-radius: 10px;
    padding:10px;
}

/* cal_contents */
.cal_contents h2{
    background-color: #e50012;
    color: #ffffff;
    padding: 10px 0;
    text-align: center;
}

.cal_contents figure ul li{
    list-style: none;
}

.cal_contents div{
    background-color: #e50012;
    text-align: center;
}

/* b_to_b */
.b_to_b h2{
    background-color: #e50012;
    color: #ffffff;
    padding: 10px 0;
    text-align: center;
}

.story dl{
    display: table;
}

.story dl dt,
.story dl dd{
    display: table-cell;
}

.story dl dt{
    width: 4rem;
}

/* otetsudai_game */
.otetsudai_game{
    border-top: dashed 2px #333333;
}

.game_body{
    background-image: url(../images/bg_otetsudai.jpg);
    background-repeat: no-repeat;
}

.game_body h2{
    margin-bottom: 20px;
    text-align: center;
}

.otetsudai_game div:nth-of-type(2){
    background-color: #f0e427;
    padding: 30px 0;
    text-align: center;
}

/* footer */
footer{
    background-color: #004197;
    color: #ffffff;
    padding: 25px 0;
}

footer h2{
    margin-bottom: 15px;
    text-align: center;
}

footer p:nth-of-type(1){
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

footer dl{
    margin-bottom: 10px;
}

footer a{
    color: #ffffff;
}

footer .copy{
    text-align: center;
}

/* mail_form */
.mail_form{
    padding-bottom: 60px;
    padding-top:20px;
}

.mail_form h2{
    background-color: #e50012;
    color: #ffffff;
    border-radius: 25px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0;
    text-align: center;
    width: 21rem;
}

.formTable section{
    border-bottom: dashed 1px #000000;
}

.formTable span{
    color: #e50012;
}

.mail_form select{
    background-image: url(../images/arrow_gry.svg);
    background-repeat: no-repeat;
    background-position: left 5px center;
    border: solid 1px #cccccc;
    padding: 5px 10px 5px 15px;
}

.formTable input[type="text"],
.formTable input[type="email"],
.formTable input[type="tel"],
.formTable textarea{
    border: solid 1px #cccccc;
    padding: 5px;
}

#naire_num{
    margin-right: 5px;
    width: 3rem;
}

.mail_form ul{
    list-style: none;
    padding-top: 15px;
    text-align: center;
}

.mail_form ul li{
    display: inline-block;
    margin: 0 5px;
}

.mail_form input[type="reset"],
.mail_form input[type="button"],
.mail_form input[type="submit"]{
    border-radius: 25px;
    color: #ffffff;
    cursor: pointer;
    padding: 5px;
    width: 7rem;
}

.mail_form input[type="reset"],
.mail_form input[type="button"]{
    background-color: #999999;
}

.mail_form input[type="submit"]{
    background-color: #004197;
}

.form_message{
    margin-bottom: 20px;
}

/* ---------- Mobile ---------- */
@media(max-width:737px) {

/* header */
header nav ul li div{
    padding-top: 20px;
    padding-bottom: 20px;
    width: 380px;
}

header nav ul li div figure{
    height: 205px;
}

.img_sutekatsu div figure img{
    width: 280px;
}

.img_otetsudai div figure img{
    width: 230px;
}

/* information */
.information{
    margin-bottom: 40px;
}

.info_body{
    padding: 20px 1.5rem;
}

.info_body figure{
    margin-bottom: 10px;
}

.info_body figure img{
    width: 300px;
}

/* sutekatsu_cal */
.sutekatsu_cal{
    background-size: 100%;
    background-position: center top 180px;
    margin-bottom: 40px;
}
.sutekatsu_cal h2{
    margin-bottom: 220px;
}

.sutekatsu_cal h2 img{
    width: 240px;
}

.sutekatsu_cal p{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

/* cal_contents */
.cal_contents h2{
    border-radius: 25px;
    font-size: 1.1rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    width: 20rem;
}

.cal_contents p{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    margin-bottom: 25px;
}

.cal_contents figure ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    margin-bottom: 25px;
}

.cal_contents figure img{
    width: 160px;
}

.cal_contents div{
    margin-bottom: 60px;
    padding: 30px 0;
}

/* b_to_b */
.b_to_b{
    margin-bottom: 40px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.b_to_b h2{
    border-radius: 25px;
    font-size: 1.1rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    width: 21rem;
}

.b_to_b div figure{
    margin-bottom: 10px;
    text-align: center;
}

.b_to_b div figure img{
    width: 300px;
}

.story p{
    margin-bottom: 20px;
}

.story h3{
    margin-bottom: 10px;
}

/* otetsudai_game */
.otetsudai_game{
    margin-bottom: 40px;
    padding-top: 30px;
}

.game_body h2{
    margin-bottom: 300px;
}

.game_body{
    background-size: 500px;
    background-position: left top 150px;
    margin-bottom: 40px;
}

.game_body p{
    margin-left: 1.5rem;
    margin-right: 1.5rem;

    background-color: rgba(255,255,255, 0.7);
    border-radius: 10px;
    padding:10px;
}

.game_body h2 img{
    width: 300px;
}

/* footer */
footer h2{
    font-size: 1.2rem;
}

footer p:nth-of-type(1){
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

footer dl{
    text-align: center;
}

/* mail_form */
.mail_form{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}

.mail_form h2{
    font-size: 1.1rem;
    margin-bottom: 30px;
}

.intro{
    margin-bottom: 20px;
}

.formTable section{
    padding: 20px 0;
}

.formTable h3{
    margin-bottom: 10px;
}

.formTable p{
    margin-bottom: 10px;
}

.formTable dl{
    margin-bottom: 10px;
}

.formTable dl dt{
    margin-bottom: 5px;
}

}

/* ---------- Portlate ---------- */
@media(max-width:567px) {}

/* ---------- Tablet / PC ---------- */
@media (min-width: 738px) {

/* header */
header nav ul{
    display: flex;
    justify-content: center;
    width: 100%;
}

.img_sutekatsu,
.img_otetsudai{
    width: 50%;
}

.img_sutekatsu div{
    margin-right: 0;
    margin-left: auto;
}

/* information */
.information{
    margin-bottom: 40px;
}

.info_body{
    display: flex;
}

.info_body figure img{
    width: 400px;
}

/* sutekatsu_cal */
.sutekatsu_cal{
    background-size: 100%;
}

.sutekatsu_cal h2{
    margin-bottom: 20px;
    width: 460px;
}

.sutekatsu_cal h2 img{
    width: 260px;
}

.sutekatsu_cal div{
    width: 460px;
}

.sutekatsu_cal p{
    margin-left: auto;
    margin-right: auto;
    width: 340px;
}

/* cal_contents */
.cal_contents h2{
    border-radius: 25px;
    font-size: 1.5rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    width: 500px;
}

.cal_contents p{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
    width: 620px;
}

.cal_contents figure ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
    width: 710px;
}

.cal_contents figure img{
    width: 230px;
}

.cal_contents div{
    margin-bottom: 60px;
    padding: 30px 0;
}

/* b_to_b */
.b_to_b{
    margin-bottom: 40px;
}

.b_to_b h2{
    border-radius: 25px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    width: 500px;
}

.b_body{
    display: flex;
}

.b_to_b div figure{
    text-align: center;
}

.b_to_b div figure img{
    width: 410px;
}

/* otetsudai_game */
.game_body{
    margin-bottom: 40px;
    background-size: cover;
}

.game_body p{
    margin-left: auto;
    margin-right: auto;
    width: 348px;
}

/* footer */
footer p:nth-of-type(1){
    width: 31rem;
}

footer dl{
    display: table;
    margin-left: auto;
    margin-right: auto;
    width: 29rem;
}

footer dt,
footer dd{
    display: table-cell;
}

footer dt{
    padding-right: 1rem;
    text-align: right;
    width: 12rem;
}

/* mail_form */
.mail_form h2{
    font-size: 1.1rem;
    margin-bottom: 30px;
}

.intro{
    margin-bottom: 30px;
}

.formTable section{
    padding: 30px 0;
}

.formTable h3{
    margin-bottom: 15px;
}

.formTable p{
    margin-bottom: 10px;
}

.formTable dl{
    display: table;
    margin-bottom: 10px;
}

.formTable dl dt,
.formTable dl dd{
    display: table-cell;
}

.formTable dl dt{
    margin-bottom: 5px;
    vertical-align: middle;
    width: 12rem;
}

.formTable textarea{
    height: 10rem;
}

}

/* ---------- Tablet ---------- */
@media(max-width:1022px) and (min-width: 737px){

/* heaader */
header nav ul li div{
    padding-top: 30px;
    padding-bottom: 20px;
    width: 380px;
}

header nav ul li div figure{
    height: 205px;
}

.img_sutekatsu div figure img{
    width: 280px;
}

.img_otetsudai div figure img{
    width: 230px;
}

/* information */
.info_body{
    padding: 20px 1.5rem;
}

.info_body div{
    padding-left: 1rem;
}

/* sutekatsu_cal */
.sutekatsu_cal{
    margin-bottom: 60px;
    padding-top: 30px;
    padding-bottom: 30px;
    width: 100%;
    background-size: cover;
    background-position: right;
}

/* b_to_b */
.b_to_b{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.b_to_b h2{
    font-size: 1.5rem;
}

.story{
    padding-left: 1rem;
}

.story p{
    margin-bottom: 20px;
}

.story h3{
    margin-bottom: 10px;
}

/* otetsudai_game */
.otetsudai_game{
    margin-bottom: 40px;
    padding-top: 30px;
}

.game_body{
    background-size: cover;
    padding-top: 30px;
    padding-bottom: 40px;
    padding-left: 50%;
    width: 50%;
}

.game_body h2 img{
    width: 300px;
}

/* footer */
footer h2{
    font-size: 1.2rem;
}

/* mail_form */
.mail_form{
    margin-left: 1.5rem;
    margin-right: 1.5rem;
}
}

/* ---------- PC ---------- */
@media(min-width:1023px){

/* heaader */
header nav ul li div{
    padding-top: 30px;
    padding-bottom: 20px;
    width: 435px;
}

header nav ul li div figure{
    height: 295px;
    margin-bottom: 5px;
}

.img_sutekatsu div figure img{
    width: 400px;
}

.img_otetsudai{
    width: 50%;
}

.img_otetsudai div figure img{
    width: 330px;
}

/* information */
.info_body{
    margin-left: auto;
    margin-right: auto;
    padding: 20px 0;
    width: 920px;
}

.info_body figure{
    width: 460px;
}

.info_body div{
    padding-top: 20px;
    width: 460px;
}

/* sutekatsu_cal */
.sutekatsu_cal{
    height: 512px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
    padding-top: 30px;
    width: 920px;
}

/* b_to_b */
.b_to_b{
    margin-left: auto;
    margin-right: auto;
    width: 920px;
}

.b_to_b h2{
    font-size: 1.5rem;
}

.b_to_b div figure{
    width: 460px;
}

.story{
    width: 460px;
}

.story p{
    margin-bottom: 20px;
}

.story h3{
    margin-bottom: 10px;
}

/* otetsudai_game */
.otetsudai_game{
    margin-bottom: 60px;
    padding-top: 40px;
}

.game_body{
    height: 510px;
    margin-left: auto;
    margin-right: auto;
    padding-top:45px;
    padding-left: 460px;
    width: 460px;
}

.game_body h2 img{
    width: 348px;
}

/* footer */
footer h2{
    font-size: 1.5rem;
}

/* mail_form */
.mail_form{
    margin-left: auto;
    margin-right: auto;
    width: 550px;
}

}