@charset "utf-8";

/* -----------------------------------------------------------------------------
    
    
            全体の設定
            
             
-------------------------------------------------------------------------------- */
 

body {
    color: #333333;
    background: #1a2f60;
}

    .lp_contents {
        background: #ffffff;
        border-top: solid 10px #1a2f60;
    }
    
    .lp_contents .mark {
		background: linear-gradient(transparent 70%, #a4e1fb 0%);
		font-weight: bold;
	}




/* -----------------------------------------------------------------------------
    
    
            サイトロゴ・フッター
            
             
-------------------------------------------------------------------------------- */
    
    
/* ---- Mobile 〜767px ---- */
@media screen and (max-width: 767px) {
    
    .lp_contents .site_logo {
        text-align: center;
        margin: 30px 0;
    }
    
    .site_footer {
        padding: 45px 10px;
    }
    
    .site_footer .license {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #ffffff;
        font-size: 1.4rem;
        font-weight: 200;
        text-align: center;
    }
    
    
} /* ---- Mobile 〜767px ---- */


/* ---- Tablet/PC 768px〜 ---- */
@media screen and (min-width: 768px) {
    
    .lp_contents .site_logo {
        text-align: center;
        margin: 45px 0;
    }
    
    .site_footer {
        padding: 45px 45px;
    }
    
    .site_footer .license {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #ffffff;
        font-size: 1.4rem;
        font-weight: 200;
        text-align: center;
    }
    
    
} /* ---- Tablet/PC 768px〜 ---- */






/* -----------------------------------------------------------------------------
    
    
            LPコンテンツ
            
             
-------------------------------------------------------------------------------- */


/* ---- Mobile 〜767px ---- */
@media screen and (max-width: 767px) {
    
    .lp_contents br.onlypc {
        display: none;
    }
    
    .lp_contents .main_catch {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #14284d;
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 1.4;
        margin: 35px 10px 20px 10px;
        text-align: center;
    }
    
    .lp_contents .sub_catch {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #cc0057;
        font-size: 2.0rem;
        font-weight: 300;
        margin: 20px 10px 0 10px;
        text-align: center;
        border: solid 1px #cc0057;
    }
    
    .lp_contents .image_01 {
        margin: 30px 10px;
    }
    
    .lp_contents .image_02 {
        margin: 30px 10px;
    }
    
    .lp_contents .image_03 {
        margin: 30px 10px;
    }
    
    
    
    .lp_contents .text_unit {
        margin: 50px 0 0 0;
    }
    
    .lp_contents .heading_style_01 {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #14284d;
        font-size: 2.4rem;
        font-weight: 700;
        margin: 30px 10px 30px 10px;
        text-align: center;
    }
    
    .lp_contents .text_style_01 {
        font-size: 1.60rem;
        text-indent: 1em;
        margin: 1.5em auto;
        padding: 0 15px;
        text-align: justify;
        text-justify: inter-ideograph;
    }
    
    
    .lp_contents .bg_table {
        margin-top: 60px;
        padding: 10px 15px 30px 15px;
        background: #f8f8f8;
    }	
    	
    .lp_contents .table_style_01 {
        font-size: 1.6rem;
        max-width: 800px;
        margin: 0 auto 20px auto;
    }
    
        .lp_contents .table_style_01 tr {
            border-bottom: solid 1px #e6e6e6;
        }
        
        .lp_contents .table_style_01 tr th {
            text-align: left;
            width: 30%;
            padding: 5px 5px;
        }
        
        .lp_contents .table_style_01 tr td {
            text-align: left;
            padding: 5px 5px;
        }
        
        
    
    .lp_contents .contact_form_wrapper {
        padding: 20px 30px 20px 30px;
        background: #f8f8f8;
    }
    
    
    .lp_contents .contact_form {
        margin: 0 auto;
    }
    
} /* ---- Mobile 〜767px ---- */


/* ---- Tablet/PC 768px〜 ---- */
@media screen and (min-width: 768px) {
    
    .lp_contents br.onlysp {
        display: none;
    }
    
    .lp_contents .main_catch {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #14284d;
        font-size: 3.6rem;
        font-weight: 700;
        line-height: 1.5;
        margin: 70px 50px 50px 50px;
        text-align: center;
    }
    
    .lp_contents .sub_catch {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #cc0057;
        font-size: 2.4rem;
        font-weight: 300;
        margin: 50px auto 40px auto;
        text-align: center;
        border: solid 1px #cc0057;
        max-width: 650px;
    }
    
    
    .lp_contents .image_01 {
        max-width: 1100px;
        margin: 50px auto;
        padding: 0 30px;
    }
    
    .lp_contents .image_02 {
        max-width: 1100px;
        margin: 50px auto;
        padding: 0 30px;
    }
    
    .lp_contents .image_03 {
        max-width: 960px;
        margin: 60px auto;
        padding: 0 30px;
    }
    
    
    .lp_contents .text_unit {
        margin: 80px 0 0 0;
    }
    
    
    .lp_contents .heading_style_01 {
        font-family: 'Lato', 'Noto Sans JP', sans-serif;
        color: #14284d;
        font-size: 3.2rem;
        font-weight: 700;
        margin: 40px 30px 40px 30px;
        text-align: center;
    }
    
    .lp_contents .text_style_01 {
        font-size: 1.6rem;
        text-indent: 1em;
        text-align: justify;
        text-justify: inter-ideograph;
        margin: 1.5em auto;
        padding: 0 30px;
        max-width: 850px;
        box-sizing: border-box;
    }
    
    
    .lp_contents .bg_table {
        margin-top: 70px;
        padding: 20px 30px 20px 30px;
        background: #f8f8f8;
    }	
    	
    .lp_contents .table_style_01 {
        font-size: 1.6rem;
        max-width: 800px;
        margin: 45px auto;
    }
    
        .lp_contents .table_style_01 tr {
            border-bottom: solid 1px #e6e6e6;
        }
        
        .lp_contents .table_style_01 tr th {
            text-align: left;
            width: 20%;
            padding: 8px 10px;
        }
        
        .lp_contents .table_style_01 tr td {
            text-align: left;
            padding: 8px 10px;
        }
        
        
    
    .lp_contents .contact_form_wrapper {
        padding: 20px 30px 50px 30px;
        background: #f8f8f8;
    }
    
    
    .lp_contents .contact_form {
        max-width: 900px;
        margin: 0 auto;
    }
    
} /* ---- Tablet/PC 768px〜 ---- */






/* -----------------------------------------------------------------------------
    
    
            フォーム関連
            
             
-------------------------------------------------------------------------------- */


input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}


