@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/
body{
	position: relative;
	padding-bottom: 72px;
	min-height: 100vh;
	box-sizing: border-box;
	background: #f6f7f9;
	color: #323232;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
button {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	cursor: pointer;
}
.wrap {
	position: relative;
	margin: 0 auto;
	box-sizing: border-box;
}
.txt_center {
	text-align: center;
}
.fred {
	color: #de0000;
}
main {
	display: block;
}
main p,
main ul {
	font-size: 16px;
}
input[type="text"],
input[type="password"],
input[type="date"] {
	padding: 5px;
}
h1 {
	padding-bottom: 12px;
	border-bottom: 1px solid #969696;
}
h2 {
	color: #283CE5;
	text-align: center;
	font-weight: bold;
	font-size: 2.5rem;
}
table th,
table td {
	word-break: break-word;
}
ul.button {
	margin: 3em 0 0;
	list-style-type: none;
	text-align: center;
}
ul.button li {
	display: inline-block;
}
ul.button li a,
ul.button li button,
main a.button,
button {
	position: relative;
    display: block;
    margin: 0 auto;
    font-weight: bold;
    color: #fff;
}
a.button_close {
	position: relative;
    display: block;
    margin: 0 auto;
    font-weight: bold;
    color: #283CE5;
	background: #fff;
	border: 1px solid #283CE5;
	text-decoration: none;
	width: 130px;
    padding: 11px 0;
    border-radius: 35px;
    text-align: center;
}
ul.button li button.cancel,
ul.button li button[name="rtrn"] {
	color: #283CE5;
	background: #fff;
	border: 1px solid #283CE5;
}
ul.button li a::after,
ul.button li button::after {
	position: absolute;
    left: 85%;
    content: "→";
}
ul.button li a:hover,
main a.button:hover,
ul.button li button.cancel:hover,
button.cancel:hover,
ul.button li button[name="rtrn"]:hover,
a.button_close:hover {
	background: #283CE5;
	color: #fff;
	transition: all .3s;
}
ul.button li button:hover {
	color: #283CE5;
	background: #fff;
	border: 1px solid #283CE5;
	transition: all .3s;
}
body.error ul.button li a::after {
	content: none;
}
ul.button li a,
main a.button {
	width: 260px;
    padding: 11px 0;
    border: 1px solid #283CE5;
    border-radius: 35px;
    background: #fff;
    text-decoration: none;
    font-size: 16px;
    color: #283CE5;
}
ul.button li button,
button {
	width: 260px;
    padding: 11px 0;
    border: 1px solid #283CE5;
    border-radius: 35px;
    background: #283CE5;
    text-decoration: none;
    font-size: 16px;
    color: #fff;
    line-height: normal;
}
body.error main .wrap {
	padding-top: 30px;
}
body.error main p.txt_center {
	margin: 2em 0;
}

/*------------------------------------------ header */
header {
	position: relative;
	margin-bottom: 1em;
	background: #fff;
	box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
}
header div#header_contents {
	position: relative;
	width: 1100px;
	height: auto;
	margin: 0 auto;
}
body.second header div#header_contents {
	height: 60px;
}
body.second header #header_logo {
	width: 27.8%;
}
body.second  header div#login_area .flexbutton {
	display: flex;
	align-items: center;
}
body.second header div#login_area p {
	margin: 0;
	font-size: 16px;
}
body.second header div#login_area p a.button {
	display: flex;
	justify-content: center;
	padding: 10px 0;
	border: 1px solid #283CE5;
	background: #283CE5;
	color: #fff;
	width: 198px;
	border-radius: 50px;
	text-decoration: none;
}
body.second header div#login_area p.menu a.button:hover {
	color: #283CE5;
}
body.second header div#login_area p.inquiry a.button {
	border: 1px solid #283CE5;
	background: #fff;
	color: #283CE5;
}
body.second header div#login_area p.inquiry a.button:hover {
	background: #283CE5;
	color: #fff;
}
body.second header div#login_area p.logout {
	color: #969696;
}
body.second header div#login_area p.logout a {
	text-decoration: none;
}
body.second header div#login_area p.login_name {
	font-size: 1.6rem;
	text-align: right;
	display: inline-block;
	position: relative;
	left: 100px;
	top: 3px;
}

