@charset "utf-8";

*{
    max-width: 100%;
}

h1{
    font-size:140%;
};

h2{
    font-size: 130%;
};

h3{
    font-size: 120%;
}

h4{
    font-size: 110%;
}

@font-face {
    font-family: harenosora;
    src: url('harenosora.otf') format("opentype");}

header{
    font-size: 120%;
    line-height: 200%;
    text-align: left;
    background-color: #ff3c00b2;
    padding: 7px;
    padding-left: 15px;
    font-family:harenosora, 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

header a{
    text-decoration: none;
    color: rgb(255, 255, 255);
    letter-spacing: 10px;
    display: flex;
}

label {
    display: block;
    margin: 0 0 4px;
    padding-top: 10px;
    padding-right: 5px;
    line-height: 1;
    cursor: pointer
}

footer{
    font-size: 70%;
    background-color: rgb(146, 146, 146);
    text-align: center;
    font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
}

.login{
	position:relative;
	height:75px;
    background-color: rgb(17, 0, 114);
    font: 15px/24px sans-serif;
    color: #ffffff;
}

.login a{
    text-decoration: none;
    color: rgb(255, 255, 255);
    letter-spacing: 5px;
    display: flex;
    background-color: rgb(17, 0, 114);
}

.hmenu{
    background-color: rgb(17, 0, 114);
    font: 15px/24px sans-serif;
    color: #ffffff;
}

.hmenu a{
    text-decoration: none;
    color: rgb(255, 255, 255);
    letter-spacing: 5px;
    width: 200px;
    display: flex;
    background-color: rgb(17, 0, 114);
}

.leftlogin{
	position:absolute;
	left:10px;
	top:30px;
}

.rightlogin{
	position:absolute;
	right:10px;
}
  
.box {
    /* 子要素のタイトルを aboslute 配置するため必要 */
    position: relative;
  }
  .box .box_imageLeft {
    position: absolute;
    left: 0;
  }
  .box .box_imageRight {
    position: absolute;
    right: 0;
  }

.titleSection button{
        position: absolute;
        right: 5%;
        height: 10%;
        font-size: 110%;
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
        background-color: aquamarine;
        border-radius: 20px; /*50%にすると楕円になる */
}

main {
    background: #ffffff;
    flex: 1;
    margin-top: 7px;
    margin-left: 10px;
    margin-right: 5px;
    font-family:  harenosora, "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
}

body {
    font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
}

/* Responsive */

@media screen and (max-width:1023px) and (min-width:768px) {
    /* Tablet*/
}

@media screen and (max-width:767px) {
    /* SmartPhone */
}

@media screen and (max-width:767px) and (min-width:375px) {
    /* SmartPhone Wide*/
}

@media screen and (max-width:374px) {
    /* SmartPhone Min-Size*/
}
/* --Responsive-- */

@media screen and (max-width: 767px) and (min-width: 375px) {
    header .titleSection .title{
        font-size: 1.5em;
    }
}
@media screen and (max-width: 374px){
    header .titleSection .title{
        font-size: 1.2em;
    }
}

.cp_iptxt {
	position: relative;
	width: 80%;
	margin: 40px 3%;
    margin: 0 auto;
}

.cp_iptxt input[type='text'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #000000;
	border: 1px solid #1b2538;
	border-radius: 4px;
}

.ef input[type='text']:focus {
	border: 1px solid #da3c41;
	outline: none;
	box-shadow: 0 0 5px 1px rgba(218,60,65, .5);
}

.cp_iptxt input[type='password'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	padding: 0.3em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #000000;
	border: 1px solid #1b2538;
	border-radius: 4px;
}

.ef input[type='password']:focus {
	border: 1px solid #da3c41;
	outline: none;
	box-shadow: 0 0 5px 1px rgba(218,60,65, .5);
}

.styled {
    border: 0;
    line-height: 2.5;
    padding: 0 20px;
    font-size: 1rem;
    text-align: center;
    color: #fff;
    text-shadow: 1px 1px 1px #000;
    border-radius: 10px;
    background-color: rgba(220, 0, 0, 1);
    background-image: linear-gradient(to top left,
                                      rgba(0, 0, 0, .2),
                                      rgba(0, 0, 0, .2) 30%,
                                      rgba(0, 0, 0, 0));
    box-shadow: inset 2px 2px 3px rgba(255, 255, 255, .6),
                inset -2px -2px 3px rgba(0, 0, 0, .6);
}

.styled:hover {
    background-color: rgba(255, 0, 0, 1);
}

.styled:active {
    box-shadow: inset -2px -2px 3px rgba(255, 255, 255, .6),
                inset 2px 2px 3px rgba(0, 0, 0, .6);
}

a.btn_01 {
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #27acd9;
}

a.btn_03 {
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27acd9;
	color: #27acd9;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_03:hover {
	color: #fff;
	background: #27acd9;
}

a.btn_03_02 {
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #d92727;
	color: #d92727;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_03_02:hover {
	color: #fff;
	background: #d92727;
}

a.btn_03_03 {
	display: block;
	text-align: center;
	text-decoration: none;
	padding: 1rem 4rem;
	font-weight: bold;
	border: 2px solid #27d97d;
	color: #27d97d;
	border-radius: 100vh;
	transition: 0.5s;
}
a.btn_03_03:hover {
	color: #fff;
	background: #27d97d;
}

a.btn_12 {
	display: flex;
    justify-content: space-evenly;
    align-items: center;
	text-align: center;
	text-decoration: none;
	padding: 1rem 4rem 1rem 3rem;
	font-weight: bold;
	background: #27acd9;
	color: #fff;
	border-radius: 100vh;
	position: relative;
	transition: 0.5s;
}
a.btn_12::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
a.btn_12:hover {
	background: #44c6f2;
	color: #fff;
}

.open {
	cursor:pointer;
}
#pop-up {
	display: none;
}
.overlay {
	display: none;
}
#pop-up:checked + .overlay {
	display: block;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 9999;
	background: rgba(0, 0, 0, 0.6);
}
.window {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 90vw;
	max-width: 360px;
    padding: 20px;
	height: 300px;
	background-color: #fff;
	border-radius: 4px;
	align-items: center;
	transform: translate(-50%, -50%);
}
.close {
	position: absolute;
	top: 4px;
	right: 4px;
	cursor:pointer;
}