input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    outline: none;
    border: 1px solid #aaa;
    -webkit-transition: all .3s;
    transition: all .3s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
    box-shadow: 0 0 7px #a4e1fb;
    border: 1px solid #cccccc;
}



#contact_form .ann {
    color: red;
}


/* ---- Mobile 〜767px ---- */
@media screen and (max-width: 767px) {
    
    
    #contact_form {
        margin: 0 10px;
        font-size: 1.6rem;
    }
    
        #contact_form .note {
            margin: 20px 10px;
        }
    
    
    #contact_form .form_table .form_tr:first-child {
        border-top: solid 1px #e6e6e6;
    }
    
    #contact_form .form_table .form_tr {
        border-bottom: solid 1px #e6e6e6;
        padding: 20px 10px;
    }
    
        #contact_form .form_table .form_tr dt {
            margin-bottom: 7px;   
        }
        
        #contact_form .form_table .form_tr dd {
            width: 100%;
        }
        
        #contact_form .form_table .form_tr dd input[type="text"],
        #contact_form .form_table .form_tr dd input[type="email"],
        #contact_form .form_table .form_tr dd input[type="tel"] {
            width: 100%;
            padding: 7px 15px;
            font-size: 1.6rem;
            border-radius: 5px;
            border:solid #d3d3d3 1px;
            box-sizing: border-box;
            background: #ffffff;
        }
        
        #contact_form .form_table .form_tr dd textarea {
            width: 100%;
            padding: 7px 15px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans CJK JP", "Original Yu Gothic", "Yu Gothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Sans Emoji";
            font-size: 1.6rem;
            border-radius: 5px;
            border:solid #d3d3d3 1px;
            box-sizing: border-box;
            background: #ffffff;
        }
    
    #contact_form .submit_btn {
        margin: 45px auto 30px auto;
        text-align: center;
    }
    
        #contact_form .submit_btn input[type=submit] {
        	font-size: 1.6rem;
        	cursor: pointer;
        	color: #ffffff;
        	background: #1a2f60;
        	width: 80%;
        	text-align:center;
        	padding: 10px 0;
        	border-radius:3px;
        	border: solid 1px #1a2f60;
        	transition: .3s;
        	margin: 0 auto;
        }
        
        #contact_form .submit_btn input[type=submit]:hover {
            color: #1a2f60;
            background: none;
            border: solid 1px #1a2f60;
        }
    
    
} /* ---- Mobile 〜767px ---- */