/*------------------------------------------ footer */
footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 1em;
	box-sizing: border-box;
	background: #283CE5;
	color: #fff;
	text-align: center;
	font-size: 14px;
}


/*------------------------------------------ main */

.content_block {
	background: #fff;
	box-shadow: 0px 0px 15px -5px #777777;
	border-radius: 10px;
}
.content_block h2 {
	border: none;
	text-align: center;
	font-weight: bold;
}
table.address td {
	background: #f6f7f9;
}
body#inmntn main p.fred {
	font-weight: bold;
	font-size: 2rem;
	color: red;
}



/*--------------------------------------------------------------------
 *	736px以下用（SP用）の記述
 *--------------------------------------------------------------------*/

@media screen and (max-width: 736px) {
/* 736px以下用（SP用）の記述 */


/*------------------------------------------ header */
header {
	margin: 0;
}
body.second header div#login_area p {
	font-size: 12px;
}
body.second header #header_logo {
	display: block;
	max-width: 334px;
	width: 44%;
	margin: 0 auto 1em;
	padding-top: 0.5em;
}
body.second header div.header_contents img {
	margin-bottom: 1em;
}
body.second header div#login_area {
	position: relative;
	right: 0;
	float: right;
	width: 100%;
}
body.second header div#login_area .flexbutton {
	flex-wrap: wrap;
	justify-content: right;
	width: 95%;
	margin: 0 auto;
}
body.second header div#login_area .flexbutton > p {
	width: 48%;
	margin-bottom: 10px;
}
body.second header div#login_area p a.button {
	width: 70%;
}
body.second header div#login_area p.menu a {
	width: 73%;
	justify-content: left;
	padding-left: 27%;
	background: #283CE5 url(../images/icon_menu.png) no-repeat 12% 10px/18px;
}
body.second header div#login_area p.menu a:hover {
	background: #fff url(../images/icon_menu_blue.png) no-repeat 12% 10px/18px;
	transition: all .3s;
}
body.second header div#login_area p.inquiry {
	margin-left: 4%;
}
body.second header div#login_area p.inquiry a.button {
	justify-content: left;
	padding-left: 30%;
	background: #fff url(../images/icon_inquiry.png) no-repeat 15% 13px/18px;
}
body.second header div#login_area p.inquiry a.button:hover {
	background: #283CE5 url(../images/icon_inquiry_white.png) no-repeat 15% 13px/18px;
	transition: all .3s;
}
body.second header div#login_area p.logout a {
	display: inline-block;
	min-height: 18px;
	padding-left: 21px;        
	background: url(../images/icon_logout.png) no-repeat left top/18px;
}
body.second header div#login_area p.logout {
	text-align: right;
}
body.second header div#login_area p.txt_right {
	position: absolute;
    right: 2.5%;
    top: calc(100% + 1em);
    text-align: right;
}
body#inmntn header {
	padding: 2.66% 0;
}
body#inmntn header #header_logo {
	display: block;
    width: 45%;
    max-width: 334px;
    margin: 0 auto;
}

/*------------------------------------------ footer */


/*------------------------------------------ main */

main {
	width: 95%;
	margin: 0 auto;
	padding-top: 15%;
	padding-bottom: 10%;
}
main h1 {
	margin: 0;
	font-size: 20px;
	text-align: center;
	font-weight: bold;
}
body#inmntn main {
	width: 95%;
    margin: 0 auto;
    padding-top: 15%;
    padding-bottom: 10%;
}
body#inmntn main h1 {
	margin-top: 0;
	margin-bottom: 1em;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
}
body#inmntn main h2 {
	color: #000;
}
body#inmntn main div.wrap {
	border: 3px solid #000;
	text-align: center;
}
ul.button li {
	display: block;
}
ul.button li a {
	width: 100%;
    padding: 11px 0;
    border: 1px solid #283CE5;
    border-radius: 35px;
    text-decoration: none;
    font-size: 16px;
    color: #283CE5;
}
ul.button li:nth-child(n+2) {
	margin-top: 1em;
}
ul.button li button {
	width: 100%;
    padding: 11px 0;
    border-radius: 35px;
    text-decoration: none;
    font-size: 16px;
    background: #283CE5;
    border: 1px solid #283CE5;
    line-height: 1.6;
}

