@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
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,sub,sup,var,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,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-size: 16px;
	color:#333;
	font-family: "RodinPro-M", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif !important;
	line-height:1.6;
	background:#fff;
}

header {
	max-width: 1280px;
	margin: 0 auto;
}

header img {
	width: 400px;
}

main {
	width: 940px;
	margin: 0 auto;
	display: block;
}

footer {
	margin-top: 5.0em;
	border-top: 2px solid #454545;
	text-align: center;
	font-size: 0.8em;
	padding: 1.5em;
}

h1 {
	font-size: 1.6em;
	border-bottom: 2px solid #454545;
	text-align: left;
}

h2 {
	font-size: 1.4em;
	border-bottom: 2px solid #454545;
	text-align: left;
	margin-bottom: 1.5em;
}

h1::first-letter {
	font-size: 1.5em;
}

h2::first-letter {
	font-size: 1.4em;
}

.entry_box {
	text-align: center;
	padding: 2.0em 0 1.0em;
}

.terms {
	width: 100%;
	border: 1px solid #DDD;
	margin: 2.0em 0;
	padding: 0.5em;
	text-align: left;
}

.terms_check {
	width: 100%;
	text-align: left;
    background: rgba(0, 0, 0, 0.1); /* 初期状態: 半透明 */
    padding: 1em;
    transition: opacity 0.5s ease-in-out; /* ふわっと表示 */
}

.linebutton {
    text-align: center;
    margin-top: 1em;
    transition: opacity 0.5s ease-in-out;
	pointer-events: none; /* クリック不可 */
}

.linebutton a {
    display: inline-block;
    padding: 0.6em 1.4em;
    background-color: #06C755;
    color: #FFF;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
	font-size: 1.2em;
}

.linebutton.visible {
    opacity: 1; /* 表示状態 */
	pointer-events: auto; /* クリック可能 */
}

#foamentry {
    margin-top: 1em;
	opacity: 0.5;
    transition: opacity 0.5s ease-in-out;
	pointer-events: none; /* クリック不可 */
}

#foamentry.visible {
    opacity: 1; /* 表示状態 */
	pointer-events: auto; /* クリック可能 */
}

input[type="text"],input[type="email"],input[type="number"] {
	width: 100%;
	padding: 0.5em;
	font-size: 1.2em;
}

select {
    appearance: none;
	font-size: 1.2em;
	padding: 0.5em;
}

.selectb {
	appearance: none;
	font-size: 1.2em;
	padding: 0.5em;
	border: none;
	cursor: pointer;
}

.checklist {
	line-height: 1.8em;
}

.adminbody {
	padding: 0em 2.0em;
	width: 100%;
}

.adminbody label {
	padding: 0.5em;
	cursor: pointer;
}

.foamcss {
	width: 85%;
	margin: 0 auto;
}

.foamcss td {
	vertical-align: middle;
	padding: 0.5em;
	text-align: center;
}

.terms_check table{
	width: 100%;
	margin: 1.0em 0;
}

.terms_check table th{
	width: 20%;
	padding: 0.6em;
	font-weight: bold;
}

.terms_check table td{
	padding: 0.6em;
}

.foambutton button{
    display: inline-block;
    padding: 0.6em 1.4em;
	background: #454545;
	border: 0;
    border-radius: 5px;
    font-weight: bold;
	font-size: 1.2em;
	margin-top: 1.5em;
	color: #FFF;
	cursor: pointer;
}

.bank_name {
    display: inline-block;
    padding: 0.6em 1.4em;
    border-radius: 5px;
    font-weight: bold;
	font-size: 2.4em;
	margin-top: 1em;
	border: 2px solid #DDD;
}

.bank_info {
    display: inline-block;
    padding: 0.6em 1.4em;
    border-radius: 5px;
    font-weight: bold;
	font-size: 1.6em;
	margin-top: 1.5em;
	margin-bottom: 1em;
}

table.usertable {
  border-collapse: collapse;
  width: 100%;
  font-size: 14px;
  text-align: center;
}

.usertable th {
  background-color: #0f9ed5;
  color: #fff;
  padding: 8px;
  border: 1px solid #ccc;
}

.usertable td {
  padding: 8px;
  border: 1px solid #ccc;
}

.usertable tr:nth-child(even) td {
  background-color: #e7f0f7;
}

.usertable tr:nth-child(odd) td {
  background-color: #ccdfef;
}

.button_body {
	height: 65vh;
	overflow: hidden;
	overflow-y: auto;
}

.button_box {
	width: 100%;
	background: #e7f0f7;
	padding: 0.8em 1.5em;
}

.button_box button {
	font-size: 1em;
    padding: 0.5em;
	margin: 0 0 0 0.5em;
}

@media screen and (max-width: 740px) {
	
	body {
		font-size: 22px;
	}
	
	header ,main {
		width: 100%;
		max-width: 100%;
	}
	
	main {
		padding: 0 1em;
	}
	
	footer {
		font-size: 0.6em;
	}
	
	input[type="checkbox"] {
		transform: scale(2.0);
		margin-right: 1em;
	}
	
	.terms {
		font-size: 0.8em;
	}
	
	.linebutton a {
		font-size: 1.8em;
	}
	
}