/* ---- Tablet/PC 768px〜 ---- */
@media screen and (min-width: 768px) {
    
    
    #contact_form {
        max-width: 800px;
        margin: 0 auto;
        font-size: 1.6rem;
    }
    
        #contact_form .note {
            margin: 20px 20px;
        }
    
    
    #contact_form .form_table .form_tr:first-child {
        border-top: solid 1px #e6e6e6;
    }
    
    #contact_form .form_table .form_tr {
        border-bottom: solid 1px #e6e6e6;
        padding: 20px 20px;
        display: flex;
    }
    
        #contact_form .form_table .form_tr dt {
            width: 30%;
        }
        
        #contact_form .form_table .form_tr dd {
            width: 70%;
        }
        
        #contact_form .form_table .form_tr dd input[type="text"],
        #contact_form .form_table .form_tr dd input[type="email"],
        #contact_form .form_table .form_tr dd input[type="tel"] {
            width: 100%;
            padding: 7px 15px;
            font-size: 1.6rem;
            border-radius: 5px;
            border:solid #d3d3d3 1px;
            box-sizing: border-box;
            background: #ffffff;
        }
        
        #contact_form .form_table .form_tr dd textarea {
            width: 100%;
            padding: 7px 15px;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans CJK JP", "Original Yu Gothic", "Yu Gothic", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Sans Emoji";
            font-size: 1.6rem;
            border-radius: 5px;
            border:solid #d3d3d3 1px;
            box-sizing: border-box;
            background: #ffffff;
        }
    
    
    #contact_form .submit_btn {
        margin: 45px auto 30px auto;
        text-align: center;
    }
    
        #contact_form .submit_btn input[type=submit] {
        	font-size: 1.6rem;
        	cursor: pointer;
        	color: #ffffff;
        	background: #1a2f60;
        	width: 300px;
        	text-align:center;
        	padding: 10px 0;
        	border-radius:3px;
        	border: solid 1px #1a2f60;
        	transition: .3s;
        }
        
        #contact_form .submit_btn input[type=submit]:hover {
            color: #1a2f60;
            background: none;
            border: solid 1px #1a2f60;
        }
    
    
} /* ---- Tablet/PC 768px〜 ---- */







/* -----------------------------------------------------------------------------
    
    
            項目名
            
             
-------------------------------------------------------------------------------- */


/* ---- Mobile 〜767px ---- */
@media screen and (max-width: 767px) {
    
} /* ---- Mobile 〜767px ---- */


/* ---- Tablet/PC 768px〜 ---- */
@media screen and (min-width: 768px) {
    
} /* ---- Tablet/PC 768px〜 ---- */