@charset "UTF-8";

/* 共通 */
html {
    font-size: 100%;
}

body {
	margin: 0;
	padding: 0;
	line-height: 1.7;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}

/* フォント共通 */
h1 {
	font-family: serif;
	color: #432;
}

h2{
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	color: #432;
}


p{
	font-family:"ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", sans-serif;
	color: #432;
}
.btn{
	font-family:"メイリオ", "Meiryo UI", sans-serif;
	font-weight: normal;
}


/* レイアウト */
.wrapper{
	max-width: 1120px;
	margin: auto;
	padding: 0 1.5rem;
}

.align-center {
    text-align: center;
}
p {
	text-align: justify;
}
p_w {
	text-align: justify;
	color: #fffaf0;	/*floralwhite*/
}

/* カラー */
.fwhite {
    color: #FFFAF0;	/*floralwhite*/
}


/* Headerは不要 */

/* Footer */
.page-footer {
    padding-top: .5rem;
}
.logo {
    width: 210px;
}
footer {
    background: #00003F;
}
.copyright {
    text-align: center;
    color: #FFF;
	padding: 50px 0;
	a:link { color: #00bbdd; }
	a:visited { color: #000080; }
	a:hover { color: #ff0000; }
	a:active { color: #ff8000; }
}

.page-title{
	font-size: 3rem;
	text-align: center;
	margin-top: 2rem;
	line-height: 1.4;
}
.page-text{
	font-size: 2rem;
	text-align: center;
	margin-top: 1rem;
	line-height: 1.4;
}

.heading-large{
	font-size: 3rem;
	text-align: center;
	margin-bottom: 1rem;
}

/* カバー設定 */
.cover{
	background-size: cover;
	background-position: center bottom;
	height: 800px;
}

.cover-home{
	background-image: url(../images/waterdrop_and_paperplane.png);
}




/* About部分の設定 */
.about{
	max-width: 736px;
	padding: 0 1.5rem;
	margin: 3rem auto 4rem;
}

.about p{
	margin-bottom: 3rem;
}
/* Notice部分の設定 */
.notice{
	max-width: 736px;
	padding: 0 1.5rem;
	margin: 3rem auto 4rem;
}

.notice p{
	margin-bottom: 3rem;
	color: #fffaf0;	/*floralwhite*/
}


/* フリートライアルボタン */
.btn{
	display: inline-block;
	font-size: 1.5rem;
	background-color: #0bd;
	color: #fff;
	border-radius: 8px;
	padding: .75rem 1.5rem;
	transition: .5s;
}

.btn:hover{
	background-color: #0090aa;
	rotate: -5deg;
}


/* container */
.container{
	display: grid;
/*	grid-template-columns: 1fr 1fr 1fr;*/
	grid-template-columns: repeat(auto-fill, 380px);
 	gap: 80px; 
	grid-template-rows: 380px 420px;
	justify-content: center;
}


.item{
	background: #0bd;
	color: #fff;
	padding: 10px;
}


/* card */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    width: 100%;
    height: 100vh;
    text-align: center;
}

.card {
    width: 380px;
    height: 420px;
    border-radius: 16px;
	margin: 5% auto 0;
	background: url(../images/water_back.png)no-repeat;
    background-size: cover;
    box-shadow: 0px 5px 20px 0px #0090aa;
    position: relative;
}
.card .default {
    padding: 32px;
    width: 100%;
    height: 80;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    transition: .3s;
}
.card .default h3 {
    color: #432;
    font-size: 24px;
    margin-bottom: 16px;
}
.card .default p {
    color: #432;
    font-size: 16px;
}

.card .content {
    background-color: rgba(0, 144, 170, 1.0);
    padding: 32px;
    width: 100%;
    height: 0;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    bottom: 0;
    opacity: 0;
    transition: .3s;
}




/* card hover */
.card:hover .content {
    height: 100%;
    opacity: 1;
}

.card .content h3 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 16px;
}

.card .content p {
    color: #fff;
    font-size: 16px;
}


/* price_table */
.price_table {
	max-width: 700px;
	margin: 0 auto;
	font-family:"メイリオ", "Meiryo UI", sans-serif;
}

.price_table th,
.price_table td {
	padding: 1rem;
	border-right: 1px solid #fff;
	vertical-align: middle;
}

.price_table th:last-child,
.price_table td:last-child {
	border-right: 0;
}

.price_table thead tr {
	background-color: #0090aa;
	color: #FFFFFF;
}

.price_table thead th {
	text-align: center;
}

.price_table tbody tr {
	border-bottom: 1px solid #FFFFFF;
	background-color: #f1f3f8;
	color: #432;
}

.price_table tbody tr:last-child {
	border: none;
}

.price_table tbody th {
	width: 50%;
}

.price_table tbody .price {
	width: 50%;
	text-align: right;
}

/* notice_table */
.notice_table {
	max-width: 1200px;
	margin: 0 auto;
	font-family:"メイリオ", "Meiryo UI", sans-serif;
}

.notice_table th,
.notice_table td {
	padding: 1rem;
	border-right: 1px solid #fff;
	vertical-align: middle;
}

.notice_table th:last-child,
.notice_table td:last-child {
	border-right: 0;
}

.notice_table thead tr {
	background-color: #0090aa;
	color: #FFFFFF;
}

.notice_table thead th {
	text-align: center;
}

.notice_table tbody tr {
	border-bottom: 1px solid #FFFFFF;
	background-color: #f1f3f8;
	color: #432;
}

.notice_table tbody tr:last-child {
	border: none;
}

.notice_table tbody th {
	width: 30%;
}

.notice_table tbody .notice {
	width: 70%;
	text-align: right;
}
.notice_table .date{
	width: 15%;
}
.notice_table .textarea{
	width: 85%;
}



/* notice_admin_table */
.notice_admin_table {
	max-width: 95%;
	margin: 0 auto;
	font-family:"メイリオ", "Meiryo UI", sans-serif;
}

.notice_admin_table .id{
	width: 10%;
}
.notice_admin_table .radio1{
	width: 10%;
}
.notice_admin_table .radio2{
	width: 10%;
}
.notice_admin_table .date{
	width: 10%;
}
.notice_admin_table .textarea{
	width: 40%;
}
.notice_admin_table .bn1{
	width: 10%;
}
.notice_admin_table .bn2{
	width: 10%;
}
.notice_admin_table th,
.notice_admin_table td {
	padding: 1rem;
	border-right: 1px solid #fff;
	vertical-align: middle;
}

.notice_admin_table th:last-child,
.notice_admin_table td:last-child {
	border-right: 0;
}

.notice_admin_table thead tr {
	background-color: #0090aa;
	color: #FFFFFF;
}

.notice_admin_table thead th {
	text-align: center;
}

.notice_admin_table tbody tr {
	border-bottom: 1px solid #FFFFFF;
	background-color: #f1f3f8;
	color: #432;
}

.notice_admin_table tbody tr:last-child {
	border: none;
}

.notice_admin_table tbody th {
	width: 30%;
}

.notice_admin_table tbody .notice {
	width: 70%;
	text-align: right;
}


/* お問い合わせ */
.contact-form {
  margin-bottom: 80px;
}
.contact-form dt {
  font-weight: 500;
  margin-bottom: 10px;
}
.contact-form dt .require {
  color: #e52d27;
  margin-left: 5px;
}
.contact-form dd {
  margin-bottom: 40px;
}
.contact-form dd input[type="text"],
.contact-form dd input[type="email"] {
  width: 100%;
  border: solid 1px #ccc;
  padding: 15px 10px;
}
.contact-form dd textarea {
  width: 100%;
  height: 200px;
  border: solid 1px #ccc;
  padding: 15px 10px;
}
.contact-form .radio-group {
  display: flex;
  align-items: center;
}
.contact-form .radio-group .item-group {
	margin-right: 40px;
}
.contact-form .btn3{
	display: inline-block;
	font-size: 1.5rem;
	background-color: #0bd;
	color: #fff;
	border-radius: 8px;
	padding: .75rem 1.5rem;
	transition: .5s;
}

.contact-form .btn3:hover{
	background-color: #0090aa;
	rotate: -5deg;
}

.contact-form .btn2 {
  text-align: center;
}
.contact-form .btn2 input {
  background-color: #000;
  color: #fff;
  font-size: 14px;
  padding: 15px 50px;
}

.button {
  display       : inline-block;
  border-radius : 5%;          /* 角丸       */
  font-size     : 18pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 11px 44px;   /* 余白       */
  background    : #4da6ff;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 3px #666666;  /* 影の設定 */
  border        : 2px solid #4da6ff;    /* 枠の指定 */
}
.button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #4da6ff;     /* 背景色     */
  background    : #ffffff;     /* 文字色     */
}

.button_small {
	display       : inline-block;
	border-radius : 5%;          /* 角丸       */
	font-size     : 14pt;        /* 文字サイズ */
	text-align    : center;      /* 文字位置   */
	cursor        : pointer;     /* カーソル   */
	padding       : 5px 20px;   /* 余白       */
	background    : #4da6ff;     /* 背景色     */
	color         : #ffffff;     /* 文字色     */
	line-height   : 1em;         /* 1行の高さ  */
	transition    : .3s;         /* なめらか変化 */
	box-shadow    : 2px 2px 3px #666666;  /* 影の設定 */
	border        : 2px solid #4da6ff;    /* 枠の指定 */
  }
  .button_small:hover {
	box-shadow    : none;        /* カーソル時の影消去 */
	color         : #4da6ff;     /* 背景色     */
	background    : #ffffff;     /* 文字色     */
  }

/* Caution */
.contact_wrapper span.caution {
    color: #e0001b;
    font-weight: bold;
    display: none;
    margin-top: 5px;
}
.contact_wrapper span#contactKind_error,
.contact_wrapper span#name_error,
.contact_wrapper span#mail_error,
.contact_wrapper span#companyName_error,
.contact_wrapper span#message_error,
.contact_wrapper span#agreement_error {
    color: #e0001b;
    font-weight: bold;
    display: block;
    margin-top: 5px;
}



/* スマホ */
@media (min-width: 800px){
	.page-title{
		font-size: 5rem;
	}
	.heading-large{
		font-size: 4rem;
	}
	.main-nav{
		font-size: 2rem;
	}
	
	.page-header{
		display: flex;
		justify-content: space-between;
		padding-top: 1.5rem;
	}
	.main-nav{
		font-size: 2rem;
	}
	
}