/*------------------------------------------ visible hidden */

.visible-pc {
	display: none !important;
}
.visible-pc-inline {
	display: none !important;
}
.visible-sp {
	display: block !important;

}


/* 736px以上用（SP用）の記述 end */
}


/*--------------------------------------------------------------------
 *	737px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 737px), print {
/* 737px以上用（PC用）の記述 */

body {
	min-height: 100vh;
}
.wrap {
	max-width: 1100px;
	width: 95%;
}
ul.button li:nth-child(n+2) {
	margin-left: 30px;
}


/*------------------------------------------ header */
header {
	padding: 0 1.85%;
}
header #menu_btn {
	right: 300px;
}
header #lgout_btn {
	right: 100px;
}
header .header_contents {
	max-width: 1200px;
	height: 80px;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
    align-items: center;
    justify-content: space-between;
}
header div#login_area .flexbutton {
	display: flex;
	justify-content: right;
	gap: 0 20px;
}
body.second header div#login_area p.menu a {
	justify-content: left;
	width: 140px;
	padding: 10px 0 10px 58px;
	background: #283CE5 url(../images/icon_menu.png) no-repeat 30px 10px/23px;
}
body.second header div#login_area p.menu a:hover {
	background: #fff url(../images/icon_menu_blue.png) no-repeat 30px 10px/23px;
	transition: all .3s;
}
body.second header div#login_area p.inquiry a.button {
	justify-content: left;
	width: 135px;
	padding: 10px 0 10px 65px;
	background: #fff url(../images/icon_inquiry.png) no-repeat 30px 14px/23px;
}
body.second header div#login_area p.inquiry a.button:hover {
	background: #283CE5 url(../images/icon_inquiry_white.png) no-repeat 30px 14px/23px;
	transition: all .3s;
}
body.second header div#login_area p.logout a {
	width: 81px;
	padding: 10px 0 10px 20px;
	background: url(../images/icon_logout.png) no-repeat left 11px/18px;
}
body.second header div#login_area p.txt_right {
	position: absolute;
	right: 0;
    top: calc(100% + 20px);
}

/*------------------------------------------ footer */



/*------------------------------------------ main */
body main {
	max-width: 1200px;
	margin: 0 auto;
	padding-top: 85px;
	padding-bottom: 80px;
}
h1 {
	margin-top: 0;
	text-align: center;
	font-size: 34px;
	font-weight: bold;
}
.content_block {
	margin-bottom: 36px;
	padding: 0 2.5% 5%;
}
.content_block h2 {
	margin-top: 0;
	padding-top: 2.5%;
	font-size: 24px;
}
body#inmntn main {
    max-width: 1400px;
    margin: 0 auto;
    padding-top: 85px;
    padding-bottom: 80px;
}
body#inmntn main h1 {
	margin-top: 0;
    text-align: center;
    font-size: 34px;
    font-weight: bold
}
body#inmntn main h2 {
	margin: 1em 0;
	color: #000;
}
body#inmntn main div.wrap {
	max-width: 1200px;
	border: 3px solid #000;
	text-align: center;
}


/*------------------------------------------ visible hidden */

.visible-sp {
	display: none !important;
}

.visible-pc {
	display: block !important;
}
.visible-pc-inline {
	display: inline !important;
}
.invisible-pc {
	display: none;
}




/* 737px以上用（PC用）の記述 end */
}


/*--------------------------------------------------------------------
 *	印刷用（PC表示）の記述
 *--------------------------------------------------------------------*/
@media print {
/* 印刷用（PC表示）の記述 */



/* 印刷用（PC表示）の記述 end */
}


/*------------------------------------------ clear */
body,
.wrap,
header,
footer {
	zoom: 100%;
}

body:after,
.wrap:after,
header:after,
footer:after {
	content: "";
	display: block;
	clear: both;
}